diff --git a/src/i_sound.h b/src/i_sound.h index 14eb6c2157214a31466361dd483bcaeebef6d891..59d9c438294d33cf03897508287610dea1d24907 100644 --- a/src/i_sound.h +++ b/src/i_sound.h @@ -132,6 +132,18 @@ void I_PauseSong(INT32 handle); */ void I_ResumeSong(INT32 handle); +/** \brief Get MIDI music status + + \return boolean +*/ +boolean I_MIDIPlaying(void); + +/** \brief Get general music status + + \return boolean +*/ +boolean I_MusicPlaying(void); + // // MIDI I/O // diff --git a/src/s_sound.c b/src/s_sound.c index 6e4f9494da467680dbe23122a2742eb961d04d29..092f1c7797e68554a210775b6fe3b0af067d965a 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -1575,3 +1575,13 @@ void S_ResumeAudio(void) // resume cd music I_ResumeCD(); } + +boolean S_MIDIPlaying(void) +{ + return I_MIDIPlaying(); +} + +boolean S_MusicPlaying(void) +{ + return I_MusicPlaying(); +} diff --git a/src/s_sound.h b/src/s_sound.h index bb7cad07126b2f0122d9143a71639eb14869835b..a463b85810f120d1f650950a8b8b34e91d37edf0 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -148,6 +148,12 @@ void S_StopMusic(void); void S_PauseAudio(void); void S_ResumeAudio(void); +// Gets MIDI music status +boolean S_MIDIPlaying(void); + +// Gets general music status +boolean S_MusicPlaying(void); + // // Updates music & sounds // diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 2e9a91ef92e98b62b714296ad85c0b57f67363ae..d94093f81ad861738e00bbdac9d8bc04330a9692 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -497,6 +497,16 @@ void I_ResumeSong(INT32 handle) songpaused = false; } +boolean I_MIDIPlaying(void) +{ + return midimode && music; +} + +boolean I_MusicPlaying(void) +{ + return (boolean)music; +} + // // Digital Music // diff --git a/src/win32/win_snd.c b/src/win32/win_snd.c index e125c721dbcabeaaf39beea44c4157e32abba32a..7b220f12bd4d3941f9098735a635c8ed8ebe941e 100644 --- a/src/win32/win_snd.c +++ b/src/win32/win_snd.c @@ -468,6 +468,16 @@ void I_ResumeSong(INT32 handle) FMR_MUSIC(FMOD_Channel_SetPaused(music_channel, false)); } +boolean I_MIDIPlaying(void) +{ + return midimode && music_stream; +} + +boolean I_MusicPlaying(void) +{ + return (boolean)music_stream; +} + void I_InitDigMusic(void) { }