Esempio n. 1
0
float MarmaladeAmplifier::getDuration() const
{
    int32 s3e_duration = s3eAudioGetInt( S3E_AUDIO_DURATION );

    float duration = (float)s3e_duration;

    return duration;
}
Esempio n. 2
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. 3
0
bool MarmaladeAmplifier::resume()
{
    m_play = true;

    int32 s3eAudio_status = s3eAudioGetInt( S3E_AUDIO_STATUS );

    if( s3eAudio_status == -1 )
    {
        s3eAudioError s3eAudio_error = s3eAudioGetError();
        const char * s3eAudio_string = s3eAudioGetErrorString();

        LOGGER_ERROR(m_serviceProvider)("Amplifier::resume invalid get status %d [%s]"
                                        , s3eAudio_error
                                        , s3eAudio_string
                                       );

        return false;
    }

    if( s3eAudio_status != S3E_AUDIO_PAUSED )
    {
        LOGGER_ERROR(m_serviceProvider)("Amplifier::resume invalid status S3E_AUDIO_PAUSED != %d"
                                        , s3eAudio_status
                                       );

        return false;
    }

    s3eResult result = s3eAudioResume();

    if( result == S3E_RESULT_ERROR )
    {
        s3eAudioError s3eAudio_error = s3eAudioGetError();
        const char * s3eAudio_string = s3eAudioGetErrorString();

        LOGGER_ERROR(m_serviceProvider)("Amplifier::resume invalid s3eAudioResume %d [%s]"
                                        , s3eAudio_error
                                        , s3eAudio_string
                                       );

        return false;
    }

    return true;
}
Esempio n. 4
0
float MarmaladeAmplifier::getPosMs() const
{
    int32 s3e_pos = s3eAudioGetInt( S3E_AUDIO_POSITION );

    if( s3e_pos == -1 )
    {
        s3eAudioError s3eAudio_error = s3eAudioGetError();
        const char * s3eAudio_string = s3eAudioGetErrorString();

        LOGGER_ERROR(m_serviceProvider)("Amplifier::getPosMs invalid get audio position %d [%s]"
                                        , s3eAudio_error
                                        , s3eAudio_string
                                       );

        return 0.f;
    }

    float pos = (float)s3e_pos;

    return pos;
}
Esempio n. 5
0
	float SimpleAudioEngine::getBackgroundMusicVolume()
	{

		return s3eAudioGetInt(S3E_AUDIO_VOLUME) / (float)GEOM_ONE_FP8;
	}
	float SimpleAudioEngine::getBackgroundMusicVolume()
	{

		return s3eAudioGetInt(S3E_AUDIO_VOLUME);
	}
Esempio n. 7
0
int main() {

	IwGxInit();
	IwGraphicsInit();
	IwAnimInit();
	Iw2DInit();

	IwTrace(GHOST_HUNTER, ("Ghost Realm booting..."));
	IwTrace(GHOST_HUNTER, ("Audio channels: %d", s3eAudioGetInt(S3E_AUDIO_NUM_CHANNELS)));

	// Set screen clear colour
    IwGxSetColClear(0x0, 0x0, 0x0, 0xff);

	Splash* splash = new Splash();
	s3eDeviceYield(20);
	{ // Init game
		CameraViewPreInit();

		MapControllerInit();
		MapModelInit();
		MapViewInit();

		CameraControllerInit();
		CameraModelInit();
		CameraViewInit();
	}
	delete splash;

	getGameState()->setGameMode(MAP_MODE);

    while (1) {
        s3eDeviceYield(0);

        int start = clock();

		Audio::GetInstance().Update();

		if (getGameState()->getGameMode() == CAMERA_MODE) {
			CameraControllerUpdate();
			CameraModelUpdate();
			CameraViewUpdate();
		} else if (getGameState()->getGameMode() == MAP_MODE) {
			MapControllerUpdate();
			MapModelUpdate();
			MapViewUpdate();
		}
		
		// Cap FPS
		int yield;
        do {
            yield = FRAME_DURATION - (clock() - start);
            if (yield > 0) {
				s3eDeviceYield(yield);
			}
        } while (yield > 0);
    }

	CameraControllerTerm();
	CameraModelTerm();
    CameraViewTerm();

	MapControllerTerm();
	MapModelTerm();
	MapViewTerm();

	delete getGameState();

	Iw2DTerminate();
	IwAnimTerminate();
	IwGraphicsTerminate();
    IwGxTerminate();

    return 0;
}
Esempio n. 8
0
void MusicPlayer::decreaseVolume()
{
	int vol = s3eAudioGetInt(S3E_AUDIO_VOLUME);
	s3eAudioSetInt(S3E_AUDIO_VOLUME, vol-10);
}