SDL_mixer
SDL_mixer copied to clipboard
Pause music pauses all sounds: audio:pauseBackgroundTrack mutes all sound in windows
This bug report was migrated from our old Bugzilla tracker.
Reported in version: 1.2.12 Reported for operating system, platform: Windows 7, x86
Comments on the original bug report:
On 2013-03-22 09:30:03 +0000, Maarten Peters wrote:
I'm one of the developers of CorsixTH (http://code.google.com/p/corsix-th/) and we use SDL_mixer for the in-game sounds and music.
We're currently having the problem that when we pause the music througt the ''jukebox'' in-game (Options>Jukebox) we also don't here the sounds from patients and doctors (like doors, ringing of the phone etc.) See here: http://code.google.com/p/corsix-th/issues/detail?id=1503&q=music.
One of our developers has disabled this option, because of this bug: http://code.google.com/p/corsix-th/source/detail?r=2055. Make the changes at audio.lua undone and you see this bug to occur.
On 2013-03-23 16:10:49 +0000, Sam Lantinga wrote:
Is this problem specific to Windows 7? Is midiOutSetVolume() setting the system wide volume? If that's the case, the only solution I can think of is to use the built-in timidity support for software midi instead.
On 2013-03-23 16:28:22 +0000, Maarten Peters wrote:
No, this bug also occurs on Windows Vista. I asked the question to one of the other developers.
On 2013-03-23 17:31:03 +0000, Maarten Peters wrote:
The answer: Yes it is and it was a known issue. I think the set volume in that funtion may not be necessary but there was a comment that it works around another bug.
On 2013-03-24 05:03:30 +0000, Maarten Peters wrote:
''Our pause function does set the volume to work around another bug. I don't know if the other bug still exists so maybe we can get rid of just that line.'' Maybe this resolves our problem?
On 2019-08-21 10:30:03 +0000, Vitaly Novichkov wrote:
midiOutSetVolume()
Yeah, for this thing I have this ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=3495 The only way to fix this - make a workaround: instead of touching
midiOutSetVolume()
call, send MIDI volume to all channels and apply a factor to ALL volume change events (CC7). So, this will need tracking of all CC7 are passing to correctly send the changed volume to MIDI output.
Related to #213