Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Catoptromancy

sdl_mixer and music controls

Recommended Posts

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.

Share this post


Link to post

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.

Share this post


Link to post

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?

Share this post


Link to post

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).

Share this post


Link to post

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.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×