Restore Volume on exit.

Turranius

Member
Supporter
RL Member
When HyperPause starts, I guess it records the volume it had when it entered so that when it exits, it can restore the volume back to what it was, even if the user lowered the volume in HyperPause's "Sound" menu.
This is all good, but it has some bad effects.

For example, if you change the volume in any other way, except for inside HyperPause, while HyperPause is running, the volume in HyperPause does not move. It does not detect the volume change. When you exit, it restores the volume to what it was before you entered, even if you've changed the volume by any other means.

I understand the practice but it kinda breaks "Tur-Another Idle Volume Adjuster" (TAIVA) in a specific scenario.

Example: You have not touched anything for a while so the volume is faded out to 20% by TAIVA. You then click the button to launch HyperLaunch. TAIVA starts to slowly raise the volume again but at the same time, HyperPause loads and checks "current volume" which might be somewhere around 25% by now, depending on how fast it loads.

HyperPause finish loading, TAIVA keeps raising the volume back (to 100 or whatever). Now, when you exit HyperPause, the volume is changed back to 25%.

I understand the thinking of it. If you are watching movies in HyperPause and change the volume, it should, on exit, bring the volume back to what you had for the game. But its flawed if
1: You go into HyperPause to watch something.
2: Damn thats loud. Kids are asleep!. Lower the volume with the volume buttons on your keyboard (From say 100 to 50%).
3: Once you exit HyperPause, it raises the volume to 100%, waking said kids. =)

So I am asking two questions really.

1: Is there an easy way to detect if HyperPause is running? Process or similar? I can then fix it in TAIVA although HyperPause will still get it wrong when the user changes volume with any other means then the HyperPause volume slider.

2: Is it possible to have HyperPause NOT restore the volume on exit if you've modified the volume outside HyperPause? Check current volume and compare it to the volume HyperPause thinks it has. If it differs, something else have changed the volume and it should not be restored on exit. Just making the volume slider in HyperPause detect and update itself to the current volume would also be a step in the right direction (IE, if the slider moves by itself, without the user touching it, update the "I started with this volume" value).

Thanks for any tips.
 
Last edited:

bleasby

RocketLauncher Developer
Developer
Did you tried to disable the option "mute emulator on load" on HLHQ>HyperPause>HyperPause?

HyperPause saves the current volume just to restore it while it is loading the hyperpause menu, and not after the entire hyperpause session. So you will most probably avoid this problem just by disabling that option.

If this is not enough, please add a feature request and when I can I will take a look at adding code to send a windows message every time that hyperpause is running and that hyperpause has exit to allow you to know its state on any third party program.
 

Turranius

Member
Supporter
RL Member
Did you tried to disable the option "mute emulator on load" on HLHQ>HyperPause>HyperPause?

HyperPause saves the current volume just to restore it while it is loading the hyperpause menu, and not after the entire hyperpause session. So you will most probably avoid this problem just by disabling that option.

I'll try that, thanks. But are you sure about that? Check volume, start HyperPause, change the volume with Volume Mixer or otherwise, close HyperPause.
Audio is reset to what it was when you first checked.
 
Top