float MarmaladeAmplifier::getDuration() const { int32 s3e_duration = s3eAudioGetInt( S3E_AUDIO_DURATION ); float duration = (float)s3e_duration; return duration; }
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; }
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; }
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; }
float SimpleAudioEngine::getBackgroundMusicVolume() { return s3eAudioGetInt(S3E_AUDIO_VOLUME) / (float)GEOM_ONE_FP8; }
float SimpleAudioEngine::getBackgroundMusicVolume() { return s3eAudioGetInt(S3E_AUDIO_VOLUME); }
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; }
void MusicPlayer::decreaseVolume() { int vol = s3eAudioGetInt(S3E_AUDIO_VOLUME); s3eAudioSetInt(S3E_AUDIO_VOLUME, vol-10); }