View Full Version : progdvb through numbuilder
whitesnake
April 23rd, 2003, 12:36 AM
hi
I set up some controls for progdvb (rc with igor's plugin) but I'd like to switch to another channel (e.q. 125) and I understood that could be possible through the numbuilder plugin...
I've read some posts here about it, played with the gml file but still no result - can't make progdvb move at all :cry:
is there any "how to" (for dummies :-? ) in using numbuilder or did somebody already set up that specific function for progdvb in girder?
regards
SouthyPar
April 23rd, 2003, 06:39 PM
The API doesn't say much the will help.
What about this thing? http://members.lycos.co.uk/phonedialerpro/VirtualRemote.htm
whitesnake
April 24th, 2003, 02:14 AM
yes, I have it, and indeed, this is the only combination that works so far: programming the keys for channel no. in vr and adding vr group in girder. Only that vr doesn't have enough commands to cover all the ch. in a ch. lists (solution - more ch. lists :wink: ) and I was hoping to resolve the matter through numbuilder feature and get rid of vr :-?
SouthyPar
April 24th, 2003, 02:43 AM
I would suggest contact the author of progdvb and explain to him what you want to do, and ask him for specific instruction on how to send a command to switch channel with a channel number through SendMessage.
The API page on the site really doesn't say how this can be done.
whitesnake
April 24th, 2003, 03:16 AM
I've already posted this matter in progdvb section (happysat forum); in fact someone there suggested that I should use girder's numbuilder...
SouthyPar
April 24th, 2003, 03:17 AM
Using numbuilder shouldn't be a problem, the question is, how do we send the number we've built with numbuilder to progdvb.
whitesnake
April 24th, 2003, 05:25 AM
well...I don't know how girder works and I'm not much of a programmer but, as you said, this turns to be a progdvb problem (to recognize the specific commands built with numbuilder) 'cause there's nowhere in progdvb such feature and Prog didn't resume his work in this direction since the feature is available through winlirc - so another program to intermediate the communication...
mitko
April 28th, 2003, 12:15 PM
whitesnake, the command that you are looking for is just infront of your eyes
:)
you can use commandline params to do it
after you've build the number in girder you have to run
ProgDVB.exe /CH:Channel number
(ProgDVB.exe /CH:125) and this will switch to channel 125
whitesnake
April 28th, 2003, 01:01 PM
@mitko
it sounds very simple but how do I build a two or three numbers command in girder?
and I associate it in progdvb with what?
did you try it?
JimHugh
April 28th, 2003, 01:38 PM
Ron - please forgive the size of code! - No attachment support :(
The gist of the group is to build a channel number in a global variable called ChannelBuilder
i.e. Zero uses VMS to do
ChannelBuilder = ChannelBuilder .. '0';
and so on
Uses the 10 digits and an "enter" key to send the command to allow for variable length channels.
SelectChannel is a Multi group with three commands:
OS | Execute runs ProgDVB.exe with step size /CH:[ChannelBuilder]
OSD | Displays ChannelBuilder onscreen
ClearChannel resets ChannelBuilder variable for next go round
Girder Export Group - save code as a text file and use Girder Import Group to create Channels top Level Group
<?xml version="1.0" encoding="UTF-8"?>
<Girder><Group Name="Channels" Identifier="13617" Enabled="TRUE"><Command Name="Zero" Identifier="13606" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAMAAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '0';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="One" Identifier="13607" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAMQAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '1';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Two" Identifier="13609" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAMgAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '2';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Three" Identifier="13610" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAMwAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '3';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Four" Identifier="13611" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAANAAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '4';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Five" Identifier="13612" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAANQAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '5';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Six" Identifier="13613" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAANgAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '6';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Seven" Identifier="13614" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAANwAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '7';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Eight" Identifier="13615" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAOAAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '8';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="Nine" Identifier="13616" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAgAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgACAAAAOQAAAAAAAAAAAAUAAA AMAAAARwAAAJ0AAAATAAAAAAAA
AA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = ChannelBuilder .. '9';
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><MultiGroup Name="SelectChannel" Identifier="13618" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Command Name="Enter" Identifier="13608" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>2</ActionType><ActionSubType>14</ActionSubType><sValue1>ProgDVB.exe</sValue1><sValue2>/CH:[ChannelBuilder]</sValue2><iValue2>10</iValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="OSD" Identifier="13620" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>100</ActionType><ActionSubType>33</ActionSubType><sValue1>[ChannelBuilder]</sValue1><iValue1>500</iValue1><iValue2>42</iValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><lValue1>8454016</lValue1><lValue2>65280</lValue2></Command><Command Name="ClearChannel" Identifier="13619" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><Binary Encoding="Base64">G0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAA AAAAAAAQAAAAAAAAAAAAAAAgAA
AA8AAABDaGFubmVsQnVpbGRlcgABAAAAAAAAAAAAAAAAAwAAAE cAAAATAAAAAAAAAA==</Binary><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>ChannelBuilder = "";
</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command></MultiGroup></Group></Girder>
whitesnake
April 28th, 2003, 02:58 PM
@Jim Hughes
thanx for all the trouble but, except:
"SelectChannel is a Multi group with three commands:
OS | Execute runs ProgDVB.exe with step size /CH:[ChannelBuilder]
OSD | Displays ChannelBuilder onscreen
ClearChannel resets ChannelBuilder variable for next go round", I don't understand much :-?
I've already saved what you had written in a text file but I don't know what do do with it - could you please explain it step by step for dummies? :)
JimHugh
April 28th, 2003, 03:24 PM
Girder allows you to highlight a group and use the File | Export command.
That is what I did. I then opened the file that I had created and pasted it into the code section of my previous post.
Highlight the code section and copy it into the clipboard.
Open Notepad, and paste the contents
Save the file as Channels.gml (be sure to select All Files *.*)
Activate Girder and select File | Import Group
A new top level group called Channels will be created.
Modify the "Enter" command with your ProgDVB.exe path
Learn Event strings for your 0-9 keys on your remote and another key for the SelectChannel Multigroup.
JimHugh
April 28th, 2003, 03:37 PM
Each time that you press a number key, ChannelBuilder will be modified.
To tune to channel 125
i.e.
ChannelBuilder = nil
Press 1
ChannelBuilder = "1"
Press 2
ChannelBuilder = "12"
Press 5
ChannelBuilder = "125"
You can use the Girder F5 Test key for each number and Girder F10 display variables to see the string being built.
Then when you press the "Enter" key, three commands will be executed in sequence using the SelectChannel multigroup
First is Girder command that runs the ProgDVB.exe /CH:125
Second (which is not required, I used it for testing) displays the ChannelBuilder variable in the using the Girder OnScreenDisplay (OSD) plugin
Third ClearChannel sets ChannelBuilder to an empty string so it is ready for next series of numeric button pushes
whitesnake
April 28th, 2003, 11:25 PM
@Jim Hughes
yessss.....it works great! that's what I was talkin' 'bout!
I almost wrote that it didn't work 'cause I had messed up the scripts. The Clear Channel command doesn't work every time so the input is smth. like 1264 :) and the osd (very important to see what you type - too sensitive rc: press "5" and type in fact "55") doesn't work at all but I'll keep digging.
Thank you very much!! :D
P.S. you should contact Prog (progdvb author) as I'm sure many people would be interested in this feature... :wink:
JimHugh
April 29th, 2003, 05:21 AM
Glad to hear your getting close!
Consecutive numbers like 55 not working are probably a "feature"
of the RC you are using.
Some RC send a different string for consecutive pushes of the same button.
AFAIK, the only work around is to use a different set of RC codes.
Feel free to share this with anyone you like, just my minor contribution back to the Girder community.
whitesnake
April 29th, 2003, 06:08 AM
@Jim Hughes
oh, no: all commands are working fine, but, sometimes, if you press too hard the "5" (or any other) button a "55" (double figure) would result - that's what I meant :)
that's why the osd could've been important: to see exactly what you press :o :)
thank you once again 8)
JimHugh
April 29th, 2003, 06:12 AM
Oh, in that case increase the antirepeat wait time (in milliseconds) to a higher value. Start at 50ms and work your way up until it works for you.
You will need to set it for each command :(
You could copy the OSD display, paste it outside of the multigroup and assign it a unique eventstring (like the Display Key). I think you would find that once you get the antirepeat settings right, you won't need a step by step OSD.
whitesnake
April 29th, 2003, 10:05 AM
@ Jim Hughes
:) I've already done that but I started with 1000ms :-?
"I think you would find that once you get the antirepeat settings right, you won't need a step by step OSD" - don't go over-appreciating me: I'm still new and dumb in girder's world :wink:
muchandr
June 15th, 2003, 06:47 PM
Thank you Jim for such a useful example for us newbies. I've started off your code and I think I have a couple of additions to make after some playing around with Girder + ProgDVB (great combo, IMHO):
1. You should probably always exec ProgDVB as 'Hidden'
2. I also recommend adding the following three commands to Jim's skeleton:
i) ChannelUp, to exec ProgDVB with /GlobalNextChannel switch
ii) ChannelDown, to exec ProgDVB with /GlobalPrevChannel
Teach those two the channel up and down buttons of your remote,
respectively. Now you should be able to sequentially run through all your channels.
iii) ChannelList, to exec ProgDVB with /ShowOSDChannelList
Teach this one some sort of 'menu' button of your remote. Also,
modify Jim's Enter command to exec ProgDVB not only with /CH:]ChannelBuilder] switch, but also with /SetChannelList switch. (ProgDVB does accept multiple command line options at once)
Now, if you press this 'menu' button you assigned, you will see a scrolling list of channels (a snapshot of your ProgDVB channel tree) on top of your video stream. You should be able to navigate this list with the buttons you assigned to ChannelUp and ChannelDown commands. If you don't press anything, the list will disapper after the timeout you specified as your ProgDVB OSD timeout. If you press the button you assigned to Jim's Enter command, only than will you actually tune to the currently highlighted channel in the list.
3. You could use ProgDVB's /OSD swith for debugging purposes. Simply
exec ProgDVB /OSD:yourstring
4. I think there is another way of getting around remotes assigning different codes to repeated presses of the same numeric button. Simply leave channel positions that only use a single digit such as 55 or 111 unassigned in ProgDBV, i.e. let the channel that you want to follow your channel 54 have the number 56 and so on. I don't think that makes any difference functionally, and you won't have to mess with timeouts and such.
Regards,
Andrei
Andrew
June 15th, 2003, 09:37 PM
here is my gml settings, osd monitor/TV works fine :)
http://www.adik.eu.org/DVB/osd_progdvb.JPG
<?xml version="1.0" encoding="UTF-8"?>
<Girder><Group Name="ProgDVB" Identifier="14178" Enabled="TRUE"><Command Name="1" Identifier="14234" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>1</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14235" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401000809" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14236" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A140014F5" AntiRepeat="200"></EventString></Command><Command Name="2" Identifier="14237" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>2</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14238" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401008889" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14239" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A141414F5" AntiRepeat="200"></EventString></Command><Command Name="3" Identifier="14240" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>3</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14241" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401004849" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14242" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A140514F5" AntiRepeat="200"></EventString></Command><Command Name="4" Identifier="14243" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>4</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14244" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="40040100C8C9" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14245" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A141114F5" AntiRepeat="200"></EventString></Command><Command Name="5" Identifier="14246" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>5</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14247" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401002829" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14248" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A540154F5" AntiRepeat="200"></EventString></Command><Command Name="6" Identifier="14249" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>6</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14250" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="40040100A8A9" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14251" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A541554F5" AntiRepeat="200"></EventString></Command><Command Name="7" Identifier="14252" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>7</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14253" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401006869" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14254" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A540454F5" AntiRepeat="200"></EventString></Command><Command Name="8" Identifier="14255" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>8</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14256" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="40040100E8E9" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14257" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A541054F5" AntiRepeat="200"></EventString></Command><Command Name="9" Identifier="14258" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>9</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14259" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401001819" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14260" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A440044F5" AntiRepeat="200"></EventString></Command><Command Name="0" Identifier="14261" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Target_name>ProgDVB</Target_name><Target_class>Afx:400000:0</Target_class><Target_exe>ProgDVB.exe</Target_exe><CTarget_class>DVBVideoClass</CTarget_class><Submatch>FALSE</Submatch><Topmost>FALSE</Topmost><MatchBy>135</MatchBy><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>6</ActionType><ActionSubType>1</ActionSubType><sValue1>0</sValue1><sValue2>FALSE</sValue2><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3><EventString Name="Kod zdarzenia" Identifier="14262" Enabled="TRUE" Invert="FALSE" Device="26" IrStr="400401009899" AntiRepeat="200"></EventString><EventString Name="Kod zdarzenia" Identifier="14263" Enabled="TRUE" Invert="FALSE" Device="31" IrStr="630A441444F5" AntiRepeat="200"></EventString></Command></Group></Girder>
http://www.adik.eu.org/DVB/target_girder.JPG
JimHugh
July 4th, 2003, 02:32 PM
Some posts back, you wrote a script that I've been using for about 2 weeks now -- thanks!!...however, I've ran into an issue, and have PM'd kelmk (the person you were helping) also.... Here's my message:
just discovered w/ the sattune.gml, we can't (or at least I can't) send a 4 digit event through it...
Example:
Code:
"C:\Program Files\girder32\event.exe" sattune 18 1234
...sends:
Code:
Dev: 18 SAT3 15:36:34 Friday, July 04, 2003
Dev: 18 wait 15:36:33 Friday, July 04, 2003
Dev: 18 SAT2 15:36:33 Friday, July 04, 2003
Dev: 18 wait 15:36:33 Friday, July 04, 2003
Dev: 18 SAT1 15:36:33 Friday, July 04, 2003
Dev: 18 sattune 15:36:33 Friday, July 04, 2003 Pld1: 1234
It drops the last character. (I have to use the WAIT command in there, or it's too fast for my reciever) Do you use any 4-digit channels in your setup?
I tried going back to Jim Hugh's info on girder.nl, but to no avail -- I think it's in the script, but I'm no script writer.
TIA
Received the above in a PM but wanted to bring it public to let others add suggestions as well.
My first question is back to the poster is "What is the value of LASTCHANNEL?" Use Commands | Show Variables to display currently set list. The event should still be triggered, even if the IR is not being sent correctly
I am not actively using IR for control using this method because I have a serial connection to my RCA sat receiver.
The USB-UIRT plugin that I do use to control other devices has an option to wait for IR to be sent before returning control, maybe yours does as well...
rachus
July 4th, 2003, 06:17 PM
Thanks Jim, for taking my PM public and for all your help. For reference, the original script I have been using comes from your insight in this topic:
http://www.girder.nl/phpBB2/viewtopic.php?p=22454&highlight=#22454
kelmk actually solved the problem for me. The answer lies in the Variable Manipulation Script. Previously I had the command "change channel" with this script:
PROGRAMTITLE = pld3
LASTCHANNEL = pld1
TriggerEvent("SAT" .. strsub(LASTCHANNEL,1,1), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,2,2), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,3,3), 18)
All I had to do was add another "wait" event and Trigger Event like so:
PROGRAMTITLE = pld3
LASTCHANNEL = pld1
TriggerEvent("SAT" .. strsub(LASTCHANNEL,1,1), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,2,2), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,3,3), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,4,4), 18)
Thanks very much kelmk!
And Thanks again Jim for sharing this w/ others. It still amazes me the camaraderie in these forums, and all for free!! I hope you all achieve great satisfaction from doing good for all of us here!
Salute!
Rachus
JimHugh
July 4th, 2003, 06:25 PM
That explains the confusion..., But I'm glad you got it to work for you!
As I recall, a later post modified the script initially posted to use the TriggerEvent command once for each character in LASTCHANNEL. That way it could handle any number of digits.
if not LASTCHANNEL == nil then
for i=1,strlen(LASTCHANNEL) do
TriggerEvent("SAT" .. strsub(LASTCHANNEL,i,i), 203)
TriggerEvent("wait", 18)
end
end
intead of
PROGRAMTITLE = pld3
LASTCHANNEL = pld1
TriggerEvent("SAT" .. strsub(LASTCHANNEL,1,1), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,2,2), 18)
TriggerEvent("wait", 18)
TriggerEvent("SAT" .. strsub(LASTCHANNEL,3,3), 18)
LetoII
September 22nd, 2003, 03:47 PM
Cool, but how do you get girder to send commands containing variables? For example WinDVD2000 can jump to track number 5 by sending code 35005 (35000+tracknumber) but the command options in girder forgets anything that isn't a number. Any suggestions? If I sus this for windvd can do it for playlists, tv channels above 9 etc from commands.
Bitmonster
September 23rd, 2003, 05:13 AM
@LetoII
You can try the SendMessage or PostMessage plugin.
Try to use Payloads [pld1], [pld2] and so on, so you can simply use TriggerEvent with all Parameters needed.
Something like this:
TriggerEvent("mySendMessageEvent", 18, messagenum, wParam, lParam)
LetoII
September 29th, 2003, 10:12 AM
Er, what do I need in messagenumber??? I've only ever used commands and they don't have message numbers.
Bitmonster
September 29th, 2003, 10:40 AM
WM_COMMAND = 0x0111 = 273
So I would try 273 as message number first.
uvi
September 29th, 2003, 12:21 PM
WM_COMMAND = 0x0111
^^^^^^^^^^^^^^^^ why?
how to get 0x0111
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.