commit ecd6c015cdbf939104fb507d3fbf2e9de44e2f87
Author: Roman Fomin <rfomin@gmail.com>
AuthorDate: Tue Nov 9 11:26:18 2021 +0700
Commit: Roman Fomin <rfomin@gmail.com>
CommitDate: Tue Nov 9 11:26:18 2021 +0700
move declaration of win_midi_stream_opened variable
---
src/i_sdlmusic.c | 7 +++++--
src/i_winmusic.c | 9 ---------
src/i_winmusic.h | 2 --
3 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/src/i_sdlmusic.c b/src/i_sdlmusic.c
index 40ec7c82..37b7a63e 100644
--- a/src/i_sdlmusic.c
+++ b/src/i_sdlmusic.c
@@ -53,6 +53,8 @@ static boolean music_initialized = false;
static boolean sdl_was_initialized = false;
+static boolean win_midi_stream_opened = false;
+
static boolean musicpaused = false;
static int current_music_volume;
@@ -157,6 +159,7 @@ static void I_SDL_ShutdownMusic(void)
if (win_midi_stream_opened)
{
I_WIN_ShutdownMusic();
+ win_midi_stream_opened = false;
}
#endif
Mix_HaltMusic();
@@ -238,7 +241,7 @@ static boolean I_SDL_InitMusic(void)
// Don't enable it for GUS, since it handles its own volume just fine.
if (snd_musicdevice != SNDDEVICE_GUS)
{
- I_WIN_InitMusic();
+ win_midi_stream_opened = I_WIN_InitMusic();
}
#endif
@@ -290,7 +293,7 @@ static void I_SDL_PlaySong(void *handle, boolean looping)
return;
}
- if (handle == NULL)
+ if (handle == NULL && !win_midi_stream_opened)
{
return;
}
diff --git a/src/i_winmusic.c b/src/i_winmusic.c
index f444d112..0477c56b 100644
--- a/src/i_winmusic.c
+++ b/src/i_winmusic.c
@@ -25,12 +25,6 @@
#include "m_misc.h"
#include "midifile.h"
-// Public data
-
-boolean win_midi_stream_opened = false;
-
-// Private data
-
static HMIDISTRM hMidiStream;
static HANDLE hBufferReturnEvent;
static HANDLE hExitEvent;
@@ -352,7 +346,6 @@ boolean I_WIN_InitMusic(void)
hBufferReturnEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
hExitEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
- win_midi_stream_opened = true;
return true;
}
@@ -505,8 +498,6 @@ void I_WIN_ShutdownMusic(void)
CloseHandle(hBufferReturnEvent);
CloseHandle(hExitEvent);
-
- win_midi_stream_opened = false;
}
#endif
diff --git a/src/i_winmusic.h b/src/i_winmusic.h
index e37f9bef..45c381ca 100644
--- a/src/i_winmusic.h
+++ b/src/i_winmusic.h
@@ -29,8 +29,6 @@ void I_WIN_RegisterSong(char* filename);
void I_WIN_UnRegisterSong(void);
void I_WIN_ShutdownMusic(void);
-extern boolean win_midi_stream_opened;
-
#endif
#endif