void CSoundManager::PauseAllSongs(bool bPause) { // alle pausieren // if (bPause == true) { // Musik stoppen // for (int i = 0; i < MAX_SONGS; i++) if (its_Songs[i] != NULL) { if (FMUSIC_IsPlaying(its_Songs[i]->SongData)) FMUSIC_SetPaused(its_Songs[i]->SongData, true); } // Sounds stoppen // for (int i = 0; i < MAX_SOUNDS; i++) if (its_Sounds[i] != NULL) StopWave(i); } // alle wieder spielen lassen // else { // Musik weiter spielen // for (int i = 0; i < MAX_SONGS; i++) if (its_Songs[i] != NULL) { FMUSIC_SetPaused(its_Songs[i]->SongData, false); } } }
static inline VOID M_ResumeMusic(VOID) { if (mod && FMUSIC_GetPaused(mod)) FMUSIC_SetPaused(mod, FALSE); if (fsoundchannel != -1 && FSOUND_GetPaused(fsoundchannel)) FSOUND_SetPaused(fsoundchannel, FALSE); }
static inline VOID M_PauseMusic(VOID) { if (mod && !FMUSIC_GetPaused(mod)) FMUSIC_SetPaused(mod, TRUE); if (fsoundchannel != -1 && FSOUND_IsPlaying(fsoundchannel)) FSOUND_SetPaused(fsoundchannel, TRUE); }
void CSoundManager::PlayPaused(void) { for (int i = 0; i < MAX_SONGS; i++) if (its_Songs[i] != NULL) { if (WasPlaying[i]) FMUSIC_SetPaused(its_Songs[i]->SongData, false); } }
//=========================================================================== // DM_FModExtPause //=========================================================================== void DM_FModExtPause(int pause) { if(!ext_inited) return; //ext_playing = !pause; if(module) FMUSIC_SetPaused(module, pause != 0); if(stream) FSOUND_SetPaused(stream_channel, pause != 0); }
void CSoundManager::PausePlaying(void) { for (int i = 0; i < MAX_SONGS; i++) if (its_Songs[i] != NULL) { WasPlaying[i] = (FMUSIC_IsPlaying(its_Songs[i]->SongData) && FMUSIC_GetPaused(its_Songs[i]->SongData) == false); if (WasPlaying[i]) FMUSIC_SetPaused(its_Songs[i]->SongData, true); } }
bool CSoundManager::StopSong(int Nr, bool Paused) { if (its_Songs[Nr] == NULL) return false; SetSongVolume(Nr, its_Songs[Nr]->Volume); if (Paused == false) FMUSIC_StopSong(its_Songs[Nr]->SongData); // Ganz anhalten ? else FMUSIC_SetPaused(its_Songs[Nr]->SongData, true); // oder nur pausieren ? return true; } // StopSong
bool CSong::Update(void) { // Spielt der Song garnicht ? Dann brauchen wir ihn auch nicht zu bearbeiten =) // if (!FMUSIC_IsPlaying(SongData)) return false; // Fadet der Song grade ? // if (FadingVolume != 0.0f) { Volume += FadingVolume SYNC; // Grenze Überschritten ? if ((FadingVolume > 0.0f && Volume >= FadingEnd) || (FadingVolume < 0.0f && Volume <= FadingEnd)) { // Beim Anhalten des Songs ausschalten oder pausieren ? if (FadingVolume < 0.0f) { if (FadingPaused == false) FMUSIC_StopSong(SongData); // Ganz anhalten ? else FMUSIC_SetPaused(SongData, true); // oder nur pausieren ? } FadingVolume = 0.0f; Volume = float(FadingEnd); } FMUSIC_SetMasterVolume(SongData, (int)(Volume*pSoundManager->its_GlobalMusicVolume/100.0f*2.55f)); } return true; } // Update
bool CSoundManager::PlaySong(int Nr, bool Paused) { if (false == InitSuccessfull) return false; if (its_Songs[Nr] == NULL) return false; if (Paused == false) { FMUSIC_PlaySong(its_Songs[Nr]->SongData); // Von vorne abspielen ? its_Songs[Nr]->FadingVolume = 0.0f; SetSongVolume(Nr, its_GlobalMusicVolume); } else { SetSongVolume(Nr, its_Songs[Nr]->Volume); FMUSIC_SetPaused(its_Songs[Nr]->SongData, false); // oder Pause aufheben ? } CurrentSongNr = Nr; return true; } // PlaySong