Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SFX/Music Volume controls both affect program mixer volume #53

Open
1 of 2 tasks
trigger-segfault opened this issue Aug 30, 2022 · 0 comments
Open
1 of 2 tasks
Labels
audio Relates to playing sound effects, music, and movies. game data bug Misbehavior on interaction with wad files or game assets. original bug This was an issue in the original game already. partially solved The issue is solved, but not in its entirety.

Comments

@trigger-segfault
Copy link
Owner

trigger-segfault commented Aug 30, 2022

Describe the issue
Changing the Music or SFX volume from the options menu only changes the Windows Mixer volume. This affects the volume of the entire program, and also defeats the point of separating Music and SFX channels. It's assumed that this issue started on newer OSes (I read the change happened some time around Vista).

Expected behaviour
Changing the Music or SFX volume should independently change only that channel of audio. Also it's terrible practice to change volume level through the windows mixer (unless it's a master volume control), so ideally that shouldn't be happening either.

Steps to reproduce

  1. Run OpenLRR or LegoRR.
  2. Right click on the Windows volume tray icon and select Open Volume mixer.
  3. Enter a level in-game.
  4. Open the options menu.
  5. Change the SFX or Music volume sliders and observe them changing the mixer volume for OpenLRR/LegoRR. Also note that SFX will change music volume, and Music will raise/lower the SFX clicking sound from changing the slider.

Additional information

  • Time played this session: Any
  • Level: Any
  • Game speed: 0%-300%
  • Graphics fix: dgVoodoo 2.55.4
  • Using mods: None

Steps to fix

  • Isolate SFX volume
  • Isolate Music volume

Possible solutions
This will essentially require ripping out and replacing most of the DirectSound and MCI audio functionality. MCI needs to be replaced, since it just uses waveOut, and that uses the program's master volume. Meanwhile DirectSound's primary sound buffer also affects the entire program's volume.

It may be possible to load all sounds under a secondary buffer duplicated from the primary one, this way setting the volume of the secondary (shouldn't?) affect the master volume. Music would also need to be moved to DirectSound or some other API that allows volume control, this means we'd need to eliminate original disc music support from OpenLRR!!! And also decide on a music format to support, and include the associated library. Worst case is we just switch to wav format.

@trigger-segfault trigger-segfault added original bug This was an issue in the original game already. epic Will need multiple commits to solve and probably a long time. audio Relates to playing sound effects, music, and movies. game data bug Misbehavior on interaction with wad files or game assets. and removed epic Will need multiple commits to solve and probably a long time. labels Aug 30, 2022
@trigger-segfault trigger-segfault added the partially solved The issue is solved, but not in its entirety. label Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audio Relates to playing sound effects, music, and movies. game data bug Misbehavior on interaction with wad files or game assets. original bug This was an issue in the original game already. partially solved The issue is solved, but not in its entirety.
Projects
None yet
Development

No branches or pull requests

1 participant