PDA

View Full Version : DRIVING ME CRAZY!! G5 Volume OSD shows every single time sound card's INPUT changes



mkanet
January 2nd, 2008, 10:08 PM
Holy cow, something needs to be done about this.

I depend on using the builtin OSD volume. For some strange reason the volume OSD is displayed momentarily every time there's any change in the Windows sound card input. It kind of makes me think nobody has even tested the OSD in G5.

How can I get the OSD not to be displayed for stuff that as to do with input? I have no idea what the recording input has to do with the OSD for master volume.

Can one of the engineers at least show me a way to hide my system recording inputs from Girder so it doesn't display all recording input changes until the next release of G5 is out?

Thanks,
Michael

Ron
January 2nd, 2008, 10:45 PM
For most people this works as it should as input changes don't happen all the time. To stop all the dialogs from popping up let's first disable the automatic OSD.

File->Settings-Plugins->Audio Mixer->Use OSD for Volume changes.

Make sure the events are still enabled. Then add this action to the tree and hook the event(s) of the line(s) that you would like to see to it. That should do the trick.



local pld={}
pld[1]=pld1
pld[2]=pld2
pld[3]=pld3
pld[4]=pld4
pld[5]=pld5
table.print(pld)
local old = mixer.UseOSD
mixer.UseOSD=true
mixer.MixerChange(EventString, EventDevice,1,pld,0)
print(EventString, EventDevice)
mixer.UseOSD = old

mkanet
January 2nd, 2008, 11:01 PM
Thanks for getting back to me so quickly Ron.

I understand everything you said except for this sentence :)

Then add this action to the tree and hook the event(s) of the line(s) that you would like to see to it

I'm a relative novice on Girder. I've never added my own action to the action tree. I just know how to add existing Volume actions to an event; and define which sound card to use in audio picker.

Any chance you could tell me how? Thanks so much for the quick help!

Ron
January 3rd, 2008, 07:36 AM
Let me show you the GML maybe that will help.

mkanet
January 3rd, 2008, 09:56 AM
The GML is completely empty. With an empty group called "New". What am I looking for exactly?? Sorry for taking so much of your time!

Ron
January 3rd, 2008, 11:04 AM
That doesn't help very much :) This should be better.

mkanet
January 3rd, 2008, 03:53 PM
Thank Ron. So that script, is that meant for volume up, mixer volume down, or Mute? How does that script get associated with those actions? I guess I'm still missing something...

Ron
January 3rd, 2008, 04:16 PM
That script triggers the built in OSD only for the events you hook to it. Have a look currently only event 1:0:-1:1 is hooked up. You will want to hook up all the volume events of interest. Open the logger to see which events are triggered when you change a volume setting and then drag and drop that particular event onto the action.

mkanet
January 3rd, 2008, 05:10 PM
Ron, I've read this paragraph over 15 times, and I still can't make any sense out of it. At least, I have done what I think should be done, and it simply doesnt work.

I tried hooking up only the MASTER VOLUME event by itself to the script, but, the OSD doesn't show. I know there needs to be more to it than this since I need to tell it if the volume needs to go up or down or mute and which sound device to use. I see the weird looking event 1:0-1:1; which I cant make any sense out of. If I try to test that weird looking event (while hooked up to that script), I get an error in the luna console complaining about Parameter 1 must be a number, not a null.

I'm completely lost. Would you be kind enough to show me how to make this work for a Girder novice?

I just need volume up, volume down, and mute... thats it.

Thanks so much!

Edit: I've spent longer than I'd like to admit trying to make this work. I'm not sure if its too much to ask if you could give me a gml that does it correctly?

FYI, this happens every time my webcam application starts, when I record songs, when I switch to my xbox input. I'm sure at least some of these things people do who use Girder...

This should be fixed in the final release of G5; there just doesnt seem to be a good reason why someone would want to see their OSD volume show up every time the input changes.


