Another Idle Volume Adjuster

Turranius

Member
Supporter
RL Member
Yeah your focus issues are probably not related to TAIVA at all, sorry =( If anything, it was related to the old VolumeUp and VolumeDn keys that causes your volume to be shown and might take focus. But if that was the case it would have beee fixed in 1.4, so I don't know.
I do not want to go back to that because it used a 3rd party DLL to control the volume and I had no idea what it was actually doing behind the scene.

Anyway, beta 5 is on the FTP. You can set ManualVolumeUseAPI=False and ManualVolumeShowProgressBar=False to go back to the old ways of manually moving the volume.
I also made the volume slider thinner by default to not take up half the screen. It also uses the IdleFlashTransparency setting to be transparent. New settings to control how it looks below.

And to be honest, I'm really sick of Hyperspin. Its a piece of crap. Sometimes it just stops like its loosing focus when it has not (My check program still says its in focus).

Code:
ManualVolumeUseAPI=
Normally, when manually changing the volume up and down, we use the Windows API for that. If you'd rather use the alternate method to do that
set this to False. It will then use the internal system to raise and lower volume. When False, there is a good chance that the volume will be
displayed on screen by your sound drivers. Some people prefer to show that. Matter of taste.
Valid: True/False
Default: False

The volume slider shown for IdleFlashProgressBar=True and ManualVolumeShowProgressBar is now thinner and looks better IMO.


IdleFlashProgressBarWidth=
This controls the width in pixels of the IdleFlashProgressBar.
Default: 665

IdleFlashProgressBarHeight=
This controls the Height in pixels of the IdleFlashProgressBar.
Default: 19

IdleFlashProgressBarLeft=
How many pixels from the left should the IdleFlashProgressBar appear? Set -1 for the center of the screen.
Default: -1

IdleFlashProgressBarTop=
How many pixels from the top should the IdleFlashProgressBar appear? Set -1 for the center of the screen.
Default: -1

IdleFlashProgressBarVertical=
Set this to True if you want a vertical volume bar instead of the default horizontal one.
Note that if changing this, you should switch the IdleFlashProgressBarWidth and IdleFlashProgressBarHeight 
values around of course.
Default: False

If you want to give the new volume display another chance, leave ManualVolumeShowProgressBar=True
I'm not sure how your old volume display looked like, but this should make it look like mine does:

IdleFlashProgressBarWidth=20
IdleFlashProgressBarHeight=300
IdleFlashProgressBarLeft=5
IdleFlashProgressBarTop=-1
IdleFlashProgressBarVertical=True

If you want to see something cool, try
IdleFlashProgressBarWidth=1920
IdleFlashProgressBarHeight=1200
IdleFlashProgressBarLeft=-1
IdleFlashProgressBarTop=-1
IdleFlashProgressBarVertical=False

where 1920x1200 is your monitor resolution.. =)

Or perhaps

IdleFlashProgressBarWidth=1920
IdleFlashProgressBarHeight=20
IdleFlashProgressBarLeft=-1
IdleFlashProgressBarTop=0
IdleFlashProgressBarVertical=False

Edit: New beta5 if you're already downloaded it. IdleFlashProgressBar should not flash anymore.
 
Last edited:

Metalzoic

New member
RL Member
Damn dude. That's some changelog.
Do you mean that this one lets me choose how it controls the volume (old-style and new-style) and if it displays your volume bar or the Windows one?
And you made it so we can custom shape it ourselves? Ha! That is pretty awesome. Basically Like having 1.3 and 1.4 in the same app?

I'll test it out now! Thanks!
 

Metalzoic

New member
RL Member
So far this one seems awesome!

Being able to switch between both volume control versions is great and both seem to work equally well and smooth.
Your changes to your volume bar are great, I used your settings and it is hugely improved over the prior version. Looks good, out of the way, no flicker etc...
Personally I'll use my built in version which is similar (top right corner, small vert bar with volume number also), but having the option to choose & change is badass.

