/* * call-seq: * clone( other ) -> music * dup( other ) -> music * * Create a copy of the given Music instance. More efficient * than using #load to load the music file again. * * other:: An existing Music instance. (Music, required) * * Returns:: The new Music instance. (Music) * * **NOTE**: #clone and #dup do slightly different things; #clone will copy * the 'frozen' state of the object, while #dup will create a fresh, un-frozen * object. * */ static VALUE rg_music_initialize_copy( VALUE self, VALUE other ) { RG_Music *musicA, *musicB; Data_Get_Struct(self, RG_Music, musicA); Data_Get_Struct(other, RG_Music, musicB); _rg_music_copy( musicA, musicB ); return self; }