foxygit / doom Log in
commit 54fd320a874cabeaf15115432bfdd172d88e0551
Author:     Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Wed Mar 13 08:51:25 2019 +0100
Commit:     Fabian Greffrath <fabian@greffrath.com>
CommitDate: Wed Mar 13 08:51:30 2019 +0100

    sound: Initialize SDL_Mixer for digital/MIDI music playback

    This will lead to Mix_GetMusicDecoder() actually returning the
    avaiable music backends and thus get midiproc back to working again.

    Fixes #1147
---
 src/i_musicpack.c | 3 +++
 src/i_sdlmusic.c  | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/src/i_musicpack.c b/src/i_musicpack.c
index c64465b0..9ee65f4e 100644
--- a/src/i_musicpack.c
+++ b/src/i_musicpack.c
@@ -1148,6 +1148,9 @@ static boolean I_MP_InitMusic(void)
         music_initialized = true;
     }

+    // Initialize SDL_Mixer for digital music playback
+    Mix_Init(MIX_INIT_FLAC | MIX_INIT_OGG | MIX_INIT_MP3);
+
     // Register an effect function to track the music position.
     Mix_RegisterEffect(MIX_CHANNEL_POST, TrackPositionCallback, NULL, NULL);

diff --git a/src/i_sdlmusic.c b/src/i_sdlmusic.c
index 35c50275..1ece7e2c 100644
--- a/src/i_sdlmusic.c
+++ b/src/i_sdlmusic.c
@@ -194,6 +194,9 @@ static boolean I_SDL_InitMusic(void)
         }
     }

+    // Initialize SDL_Mixer for MIDI music playback
+    Mix_Init(MIX_INIT_MID);
+
     // Once initialization is complete, the temporary Timidity config
     // file can be removed.