I've now done many restarts and reboots both ways with no issues. Not one.
So far:
-Both wake from idle perfectly and neither steals focus if you try to raise volume first while they're idle.
-Both restart/reboot from mute perfectly.
-Neither seems to cause HS to lose focus if you adjust the volume before interacting with HS after restart/reboot.

I've also found a workaround for the focus issues. I just set TAVIA to launch HyperSpin, but with a full 60 second delay. This seems to push it out far enough that whatever battle TAVIA and Steam do doesn't interfere with it. This also prevents the HS stuttering during this focus battle.

Anyway so far so good. Great job and thanks!
 

Turranius

Member
Supporter
RL Member
Awesome. Glad you like it. We should both be glad that we like fiddling with this to make it perfect. Personally I love to script TAIVA =) And I'm home sick if you're wondering how I have time for this, heh.

Hm, do you want a emergency button for forcing Hyperspin back in focus so you don't have to alt-tab? Guess its not really needed anymore thought. Just something I thought of now.

I'll let you test it for a while. I've been wanting to do a "Configure" option in the traybar so you can change stuff without editing the Settings.ini file. Perhaps I'll start with a GUI for that.

I'd also like to clean up my program for showing focus. Might help someone find what is causing Hyperspin to lose focus.
 

Metalzoic

New member
RL Member
I would love to be able to map a button to force HS back into focus. That would be so much has better than having to get out the keyboard when it happens. Plus I could just tell somebody else playing to "hold down the P1 button and tap left on the P2 joystick"

Sent from my SM-G935V
 

Metalzoic

New member
RL Member
Only had one issue happen so far. While playing Killer Instinct TAVIA quit responding again.
It shows it running, but trying to change volume gave no response and no volume bar.
Reloading the settings.ini without closing it didn't fix it.
Closing the process entirely and restarting it also didn't fix it. I had to restart the cab and it all worked perfectly again.

I know this has to do with that game and most likely my bound keyboard controls for it and not TAVIA, but I thought I'd mention it anyway.

Other than that it's been running non-stop since yesterday morning. This latest version also fixes a small issue I had with 1.0.0. Every once in awhile that version would wake itself up from idle for no reason with no one using it. This one only seems to ever wake up if its supposed to wake up.
 

Turranius

Member
Supporter
RL Member
Closing the process entirely and restarting it also didn't fix it. I had to restart the cab and it all worked perfectly again.

That sounds... scary...

I've put 1.4.0b6 on the FTP. I've been playing with a config GUI for the most basic settings. More advanced stuff will have to be done in the ini itself for now. You get here by either having no Settings.ini (new install) or selecting Configure from the traybar. I know you don't use my volumebar, but here you can test it live.

TAIVAOptions1.jpg

I've also just started playing with your emergency button for fun. Right now you have to hold Shift-Home for at least 2 seconds, when TAIVA is not doing something else, and it will focus the window called "Hyperspin". If it works fine I'll add configuration options for it. Don't do this while running something that Hyperspin has started though (game in an emulator) or it will probably not take it too well.
I have a feeling this function could cause more problem then its worth if you press it at the wrong time consider how sensitive HyperSpin is =)
 
Last edited:

Metalzoic

New member
RL Member
Turns out that wasn't scary at all. Looks like the Shift key input got locked on so my keypress was sending the wrong keystroke is all. 100% not TAVIA related, just tricky to figure out.

Pretty crazy how much you've mutated this program just within the past few days.
 

Turranius

Member
Supporter
RL Member
Ok, I'm done for this version and put 1.4.0rc1 on the FTP. Please have it a go and see that everything still works. I've added the configuration options for your emergency key, but its not added automatically to the INI file.

Here is the Readme for that part:
Code:
ForceFocusSetup=
This function is not added by default to the Settings.ini file. If you want to use it, you have to add it manually
in the [Advanced] section.
It allows you to hold two keys for a number of seconds to force a window/program into focus. It was created to force
HyperSpin back into focus if it got lost somehow, but can be used for any window that has a title really. Kind of like
an emergency key.
It requires 4 settings, separated by |.
Key1|Key2|Seconds|WindowsTitle

