/* * call-seq: * load( filename ) -> music * * Load the given audio file. * Supported file formats are WAVE, MOD, MIDI, OGG, and MP3. * * filename:: Full or relative path to the file. (String, required) * * Returns:: The new Music instance. (Music) * May raise:: SDLError, if the music file could not be loaded. * */ static VALUE rg_music_load( VALUE klass, VALUE filename ) { RG_Music *music; VALUE s = rg_music_alloc( cMusic ); Data_Get_Struct( s, RG_Music, music ); char *file = StringValuePtr( filename ); int result = _rg_music_load( music, file ); if( result == -1 ) { rb_raise(eSDLError, "Could not load Music file '%s': %s", file, Mix_GetError()); } return s; }