Jump to content

How to tell current state of ActionID 2 / 3 / 4


Zavier

Recommended Posts

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

Link to comment
  • 3 weeks later...

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.

Link to comment

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 by majstang
Link to comment

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. :bye:

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...