In the Extras folder, read the KeyList for ForceFocusSetup.txt file to see the keyvalues to use for Key1 and Key2.
Example: ForceFocusSetup=0x12|0x24|2|HyperSpin
That means, if you hold ALT and HOME for 2 seconds, it will force focus back to a window titled "HyperSpin".

Default: Not set at all. Might cause more problems then its worth so..

Changelog got a bit bigger then usual..

Code:
1.4.0	 2016-04-13
	Chg:	Big change. Now uses the Windows API to control volume and mute. Works a lot better as it can now
                check, for example, if mute is on or not. Plus no more external dll files and similar to manage.
		Thanks to bleasby for the idea =)

	Fix:	Fixed crash that occured when the volume was at 0% during startup.

	Chg:	Added a GUI for configuring the basic options. This will be shown at first startup or if no Settings.ini
		file exists. You can also reach it by clicking the TAIVA icon in the traybar and selecting "Configure".
		I moved the Edit and Reload Settings.ini functions from the trayicon in here as well. 
		You can change all the settings in here without having to restart the application, and test how your 
		transparency / volume bar will look etc.
		You may test your settings for a while without saving with the "Apply and Test" button.
		If you like your new settings, do not forget to click "Apply and Save".

		While testing stuff in there, you can always click the "Reapply Settings.ini" button to go back to the
		settings in your Settings.ini directly, provided you have not yet clicked "Apply and Save".

	Chg:	Moved all the ManualVolume* settings from the [Advanced] section to a new [Manual Volume] section.
		They will be created there automatically with the default settings if you do nothing. The ManualVolume
		settings in [Advanced], if you leave them there, will do nothing. I suggest you move them over.

	Chg:	If moving the volume down to 0%, it will automatically mute.
		Basically, there is a new check in place. If volume is at 0%, mute. If the volume is not at 0%, always
		make sure it is not muted.

	Chg:	If you shut down your computer/cab while it is in idle mode, it will do one quick attempt to restore
		the volume. That way, it should not start up muted or at low volume next bootup.
		The same is true if you close TAIVA while it is muted or in the process of restoring the volume.

	Add:	Added a [ProgramLaunch] section to Settings.ini. You can have TAIVA automatically launch other
		programs after it is done with its initialization. Once again, see Readme.txt.
		If upgrading, you'll have to add the [ProgramLaunch] section yourself somewhere in the INI file.

		Not sure if this function will ever be used but here it is..

	Chg:	FadeOutNow hotkey disabled while volume is fading down so you can not press it twice by mistake.

	Chg:	Manual Volume Up and Down no longer uses the built in function in Autoit to raise or lower the volume so
		it no longer counts as a keypress. They now use the Windows API as the rest of the system.

		This is unless you are on Windows XP. If using that old OS, it still uses the built in functions. No
		Windows API functions are used if you're on XP.

		If you would rather use the old system that actually press the VolumeUp and VolumeDn buttons instead of the
		Windows API, I've added ManualVolumeUseAPI to the Settings.ini. Normally its True, but change it to False to
		go back to using the old system.

	Chg:	Manual Volume Up and Down buttons are now disabled while in idle mode or while its restoring the volume.

	Add:	New [Advanced] option: ManualVolumeShowProgressBar=2
		A volume slider will be displayed when using the Volume Up and Volume Down buttons. This is the number of
		seconds to show this slider. Set it to False to disable it.
		The slider has the same look as when its fading in/out, providing you have IdleFlashProgressBar=True

	Chg:	The volume slider shown for IdleFlashProgressBar and ManualVolumeShowProgressBar is now thinner and
		looks better IMO. This is the new default setting anyway. I've added 5 options to it so you can make
		it look however you want:
		IdleFlashProgressBarWidth=665
		IdleFlashProgressBarHeight=19
		IdleFlashProgressBarLeft=-1
		IdleFlashProgressBarTop=-1
		IdleFlashProgressBarVertical=False

		You can reach these settings in the new GUI and even test it out from there. You can even have the
		bar cover the whole screen by setting your screen resolution to IdleFlashProgressBarWidth and 
		IdleFlashProgressBarHeight. Makes for a rather cool effect.

	Chg:	The volume slider shown for IdleFlashProgressBar and ManualVolumeShowProgressBar does now use the
		IdleFlashTransparency setting to be transparent. I do not think it needs its own transparency setting.
		Anyone objects?

	Add:	Added option ForceFocusSetup to the [Advanced] section. 
		It is not added to your Settings.ini automatically. It takes two keys that you hold for a number of seconds
		to force a specific Windows Title back into focus.
		See Readme if this is something you need, otherwise don't bother.
		It was created for those times that HyperSpin lost focus for some reason.
 

