daffy Posted March 22, 2005 Share Posted March 22, 2005 I need some distraction, I want a stable remote control. As mentioned elsewhere a little while ago, I have access to a Bluetooth-enabled mobile and a Bluetooth USB stick that seem to work reliably (together) using Puppetmaster (http://www.lim.com.au/PuppetMaster/). My current idea of fun distraction therefore is to create a DVBViewer plugin that exposes an in-process COM server (object instance) which will be driven by the remote control server application (which allows writing VBScript or JScript). IOW, a COM bridge: * Press button/key on mobile * Client application on mobile send data via Bluetooth * Server application on PC receives data via Bluetooth * Server application uses data to control DVBViewer via VBScript or JScript (and that preferably via COM) The reason of this posting? The DVBViewer plugin documentation ("the SDK") is about 18 months older than the latest DVBViewer release. Before embarking on this endeavour, I'd like to ensure that the fun factor is maximized by knowing that the SDK information still applies... Any thoughts? Quote Link to comment
Griga Posted March 22, 2005 Share Posted March 22, 2005 via VBScript or JScript Without sending messages to the DVBViewer window it is impossible (at least with DVBV 3.0). AFAIK VBScript doesn't provide Send/PostMessage. Does JScript? However, it can be done by writing a command line tool that transforms command line parameters to messages (shouldn't be too difficult for you). In DVBViewer GE it's already built in (-x plus number). By sending messages you can do almost everything that is listed under Options/Control. I'm sure Christian will send you an up-to-date list of the control codes if you ask him for that. Have a look at this table. Most of the numbers should also be valid for DVBV 3.0 (up to 101, I think, but I don't know how much of it has been changed in DVBV 3.0). The numbers above 101 are special DVBViewer GE commands. Proceed as follows: uses Windows; const WM_DVBVIEWER = $B2C2; MSG_REMOTE = $0815; MyCommand = 37; //Opens EPG window var DVBHandle: HWND; begin DVBHandle := FindWindow(nil,'DVBViewer'); if DVBHandle <> 0 then SendMessage(DVBHandle,WM_DVBVIEWER,MSG_REMOTE,MyCommand+100); end; Quote Link to comment
daffy Posted March 23, 2005 Author Share Posted March 23, 2005 via VBScript or JScript AFAIK VBScript doesn't provide Send/PostMessage. That's why I talked about writing a DVBViewer plugin to act as a COM bridge (so that the remote control server can talk via COM to the plugin which in turn ...) :-) Thanks for the info! Quote Link to comment
hackbart Posted March 23, 2005 Share Posted March 23, 2005 this case i strongly recommend the SVDR Host plugin. It should suite your needs and is a VDR Interface compatible wrapper. Concerning the complete SDK i guess i should release a complete interface list. Right now it is a mixture between Sendmessage and Com like interface plus some rudimentary obsolete functions which allow some downward compatibility. Christian Quote Link to comment
Griga Posted March 23, 2005 Share Posted March 23, 2005 That's why I talked about writing a DVBViewer plugin to act as a COM bridge I see. Didn't read it carefully enough (skip-every-second-line-state when reading ). Yes, nice. It will save FindWindow. And ShellExecute in the script. A cleaner solution. The Sleeptimer Plugin source code in the Service Center provides a basic framework, including a menu item in the Plugins Menu. 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.