That script triggers the built in OSD only for the events you hook to it. Have a look currently only event 1:0:-1:1 is hooked up. You will want to hook up all the volume events of interest. Open the logger to see which events are triggered when you change a volume setting and then drag and drop that particular event onto the action.

mkanet
January 4th, 2008, 10:04 AM
Sorry to be so impatient. I would really like to get this working correctly.

mkanet
January 4th, 2008, 06:06 PM
????? I would like to get this working...

Ron
January 4th, 2008, 07:31 PM
1. Open the logger window.
2. Change the volume on the master channel.
3. Notice events coming into the logger window. (these will look like 1:0:1:-1)
4. DRAG AND DROP from the Logger window on top of the action that I sent you.

Now next time that events comes in it will trigger the action. The action then triggers the OSD to pop up!

mkanet
January 4th, 2008, 08:05 PM
Now I know why I'm confused. My logger window does not show 1:0:0:-1 or anything like that... please see my logger window screen shot...

Thanks so much for helping!


1. Open the logger window.
2. Change the volume on the master channel.
3. Notice events coming into the logger window. (these will look like 1:0:1:-1)
4. DRAG AND DROP from the Logger window on top of the action that I sent you.

Now next time that events comes in it will trigger the action. The action then triggers the OSD to pop up!

Ron
January 4th, 2008, 08:18 PM
Did you leave the "enable events for audio mixer volume/settings changes" enabled?
Files->Settings->Plugins->AudioMixer.

mkanet
January 4th, 2008, 08:25 PM
Definitely yes. I have it checked.


Did you leave the "enable events for audio mixer volume/settings changes" enabled?
Files->Settings->Plugins->AudioMixer.

Ron
January 4th, 2008, 08:26 PM
The events must be there as you were getting the OSD before and that code is triggered by events.

Let's check if they are hidden.

File->Settings->General->Event Log Settings

Make sure that Audio Mixer is selected.

mkanet
January 4th, 2008, 08:36 PM
That was the problem. The logger is now tracking the audio mixer. Now, I have another small stumbling block....

When I do a volume up or down... in the logger it shows 9:0:0:0 for both. The only thing that looks different is the mute which shows as 9:0:0:1

See attached...

Ron
January 4th, 2008, 08:51 PM
Those numbers just specify the channel, so up and down are expected to have the same numbers.

mkanet
January 4th, 2008, 08:58 PM
I must be doing something REALLY wrong. Because none of it works. I did everything exactly the way I think it should be.... please see the attached GML...

I am pressing the master up and down and mute buttons on my remote.. Nothing happens.. I'm not sure where it's supposed to even tell how much to turn up the volume or down.

EDIT: Also, even though OSD is turned off in the plugins/audiomixer "Use OSD for volume changes", when the sound card inputs change for recording, the OSD volume STILL shows up... basically doing what I was complaining about in the first place.

Ron
January 4th, 2008, 09:33 PM
Okay. Back to square one. Take a screenshot of the audiomixer configuration dialog please. I want to verify it's all set as it should be.

mkanet
January 4th, 2008, 09:36 PM
Here......


Okay. Back to square one. Take a screenshot of the audiomixer configuration dialog please. I want to verify it's all set as it should be.

Ron
January 4th, 2008, 09:43 PM
Do a script reset. Is the checkbox still unchecked? If so, are you still getting the OSD popup on _EVERY_ change? Then remove **ALL** GMLs from Girder. What happens? If you still get the OSD then open luascript/Audiomixer.lua and change line 570 to



-- mixer.eventhandlerid = gir.AddEventHandler ("^.*",144,144,mixer.MixerChange)

(Add the double dash at the beginning of the line).

Also I've fixed the GML you do not need the MASTER_VOLUME_UP or DOWN, this action merely displays the volume controls for the channel that is changing up or down doesn't matter nor does it matter which channel, it gets it's info from the event that is triggering the action.

