Page 1 of 2

Remote Control Module

Posted: Sun Nov 18, 2007 7:56 am
by TDS
My aim is to develop a remote module for DvbDream which supports at least the Pinnacle 250 series. Currently I have a Shortcut Manager which can define Shortcuts and currently the five different remote controls by Pinnacle.

Project:
- IDE: Delphi 7 Enterprise (a little bit old ^^)
- Name: Remote Control for Pinnacle cards (no COM port related remote controls)
- Version: 0.01 :-)
- remote control configuration via XML file (working)
- shortcut manager (working)
ToDo:
- remote control access (very difficult for non-COM rc's)
What I need is:
- Help for DvbDream Module API (e.g. channel switch doesn't work)
- Pinnacle SDK for remote controls (does it exists?)
- Tools for looking into hardware protocols (registers) and PCI stuff for reverse engineering
Who can Help me except Pappi22 and Dreamer (will ask them separately)?

Posted: Mon Nov 19, 2007 3:33 am
by saentist
? is this a bug
I cant set and select a remote (pinnacle_d picture)

can you write a manual or some

Posted: Mon Nov 19, 2007 1:05 pm
by rel
you must write a module which will send remote key codes to DVB Dream.
You can send the codes simply using window-messages.



Window messages to send remote control key-codes to DVB Dream:

You can use one of these:

WM_REMOTE_MSG = WM_USER + 322;
WM_REMOTE_DEVICE_MSG = WM_USER + 323;



SendMessage(hwndDD, WM_REMOTE_DEVICE_MSG, 0, RMT_UP);

if you use WM_REMOTE_DEVICE_MSG , user can change the assignments of the keys using main menu->options->remote.



Possible remote key codes you can send to DD: (through lParam)



RMT_POWER = $00000001; // Required
RMT_MUTE = $00000002; // Required
RMT_0 = $00000003; // Required
RMT_1 = $00000004; // Required
RMT_2 = $00000005; // Required
RMT_3 = $00000006; // Required
RMT_4 = $00000007; // Required
RMT_5 = $00000008; // Required
RMT_6 = $00000009; // Required
RMT_7 = $0000000A; // Required
RMT_8 = $0000000B; // Required
RMT_9 = $0000000C; // Required
RMT_UP = $0000000D; // Required
RMT_DOWN = $0000000E; // Required
RMT_LEFT = $0000000F; // Required (Volume -)
RMT_RIGHT = $00000010; // Required (Volume +)
RMT_OK = $00000011; // Required
RMT_RECORD = $00000012; // Required
RMT_RECALL = $00000013; {Back to previous channel}
RMT_FULLSCREEN = $00000014; // Required
RMT_TELETEXT = $00000015;
RMT_EPG = $00000016;
RMT_TAB = $00000017; // Required (to switch between ch.list tabs)
RMT_INFO = $00000018; {Display channel number/name} // Required
RMT_OPTIONAL1 = $00000019;
RMT_OPTIONAL2 = $0000001A;
RMT_OPTIONAL3 = $0000001B;
RMT_OPTIONAL4 = $0000001C;
RMT_OPTIONAL5 = $0000001D;
RMT_OPTIONAL6 = $0000001E;
RMT_OPTIONAL7 = $0000001F;
RMT_OPTIONAL8 = $00000020;
RMT_OPTIONAL9 = $00000021;
RMT_PLAY = $00000022;
RMT_STOP = $00000023;
RMT_FORWARD = $00000024;
RMT_REWIND = $00000025;
RMT_PAUSE = $00000026;
RMT_SCHEDULER = $00000027;
RMT_MENU = $00000028; // Required
RMT_RED = $00000029;
RMT_GREEN = $0000002A;
RMT_YELLOW = $0000002B;
RMT_BLUE = $0000002C;
RMT_RADIO = $0000002D;
RMT_RECORDLIST = $0000002E;
RMT_EXIT = $0000002F; // Required

Posted: Tue Nov 20, 2007 11:38 am
by TDS
? is this a bug
I cant set and select a remote (pinnacle_d picture)

can you write a manual or some
Currently the code can't access a remote control by Pinnacle, now it can only send messages to DvbDream an manage some shortcuts. Thats not a bug but Pinnacle doesn't have a SDK for their integrated remote control ports an their PCI cards yet. That's why I want to try it by reverse-engineering.

Posted: Sun Nov 25, 2007 11:23 am
by townkat
Hi,

I made a script for eventghost to control dvb dream remotely using Window messages but it does not work in full screen mode. Is this normal ? It does work when not in fullscreen mode.

thnx

Posted: Sun Nov 25, 2007 12:46 pm
by rel
Hi,

I made a script for eventghost to control dvb dream remotely using Window messages but it does not work in full screen mode. Is this normal ? It does work when not in fullscreen mode.

thnx
does it always send the remote messages to DD's main window? it should do so. (even in Fullscreen mode)

use "Native" remote type in "options->remote" since you send your remote messages yourself.

Posted: Sun Nov 25, 2007 12:59 pm
by townkat
this is what i used to locate dvbdream window
WindowMatcher("dvbdream.exe").Enumerate
It should locate dvbdream by process, and that means main window as i know.
It works while dvbdream is not in fullscreen mode. If native is not selected it does not work at all.

Posted: Sun Nov 25, 2007 1:58 pm
by TDS
Yeah, now I have direct PCI access via Windows ring 0 kernel driver. Currently I code the R5 protocol. Btw, DD receives messages from me and reacts on it, so no problem.

Posted: Fri Dec 07, 2007 8:05 pm
by townkat
rel, it seems that this is a bug, any fixed planed ?
thnx

Posted: Sun Dec 09, 2007 6:23 am
by ScanMan
... seems that a lot of people are working on a good remote-tool.
Me too !

It's not really finished yet, but works fine until now.
A first release for testing is planned around X-Mas (... as a present ?!)

A short description of all planned features:

Hardware:
- Can receive signals from nearly every IR-Remote with a TX-frequency around 36KHz. I tested it here with Technisat RCs (Philips RC5-Coding), TwinHan RCs (NEC-Coding), DBOX RCs (special format, BitPhase-Coding) and many other standard TV/DVD-controls more. Also Sony RCs works fine (special Sony-coding).
- Receiving is possible via a 'normal' IR-Plug for COM-ports and also via special USB-IR-receiver-sticks designed like the one from Igor Cesko (available at ebay germany)
- No special tools like WinLIRC or girder are neccessary ! All needed things are implemented.
- It is planned to handle HID-devices (like TS or Pinnacle) also.

Software:

- is designed as a module for DD
- Everey ( ! ) key on nearly every RC can be learned and is free configureable in a GUI. Very easy to use.
- DD is controlled like doing this with HotKeys ! So you can use more 'Keys' - controlling EPG, OSD, Teletext and any other Plugin/Module which has a reaction to HKs is possible ! Also done with a GUI. Also very easy to use.

Future plan is controlling any Software on the machine.
I created this specially for my new HTPC because i couldn't find any overall usefull working tool...
Hope this is interesting.

If i'm ready to give out a beta-release, many testers are welcome.

PLEASE DONT POST ANY WISHES HERE ! I will open up a separate Thread ! THX.

:D ScanMan

Posted: Sun Dec 09, 2007 11:05 am
by townkat
I cannot see how a remote module for dvbdream can raplace a software like eventghost (did you tried it?), or girder for example...unless is separate from dvbdream. I personaly use the remote control while dvbdream is not runnig sometimes... WHy not just fix that window messages bug pls?

thnx :D

Posted: Sun Dec 09, 2007 12:56 pm
by ScanMan
Several probs are:

- You have to use additional sotware like Girder or WinLIRC
- Using the DD-Messeages through a Module, you are limited to those functions rel will support
- Using any other soft makes it neccessary to install and have probably any disfunction and complex ccordination
- Is use of any available normal RC supported ?
- Free configuration of any (!) available key on/with multifunctional RCs ?

What can eventghost do ? Surely a lot of things - but might never neccessary in controlling DD and additional plugins/modules..
Too much things to configure, too much working in backgroung and mightly many things more...

If you like it --->>> use it !
Other interests are welcome to test in next weeks.

Remainder:
DD is FreeWare - this module also !

:D ScanMan

Posted: Sun Dec 09, 2007 2:37 pm
by townkat
Eventghost is free too, and open source as i remember.

Also making a module for eventghost is really simple, it took me few hours and i have no ideea about Python ( i made one to support dvbdream, wich works with window messages, but only when not in fullscreen because of DD).

Will your module be able to receive window messages?, if yes, also in fullscreen mode ?

What method do you use to control dvbdream from your module ?

thnx :D

Posted: Mon Dec 10, 2007 2:42 am
by ScanMan
In the 'OnInit'-function i read the WindowHandle of DD. Makes it very easy to send Messages to the right (DD-Main) window.
This works very fine also when DD is not in Front - but i can make it going to the top...

If a key on any remote is pressed, the module evaluates the numeric code with an assignment-table to get the adequate Hotkey.
This 'Key' (every combination with Shift, Alt, Ctrl with any key will work) is send via PostMessage to DD.

Abolutly simple. The most work is do create an usefull User-Interface to assign keys to the RCs and combine them with the Hotkeys used in DD.

Yes i can read any Windows-message i need. I only have to create an adequate hook the the needed message to get

@ rel
How can i start the MDTeleText ? AFAIK it has no Hotkey but you have a button for it when installed...
Would be nice to start the TT also via remote.

:D ScanMan

Posted: Mon Dec 10, 2007 3:26 am
by rel
@ rel
How can i start the MDTeleText ? AFAIK it has no Hotkey but you have a button for it when installed...
Would be nice to start the TT also via remote.
might be added a keyboard shorcut and a menu item soon.


@townkat, I don't think there is a bug, remote/window messages work fine here on all of fullscreen/tvmode/normal modes, you must search the answer on the utility you use.