Metalzoic

New member
RL Member
So far so good. I haven't tried the re-focus thing yet though.

The only issue I see with this version is the GUI. It only gives a few options and people may think they are stuck with those. For example I couldn't set my idle volume to 0 or my startup volume to 8.



Sent from my SM-G935V
 

Turranius

Member
Supporter
RL Member
You can. Those fields are not locked so you can type in them as well as select a predefined value from the dropdown list. I guess I have to explain that somewhere in the GUI =)

Thanks for testing it.
 

Turranius

Member
Supporter
RL Member
Added 1.4.0rc2 to FTP.

Added a message that is shown once when you enter the configuration menu, telling you that while there is a dropdown list, as long as its not greyed out, you can type manually in them as well.

Added an "Advanced" button in the configuration menu so you can reach some (not all) of the advanced settings.
 

Turranius

Member
Supporter
RL Member
Added 1.4.0rc3 to the FTP... Seems I am never pleased.

Big overhaul on the Configuration GUI. Hotkeys does not need a restart anymore when set. Added a [C] button next to each hotkey in the Advanced menu to detect which key you press (with modifiers) etc, so you do not have to know the autoit codes for each key anymore.

Removed the message that was shown when you entered the configuration (Added in rc2) and instead show a helpful tip when hovering over items in the GUI.
 

Dime333

Active member
RL Member
I haven't tried any of the new versions yet. I will soon. I have a request. Sometimes when I exit a game that I have set a specific volume to, there is a moment of very loud sound. Could you add a volume fade feature when doing that?
 

Turranius

Member
Supporter
RL Member
I could..

The easy way: Use the normal fadein_delay, showing the volume bar (if on).
The hard way: Specific delay settings, not showing any volume bar (even if on).

I'll test some with the easy way first =)

Edit: Actually, pretty easy to not show the volume bar when fading back in...

Edit2: Ok 1.4.0rc4 on FTP.
When the volume is restored from a Program Specific Volume and it needs to go UP, it will fade it up with a delay of 20, not showing the volume bar.
If the volume needs to go down, its still instantly set as before.
 
Last edited:

Metalzoic

New member
RL Member
A request from me to.
The "make an attempt to unmute the sound when powered down or restarted" sometimes gives a brief, loud, annoying sound/speaker blurt when I turn it off instead of staying smoothly silent like it used to.

Can that be removed?

Sent from my SM-G935V
 

Turranius

Member
Supporter
RL Member
Sure thing. I'll have to clean up the advanced config GUI some as it looks like shit so might as well add options for the missing parts as well.
 

Turranius

Member
Supporter
RL Member
1.4.0rc5 on the FTP. You can control how it resets the volume on shutdown. You'll find the option for it in the advanced configuration GUI.

I remade the advanced config GUI so it shows the info when hovering over the text. Not sure if I should remake the Standard configuration window that way too and get rid of the text to the right of every control... what do you think looks better?
 
Top