mkanet
January 4th, 2008, 09:49 PM
I dont know how to do a script reset. I also dont know which checkbox youre referring to that unchecked.

PS: When I remove all GML's the OSD doesnt show anymore.

PPS: Without the Master Volume Up or Down... How is Girder supposed to know when I press my Remote control buttons? Master Volume Up/Down are linked to my remote control USB-UIRT

PPPS: I'm not sure what to open Audiomixer.lua with. Notepad doesnt show line #s.

PPPPS: OSD doest display when I use your GML instead of mine.


Do a script reset. Is the checkbox still unchecked? If so, are you still getting the OSD popup on _EVERY_ change? Then remove **ALL** GMLs from Girder. What happens? If you still get the OSD then open luascript/Audiomixer.lua and change line 570 to



-- mixer.eventhandlerid = gir.AddEventHandler ("^.*",144,144,mixer.MixerChange)
(Add the double dash at the beginning of the line).

Also I've fixed the GML you do not need the MASTER_VOLUME_UP or DOWN, this action merely displays the volume controls for the channel that is changing up or down doesn't matter nor does it matter which channel, it gets it's info from the event that is triggering the action.

mkanet
January 4th, 2008, 10:05 PM
Wouldn't it just be easier to send me an updated Audio Mixer plugin which has the option to limit the OSD to a specified audio device? :)

quixote
January 4th, 2008, 11:49 PM
The script reset is the green arrows symbol on the top menu bar.

As for script editting, Rob H recommends SciTE ( see this post: http://promixis.com/forums/showpost.php?p=93638&postcount=2 ).

mkanet
January 5th, 2008, 09:06 AM
1) Do a script reset. Is the checkbox still unchecked?
Yes

2) Then remove **ALL** GMLs from Girder. What happens?
Nothing. After I use your GML, the OSD doesnt show anymore.

I really wish the app would behave in a more reasonable way and just give the option to allow only one audio device to use the OSD. This seems like A LOT of work to make the audio mixer's OSD work correctly!

So... now what????



Do a script reset. Is the checkbox still unchecked? If so, are you still getting the OSD popup on _EVERY_ change? Then remove **ALL** GMLs from Girder. What happens? If you still get the OSD then open luascript/Audiomixer.lua and change line 570 to



-- mixer.eventhandlerid = gir.AddEventHandler ("^.*",144,144,mixer.MixerChange)
(Add the double dash at the beginning of the line).

Also I've fixed the GML you do not need the MASTER_VOLUME_UP or DOWN, this action merely displays the volume controls for the channel that is changing up or down doesn't matter nor does it matter which channel, it gets it's info from the event that is triggering the action.

Ron
January 5th, 2008, 10:53 AM
Great, so you no longer have the volume OSD popup at all?

Now load the GML I sent you and change the volume on the channel that produces the 9:0:0:0 event. The OSD should popup. Have the logger open to double check that the event came in also double check that the action 'volume up' was triggered.

Note your situation is an exception, hence you have to do all this work. For other people this works out of the box.

mkanet
January 5th, 2008, 11:36 AM
I loaded your GML file, the OSD will not display at all.

Bottom line is, OSD isnt working at all now with your GML. The attached picture will explain everything...

What a nightmare.


Great, so you no longer have the volume OSD popup at all?

Now load the GML I sent you and change the volume on the channel that produces the 9:0:0:0 event. The OSD should popup. Have the logger open to double check that the event came in also double check that the action 'volume up' was triggered.

Note your situation is an exception, hence you have to do all this work. For other people this works out of the box.

Ron
January 5th, 2008, 12:44 PM
For some reason the action is not appearing to be triggered, looking at the GML I have set the event modifier incorrectly. Please try the attached GML instead.

mkanet
January 5th, 2008, 03:49 PM
Using the last GML did the trick. Thanks Ron! It works correctly now. :)

Ron
January 5th, 2008, 03:51 PM
Awsome!! Glad I got that working before I head for Vegas.