Esempio n. 1
0
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;
}
Esempio n. 2
0
void MusicPlayer::initialise()
{
	s3eAudioIsCodecSupported(S3E_AUDIO_CODEC_MP3);
	s3eAudioRegister(S3E_AUDIO_STOP, AudioStopCallback, NULL);
}