Catoptromancy Posted September 8, 2009 I noticed every port that uses sdl_mixer has its in-game music volume settings control the system volume. 1 notch above mute in-game is too loud, and mute is just mute. If I set 1 notch above mute in-game and go to synth controls to lower it, its fairly nice. But when music loops or restarts from map change the game/sdl forces my OS'es synth back up. Scripting a loop that keeps reseting the OS'es music volume to where I want it seems like a solution. But if a solution that ludicrous can be made, then something must be wrong with the volume control method. Would it ever be possible to have sdl_mixer not touch system settings. Dosbox and zdoom based ports are the only things I can play without constantly messing with volume...or getting the volume right in-game and then all my other apps need volume constantly messed with. Edit> This only happens in Windows. I am using XP. Also noticed Odamex only resets system volume on startup. So it can use a nice volume level for a long game. Guess ill keep testing sdl ports and see what happens. 0 Share this post Link to post
andrewj Posted September 8, 2009 Try EDGE, especially using the Timidity music driver (which can be changed in the Sound Options menu). You will need gus patches of course. EDGE does not use SDL_mixer. LINK: http://edge.sourceforge.net 0 Share this post Link to post
Quasar Posted September 8, 2009 The issue of changing the system-wide volume setting, and the issue of the 1 volume == loud, 0 volume == mute are actually two separate things. The former occurs because of SDL_mixer lameness. The latter I have had explained to me as an issue that frequently occurs in Windows XP due to a bug during the installation of sound drivers and has no known fix. 0 Share this post Link to post
myk Posted September 8, 2009 SDL_mixer does other weird stuff on my (Windows 98) system. Everything works fine in PrBoom, for example, but if I open a DOS prompt and start up Doom, there is no music. The system slider for MIDI (which I have at max volume) hasn't been moved and this does not affect things outside of DOS. To have music in Doom again, I modify the system MIDI sound volume (I usually move it down a bit and back to max.) I also noticed that if after SDL_mixer has done its thing I open a MIDI file in Media Player, it will play, and MIDI in DOS will be restored. Restarting the computer will also restore MIDI sound to DOS, of course. EDIT: Hmm, apparently it's not affecting DOS in general as, for instance, Wolf3D, Boom and Duke3D all have music after PrBoom+ is executed, but Doom doesn't. WTF? 0 Share this post Link to post
Quasar Posted September 9, 2009 Something you must understand about MCI on Windows 98 is that it is a legacy 16-bit subsystem more or less unmodified since Windows 3.1. It's a piece of shit, basically. I am guessing that it was reimplemented for the NT kernel, but it still sucks even on XP. You can follow the documentation to the absolute letter and end up with a program that crashes (on 98, the entire system, on XP just the program itself usually). 0 Share this post Link to post
myk Posted September 9, 2009 Yeah, piece of shit, but at least Doom's sound works without lagging the game, when it's not conflicting with something, unlike in the wonderful NT kernel :p Still, this is probably something that can be narrowed down. Not that I'm too concerned, as it's a minor thing and I'm aware the SDL ports are meant more for newer systems. Or maybe such input may provide a bit more light on some of the things SDL_mixer isn't doing so well, somehow. 0 Share this post Link to post