bool MarmaladeAmplifier::_initialize() { LOGGER_INFO(m_serviceProvider)( "Starting Marmalade Amplifier..." ); int32 available = s3eAudioGetInt( S3E_AUDIO_AVAILABLE ); if( available == 0 ) { LOGGER_ERROR(m_serviceProvider)("Unavailable..." ); return false; } s3eResult result = s3eAudioRegister( S3E_AUDIO_STOP, (s3eCallback)&s_Amplifier_AudioCallback_Stop, this ); if( result != S3E_RESULT_SUCCESS ) { s3eAudioError s3eAudio_error = s3eAudioGetError(); const char * s3eAudio_string = s3eAudioGetErrorString(); LOGGER_ERROR(m_serviceProvider)("Amplifier::initialize: invalid register callback %d [%s]" , s3eAudio_error , s3eAudio_string ); return false; } SOUND_SERVICE(m_serviceProvider) ->addSoundVolumeProvider( this ); # define MARMALADE_AMPLIFIER_SUPPORT_CODEC( Codec )\ LOGGER_WARNING(m_serviceProvider)("Amplifier::initialize: " #Codec " %s"\ , s3eAudioIsCodecSupported( Codec ) ? "support" : "unsupport!" ) MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_MIDI ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_MP3 ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_AAC ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_AACPLUS ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_QCP ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_PCM ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_SPF ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_AMR ); MARMALADE_AMPLIFIER_SUPPORT_CODEC( S3E_AUDIO_CODEC_MP4 ); # undef AMPLIFIER_SUPPORT_CODEC return true; }
void MusicPlayer::initialise() { s3eAudioIsCodecSupported(S3E_AUDIO_CODEC_MP3); s3eAudioRegister(S3E_AUDIO_STOP, AudioStopCallback, NULL); }