Zavier Posted August 3, 2010 Share Posted August 3, 2010 Hi, I am testing a script I am writing to automate the use of DVBViewer on autonomous screens. I'm having a problem finding the COM properties for ActionIDs 2, 3, 4 (Hide Menu, status bar, tool bar etc) or in fact any of the program window properties at all such as Aspect Ratio. I can use the SendCommand function, however, because this is a toggle, I need to be able to test it's current state before I know whether to send the command to change it. Any ideas where I should look. Many thanks Quote Link to comment
dbraner Posted August 19, 2010 Share Posted August 19, 2010 First install DVBViewer Spy Tool and check the Datamanager values. Maybe some of the values contain the required states. If not you can store the current state in your own Datamanager value. In this case you only have to ensure that you know the state when DVBViewer is started. Quote Link to comment
majstang Posted August 19, 2010 Share Posted August 19, 2010 (edited) I'm having a problem finding the COM properties for ActionIDs 2, 3, 4 (Hide Menu, status bar, tool bar etc) or in fact any of the program window properties at all such as Aspect Ratio. I can use the SendCommand function, however, because this is a toggle, I need to be able to test it's current state before I know whether to send the command to change it. Any ideas where I should look. Well, sadly there is a less fun limitation regarding querying current state in the COM interface. In the Datamanager you have a tag/handle named #Info and this is the handle/tag you are after. The limitation I did mensioned is the #Info handle/tag can be many things...for example it could be Audio Output A/B, Aspect Ratio, Video Output A/B...in other words these functions do not have their own tag/handle so to speak. When query #Info you will get the latest change you did in the main menu. For example if you have changed Aspect Ratio most recently you will get what mode the Aspect Ratio is in right now. If you changed for example Audio Output A to B most recently that is the answer you will get when querying #Info. I dont know a method to get the current status from each of the main meny functions directly when they dont have their own handle. This is how you would go about when query Audio Output A/B which is the function I use all the time and therefor the one I get when querying the #Info handle: Set iDVBViewer = GetObject(, "DVBViewerServer.DVBViewer") MyAudioMode = iDVBViewer.Datamanager.Value("#Info") MsgBox(MyAudioMode) If MyAudioMode = "Audio Output B" Then iDVBViewer.SendCommand "133" End If Edited August 19, 2010 by majstang Quote Link to comment
majstang Posted August 19, 2010 Share Posted August 19, 2010 Question to developers: Is there a reason major controls/funtions/features in main menu like: -Aspect Ratio -Zoom -Display -Video Output -Equalizer -Audio Track -Audio Output ...simply lacks their own tag/item/handle? Makes it very scriptunfriendly when you cant get status/value of these controls before changing the value of that control first. Value/status of several of these major controls are collected under #Info tag/handle...which makes it impossible to make good sripts. On a newly started DVBViewer the #Info tag is even empty. It must be possible to condition actions depending on status/value of these major controls and it is hard today. Any other methods maybe? If not hoping for a change. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.