Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
new MceIr.dll for MCE remote on Vista with default driver
new MceIr.dll for MCE remote on Vista with default driver
A short story about this new DLL
================================
I just wanted to use EG to control my DVB Dream program with my MCE remote on Vista32 and I found I can't make it work even with the Aaron's replacement driver & his new mceir.dll. And then I found IR Server Suite from Media Portal, and it worked okay with the original Vista driver with the registry hack. However I found that the IR server service keep stopping after sometime and this wasn't good at all because I had to use the keyboard to restart the service in order to use the remote again. So, I concluded that using the IR Server Suite is also not an option. And I had no other choice but I had to fix the problem by myself. Since the source codes of both IR Server Suite and mceir.dll was available, I could either fix IR Server, or mceir.dll for EG. My decision was to fix mceir.dll for EG, because I liked the UI from EG more, and I also preferred C against .NET. So, I ported vista related fixes from IR Server suite to mceir.dll and also fixed a problem that it stops working after sometime. I can now control my Vista PC with my remote and I'd like to share my work with you.
A big thanks to everyone who contributed to EG, mceir.dll and IR Server suite and credit goes to Aaron and Bruno.
- James Lee-
How to use
==========
1. If you installed a replacement driver, then remove a replacement driver and install the default driver (eHome Infrared Receiver)
2. disable the default handling of the keys with registry changes
==============
- Load "regedit.exe" and navigate to:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da
- Then delete the keys from "CodeSetNum0" to "CodeSetNum3".
==============
please go to http://www.byremote.com.au/Hip/mce_remote_faq.htm for more details
EDIT: Instead of doing this manually with regedit, this can be done when MCE remote plugin is added in EG
3. restart system
4. install the latest EG beta from http://www.eventghost.org/forum/viewtopic.php?f=2&t=86
5. copy the new mceir.dll file from the attached zip file to ...\Program Files\EventGhost\plugins\MceRemote directory
EDIT: lated mceir.dll is already included in the latest EG beta. So, no need to copy the file manually.
6. Start EG
EDIT: attached files are removed since it's included in the latest EG beta (0.3.6.1483+).
================================
I just wanted to use EG to control my DVB Dream program with my MCE remote on Vista32 and I found I can't make it work even with the Aaron's replacement driver & his new mceir.dll. And then I found IR Server Suite from Media Portal, and it worked okay with the original Vista driver with the registry hack. However I found that the IR server service keep stopping after sometime and this wasn't good at all because I had to use the keyboard to restart the service in order to use the remote again. So, I concluded that using the IR Server Suite is also not an option. And I had no other choice but I had to fix the problem by myself. Since the source codes of both IR Server Suite and mceir.dll was available, I could either fix IR Server, or mceir.dll for EG. My decision was to fix mceir.dll for EG, because I liked the UI from EG more, and I also preferred C against .NET. So, I ported vista related fixes from IR Server suite to mceir.dll and also fixed a problem that it stops working after sometime. I can now control my Vista PC with my remote and I'd like to share my work with you.
A big thanks to everyone who contributed to EG, mceir.dll and IR Server suite and credit goes to Aaron and Bruno.
- James Lee-
How to use
==========
1. If you installed a replacement driver, then remove a replacement driver and install the default driver (eHome Infrared Receiver)
2. disable the default handling of the keys with registry changes
==============
- Load "regedit.exe" and navigate to:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da
- Then delete the keys from "CodeSetNum0" to "CodeSetNum3".
==============
please go to http://www.byremote.com.au/Hip/mce_remote_faq.htm for more details
EDIT: Instead of doing this manually with regedit, this can be done when MCE remote plugin is added in EG
3. restart system
4. install the latest EG beta from http://www.eventghost.org/forum/viewtopic.php?f=2&t=86
5. copy the new mceir.dll file from the attached zip file to ...\Program Files\EventGhost\plugins\MceRemote directory
EDIT: lated mceir.dll is already included in the latest EG beta. So, no need to copy the file manually.
6. Start EG
EDIT: attached files are removed since it's included in the latest EG beta (0.3.6.1483+).
Last edited by jleeca on Fri Oct 24, 2008 1:47 am, edited 4 times in total.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
Great work. If I understand it right, the replacement driver is then not needed anymore. If this is true and the DLL will work under XP, XP64 and Vista64 also, you qualify for the reward I have offered:
http://www.eventghost.org/forum/viewtop ... 5605#p5605
http://www.eventghost.org/forum/viewtop ... 5605#p5605
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
Re: new MceIr.dll for MCE remote on Vista with default driver
Yes, the replacement driver is not needed anymore and the DLL should work under XP, XP64 and Vista64 also. However I'd like to hear any test results on other platforms because I only tested it working on Vista32.
It's good to hear about the reward, but I'd like to mention that I haven't completed the blaster function because I don't need that feature with my htpc setup. However I may consider to do it later if there are enough demands...
It's good to hear about the reward, but I'd like to mention that I haven't completed the blaster function because I don't need that feature with my htpc setup. However I may consider to do it later if there are enough demands...
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
This sounds good. Did you had any success in using the blasting capabilities of the device?
EDIT:
Ok, just noticed you have edited your post. So blasting is currently not really supported.
EDIT:
Ok, just noticed you have edited your post. So blasting is currently not really supported.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
Would be very nice, if we could get blasting to work. Also it might be good, if the DLL could transfer raw IR data from and to EG. So we could use the generic decoding/encoding capabilities of EG instead of hardcoding them into the DLL.
But I don't know if the SendMessage API would be the best for this. I haven't benchmarked it, but I guess it is relative slow. Maybe pipes would be the way to go.
But I don't know if the SendMessage API would be the best for this. I haven't benchmarked it, but I guess it is relative slow. Maybe pipes would be the way to go.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
Ignore my sentence about pipes. I just forgot we have a DLL here and not a standalone process. So pipes aren't needed because data can easily be transferred directly over arrays or other data-structures.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
Re: new MceIr.dll for MCE remote on Vista with default driver
This is exactly what I have been looking for. I have been using Girder and get the random occasional lockup with the replacement dll. I was just trying to decided what to do for my in-laws on the HTPC I am building them right now. I can't have them trying to go restart any services or software or I'm sure they will mess up something. If this works I'll switch just like that from Girder to EG. I'll give it a try over the next couple days. Thanks for filling the void.
Re: new MceIr.dll for MCE remote on Vista with default driver
Tyborg, please let me know how it goes.
Bitmonster, I'm just thinking it is possible to implement & export the following two new functions so raw data can be used.
1. MceIrRegisterCallback(func_from_EG) <=== the requested call back will be called back with raw data whenever the DLL receives IR.
2. MceIrDoBlast(rawdata, len) <== call this function to order the DLL to blast.
Those two functions can be use instead of the following calls;
MceIrRegisterEvents()
MceIrUnregisterEvents()
MceIrRecordToFile()
MceIrPlaybackFromFile()
BTW, where is the implementation of general decoding/encoding capabilities of EG? I didn't know that EG can do it from raw IR signal data.
Bitmonster, I'm just thinking it is possible to implement & export the following two new functions so raw data can be used.
1. MceIrRegisterCallback(func_from_EG) <=== the requested call back will be called back with raw data whenever the DLL receives IR.
2. MceIrDoBlast(rawdata, len) <== call this function to order the DLL to blast.
Those two functions can be use instead of the following calls;
MceIrRegisterEvents()
MceIrUnregisterEvents()
MceIrRecordToFile()
MceIrPlaybackFromFile()
BTW, where is the implementation of general decoding/encoding capabilities of EG? I didn't know that EG can do it from raw IR signal data.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
Yes, that would be perfect.jleeca wrote: Bitmonster, I'm just thinking it is possible to implement & export the following two new functions so raw data can be used.
1. MceIrRegisterCallback(func_from_EG) <=== the requested call back will be called back with raw data whenever the DLL receives IR.
2. MceIrDoBlast(rawdata, len) <== call this function to order the DLL to blast.
Those two functions can be use instead of the following calls;
MceIrRegisterEvents()
MceIrUnregisterEvents()
MceIrRecordToFile()
MceIrPlaybackFromFile()
It is in Classes/IrDecoder.py. For encoding we currently have no module, but this would be a good reason to start to write some code for Pronto formats.jleeca wrote:BTW, where is the implementation of general decoding/encoding capabilities of EG? I didn't know that EG can do it from raw IR signal data.
Currently it is a very basic hack for only some protocols. But the good thing is its fallback to the generic UIR algorithm. This delivers stable codes for most known protocols, even though it doesn't give much clues which code is actually used.
And since it is written in Python, it is not the fastest solution, but it doesn't seem to have big impact on the system. Once it has all the functions I would like to see, I will possibly start to convert it to C.
I'm currently using your DLL under WinXP and it seems to work flawlessly. Once I have time, I will write some code to ease the disabling of the HID service for the user.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
- GBWebmaster
- Experienced User
- Posts: 115
- Joined: Wed Sep 24, 2008 5:34 am
Re: new MceIr.dll for MCE remote on Vista with default driver
I can also confirm the functionality of this DLL. (OS=WinXP)Bitmonster wrote:I'm currently using your DLL under WinXP and it seems to work flawlessly.
GBWebmaster
F├╝r den, der nie das Rudel anf├╝hrt,
wird sich die Aussicht nicht ändern.
wird sich die Aussicht nicht ändern.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
As promised I have written some code to help the user to disable/enable the state of the HID service. I also updated the DLL in the SVN trunk and included the sources for the DLL. Till I'm able to produce new installers (I have reinstalled my system and need some more tests to verify the setup) you can grab the needed files (__init__.py and MceIr.dll) through SVN:
http://eventghost.svn.sourceforge.net/v ... MceRemote/
@James Lee
If you want to have SVN write access, let me know your SourceForge username.
http://eventghost.svn.sourceforge.net/v ... MceRemote/
@James Lee
If you want to have SVN write access, let me know your SourceForge username.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
Re: new MceIr.dll for MCE remote on Vista with default driver
jleeca is my SourceForge usernameBitmonster wrote: @James Lee
If you want to have SVN write access, let me know your SourceForge username.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
Ok, you now have SVN write access.
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!
Re: new MceIr.dll for MCE remote on Vista with default driver
Much busier than anticipated over the last few days. So far with the new build, both dll and latest EG, things work great in Vista. I haven't had a chance to really put it thru its paces yet, but very impressive so far. I guess I am complementing both EG and the new dll. I have been putting off a trial of EG, because Girder was difficult enough for me to get my head around. In just a few hours I had all my humble functionality in Girder working flawlessly in EG. No hiccups with the new dll either. Bitmonster I like how you have automated the integration of the dll in the latest build, very smooth and easy. I'll chime in again after I have a chance to use it a little longer. Thanks a million, I'll drop a donation when I get a chance.
- Bitmonster
- Site Admin
- Posts: 2239
- Joined: Mon Feb 06, 2006 10:28 pm
Re: new MceIr.dll for MCE remote on Vista with default driver
I noticed the HID service does the decoding of the RC6 signals a bit more reliable than the code from Bruno. With the HID enabled you can achieve a greater distance as with the DLL. I have started to write an RC6 decoder that seems to be functional now (after the trailer bit nearly has made me crazy). So I'm very curious to try it out with raw streams.
Another question out of curiosity:
In the code you have implemented the Vista support through some fallback code that is triggered if the first CreateFile doesn't succeed. Then you call CreateFile again with slightly modified parameters. Does the second form also work on XP directly (so we can get rid of this dual handling of Vista and the rest)?
I can't currently try it out, since I have no VC8 compiler installed (only VC7.1 since all Python C-extensions need to be build with it).
Another question out of curiosity:
In the code you have implemented the Vista support through some fallback code that is triggered if the first CreateFile doesn't succeed. Then you call CreateFile again with slightly modified parameters. Does the second form also work on XP directly (so we can get rid of this dual handling of Vista and the rest)?
I can't currently try it out, since I have no VC8 compiler installed (only VC7.1 since all Python C-extensions need to be build with it).
Please post software-related questions in the forum - PMs will only be answered, if really private, thanks!