|
Hardware Support Discussions related to using various hardware setups with SageTV products. Anything relating to capture cards, remotes, infrared receivers/transmitters, system compatibility or other hardware related problems or suggestions should be posted here. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
||||
|
||||
ir.exe issue(s)
(Imported from another thread, to avoid going too off-topic there)
Quote:
Quote:
- [] sections seem to have random length for commands. It doesn't seem to be total # of commands, nor space used by commands. Probably some assembly thing. Not the issue, because I already have run into this in my 'debug.txt' section. Restarting IR seems to fix things immediately, so not an irremote.ini config issue. - Only two system codes (HCW PVR remote and OFA) and doesn't seem to overload it. - Manually selecting the window (via mouse over VNC) to establish the focus doesn't even give it control. From what I understand, mode() just sets the focus, so if it doesn't work when highlighted by the mouse, can't be the issue. Random thoughts: - I have redefined the tokens and ordered the file to be more 'readable' and more easily maintained. - I have organized the tokens to HCW, OFA, and 'both'. I did it to both minimize tokens, address common functionality, and maintain compatibility with both remotes. - I have obliterated all WinTV program references. I converted them initially, and it all worked, but archived it to an external file, as bloat isn't generally useful. - My most common occurrance of this problem happens when I use MPC (Media Player Classic). However, this is highly possible that it correlates to highest program use. - Running 'Restart IR' immediately cures all evils. I have some buttons on the OFA dedicated to global 'default' use and am thinking of adding this there to solve the problem. If it just thinks the wrong [] is active in the .ini file, a global run() to Restart IR might do the trick. Completely artless, but functional. @Opus4: JP1 on the OFA going extremely well, Opus. All individual components solved, and last issue in play on the JP1 boards. Thanks again, hun. |
#2
|
||||
|
||||
Re: ir.exe issue(s)
Quote:
Quote:
You don't actually have to use mode(), but I found that it made my life easier. If you wish, simply remove all mode() commands and IR.exe will translate commands according to the section name that matches the window that has focus. One possible problem: some apps change the window name... kind of hard to match those, so you would be stuck using mode() for those apps. So... mode(SectionName) forces commands to be interpreted from [SectionName]. Use mode() to reset the mode to work as 'normal': interpret according to the name of the window that has focus. Thus, once you use mode(SomeApp), you have to use mode(SomeOtherApp), mode(Default), or mode() when you exit that program. Also note that if you use some app as a menu program, it cannot automatically change IR.exe's mode -- so if you are using mode() commands & you use the menu app to run SageTV, it won't know to also do a mode(SageTV) & you will end up sending the menu program's key commands to SageTV. I think that changing your use of mode() will solve most, if not all, of your problems. Other comments: Be sure you are running the latest Hauppauge IR drivers/software. Go to SHS's site and click on Download, select your tuner, then download the IR Remote Control file -- current version is 2.35.21321. Are your other device buttons on the 8810 used already? (I don't know how many device buttons that one has.) I use a different device for each of my IR-controlled apps & each device uses unique RC5 codes, so none are shared with the other apps. Then, each app has its own unique Power ON/OFF buttons so that I can use them to activate another app while one is already running. It looks like you are controlling more apps than I am, so while you may not be able to assign completely separate RC5 system codes to each app, you could certainly consider using other device buttons to extend your control. Unique RC5 codes are not really needed -- you just have to be careful about which buttons you use to activate each app in the Default section, make judicious use of the mode() comamnd, & so on. That's my diagnosis... hope it is right. - Andy Last edited by Opus4; 04-20-2004 at 11:16 PM. |
#3
|
||||
|
||||
Removed all mode() commands but to no avail. After playing around a little, I think I might have figured out a major potential issue. My file naming conventions are "BetweentheLions-LionelsGreatEscapeTrick-292034-0.mpg" for SageTV files and "Between The Lions - 1x01 - Pecos Bill Cleans Up The West [ToonGal].mpg" for edited versions of SageTV shows.
As a result, when I used MPC, it had a massively long title bar, and the "Media Player Classic" title bar was buried under the depth of the detail with the file name. I'm guessing that searching through such a long title crushed the window searcher. After changing MPC to "Don't prefix anything" and only displaying "M P C" on the title bar, I seem to have eliminated a lot of issues. Will post again if the issue shows up again, with more detail on exact circumstances it fails. The MPC one seems to be solved. Thanks again, Opus! |
#4
|
||||
|
||||
I've now isolated this as two separate issues: one major, one minor, but both semi-resolved.
1) Major: After a delay, the specific [program] sections no longer seem to function; only the [Default] one seems active. 2) Minor: Some windows (in my case, MPC=Media Player Classic) have such long names that they get lost in the [program] section name. Solutions: 1) The following code is my main [Default]. I've seen at least one other user who runs Restart IR with every main .exe he runs. This would solve his problem too. I allocate a key to be the Restart IR, so when general keys seem unresponsive, the likely solution is that it is in [Default] mode. To me, this happens most often after a long delay between usages. No idea why this happens, but after a Restart IR from the remote, all other buttons / [sections] work again. [Default] ; Default - default definitions for remote KEY_ALL_POWER={run(C:\Progra~1\WinTV\Ir.exe /QUIET)} KEY_ALL_BUTTON1={run(C:\Progra~1\myHTPC\myHTPC.exe)} KEY_ALL_BUTTON2={run(C:\Progra~1\FreyTe~1\SageTV\SageTV.exe)} KEY_ALL_BUTTON3={run(C:\Progra~1\totalcmd\TOTALCMD.EXE)} 2) Basically, ensure that window titles are the minimal length. I remove all extra information from the title bar to make finding the app easier. In the case of MPC, merely removed all file name playing information from the title. There were multiple programs (WMP, etc.) that had this issue, but was easy enough to configure / resolve. |
#5
|
||||
|
||||
Hmmm... I wonder if there is some sort of bug in IR.exe... perhaps you are right about the very long window title causing a problem.
You've removed _all_ the mode() commands, including the one used when you put SageTV to sleep? Your SageTV section had: KEY_ALL_POWER={ctrl}z{mode(Default)} If that is still there, you are eventually forcing the thing into default mode permanently. I use mode() to force the use of various sections for every program I use & run it for days w/o having to restart. (I'm not saying that you can't have problems just because I can do that... simply reporting my results. You may be controlling more programs than I do, possibly causing problems I don't see.) My FM radio program changes the Window title every time I change stations, but it continues to work. If you wish to try using mode() again, I would suggest setting aside unique IR codes for starting each app, which I think you already do, then when you hit the start button for some program, its definition in the [default] section would run the exe (should just bring it into focus if already running), and set the mode to that program's section. When it exits, it would set the mode back to mode(default) or mode(). That way, every time you start a program, it would force IR into its mode & also has the side effect of giving the program Windows focus when you press its start button (if running the exe brings it into focus). No need to exit a program just to start another one, either. There is a sort-of debugging trick I can think of: set aside one IR code as your debugging code. In every section, define it as something like: KEY_DEBUG=section name{enter} Then, when the remote seems unresponsive, start Notepad, press the debug key on your remote & see what happens. If it is stuck in some particular [section], you will see its name appear. - Andy |
#6
|
||||
|
||||
- Removed all mode() commands
- Unique keys in [Default] to start main progs (myHTPC, Sage, Total Commander) and one for Restart IR during [default] issues - Neat trick on the [section] part. Just added L4 for this Attached the current file, but not much new. Haven't had the problem since I cut down on the MPC issue 100%. |
#7
|
||||
|
||||
I've been meaning to add this to the things to be tested with irremote.ini -- load a file with a _really_ long name into Notepad & see if that messes things up. However, I haven't had time to do anything with it lately.
Also, you weren't expecting [Media Player Classic] to match a window with a name of something like "Media Player Classic - Some Filename that is playing right now at this instant.mp3" were you? I believe it only does an exact match when comparing "section name" to "window title". - Andy |
#8
|
||||
|
||||
I also have been too lazy to do a comprehensive test on this, but did have "M P C - filename" at one point working on MPC/ir.exe. The main issue seemed to occur when it was too long a filename. My guess is that they really only do a # of char comparison and not the entire window. For the WMP section, there's a findwin() command they use for that, and I'm guessing that is the proper format to do what I originally tried w/ MPC. I don't miss the titlebar detail, so it's working 100% with the exact match.
Still no occurrances of the 'lost remote' issue either, so maybe it was the mode(default) fix I did when you first mentioned it. Really wish Hauppauge had ANY details of how the irremote.ini file worked and/or the protocols for ir.exe worked. Once my son starts preschool in Sept, that might be a good project for fun to reverse engineer. Probably more effort than it is worth. |
#9
|
||||
|
||||
Quote:
Quote:
Quote:
What I would really like to be able to do with findwnd() is use it to either send keys to a particular window (SageTV wouldn't need focus in this case), or at least bring the specified app back into focus so it will receive the keystroke. When you mention "the protocols for ir.exe"... what do you mean? The infrared protocols or something else? The infrared protocol is known: RC5, & that is _all_ the Hauppauge IR receiver can decode in its hardware. - Andy |
#10
|
||||
|
||||
For "protocols for ir.exe", I meant more the INTERNAL protocols, as to how it internally works, as opposed to the RC5 codes. Figured all that easily enough when you pointed us in the JP1 direction. Knowing the exact limits of the receiver would be good too. Knowing some of the tech specs might be useful, in that you could build a replacement h/w and/or s/w component to replace the one there. (I've seen pretty good do-it-yourself h/w receivers, and might want to play; I also think the s/w could be configured to work w/ my wireless Logitech MX Duo keyboard, which would have add'l keys I could add from the non-k/b part.) Most of this is idle curiousity, although the more it was opened (i.e. less reverse engineering), the more interest I'd have in playing. SageTV SDK would be of utmost interest if v2 had the ability to add external programming helpers; in lieu of that, this seems like an interesting diversion.
I've been particularly annoyed with the wintv2k.exe, wintv32.exe, etc list of programs listed in ir.exe and the reason I can't find the configuration. I pulled out Hackman Hex Editor to break down some of the internals of ir.exe to satisfy my curiousity. I wasn't disappointed. Here's what I found. Instead of ir.exe being configured by some file/registry entry to load that program submenu, it is actually hardcoded into the app itself. It has (at least) 6 progs available of which I only have two active (listed above). The remaining ones include: radio.exe, wintvcap.exe, snapshot.exe, vtplus.exe. There is a whole bunch of interesting things inside this program.
__________________
--- ToonGal --- Server: Intel BOXD865PERLK, 1GB, P4 3.0GHz 800MHz Hyper Threading Tuners: Hauppauge WinTV-PVR-250 [x3] (Revs B310, B382 [x2]) Software: Windows 2000 SP4, MSIE v6.0, .NET CLR 1.1.4322, .NET CLR 2.0.50727, Java v1.6.0_23 SageTV: SageTV v5.0.4.92, Webserver v2.26R50 Clients: Hauppauge MediaMVP [x2] (Revs D1, D3A) |
#11
|
||||
|
||||
Quote:
Quote:
I think you have to look at this from Hauppauge's point of view: I don't know the 'official' story, but my guess is that this was never intended to be a general purpose remote system, but rather simply one to control the products that come with their cards. We're probably lucky that they decided to make things configurable in an ini file. In contrast: I haven't searched much, but my Xcard remote, for example, seems to have everything hard coded into the software & I don't see an easy way to modify any of it. (It may be in some sort of ini file somewhere & I just don't know it.) If the Hauppauge remote system were really intended to be a full scale, general purpose remote system, I think it would, at the minimum, support other IR codes, and more options for application control, including a better way to send commands to an app that does not have focus. Quote:
- Andy |
#12
|
||||
|
||||
If you keep contact with a Hauppauge person who codes ir.exe (or knows the programmer), there's a bug in the irremote.ini handling. I am playing with Zoom Player, after many recommendations, and one of their default keys to control a feature is {shift}{home}. This was obviously easy to add to the .ini file, but it was NOT handled correctly by ir.exe. It was ignored. Some preliminary tests show that {shift}, {alt}, and {ctrl} do NOT work with {} commands (like {home}, {end}, etc).
When you say: KEY1={shift}a KEY2={shift}{home} it does not acknowledge the holding of {shift} when executing the {home} on KEY2, but does generate "A" on KEY1. My guess is the programmer simply looks at the next character and doesn't process the {} commands, just single characters. I first wanted to clear a text box with my remote, using: KEYX={end}{shift}{home}{back} but when that didn't work, I just assumed I did something wrong, and didn't try again. However, even a straight {shift}{home} and {shift}{end} (playlist control) don't work. For those who care, pleasantly surprised by ZoomPlayer v4b3, and I've been a very biased MPC user forever. Might actually switch if the testing is as positive as the initial reaction. |
#13
|
||||
|
||||
Quote:
You might want to try again. (Don't forget to restart IR.exe after every irremote.ini edit; I don't know if that was the problem or not.) If it doesn't work... I'm not sure why it would work in Notepad but not another program. - Andy |
#14
|
||||
|
||||
Quote:
If it works on your system in notepad, and not on mine, then I have to conclude we have different versions. This program is horribly version stamped (i.e. none), so the best I can do is provide detailed md5 info to see if it checks/checksums with yours. ; 102455 11:25.52 2003-04-23 Ir.exe e4dcafe3b14df98b8bb6f4f402ee975c *Ir.exe KEY_ALL_FASTREWIND={shift}{home} KEY_ALL_FASTFORWARD=={end}{shift}{home}{back} Those are the two lines in [debug.txt] I altered. Strange behavior: - the FREW acts as a {home} only (no text from cursor to home highlighted) - the FFWD acts as an {insert "=" at cursor} then {home} I have NO explanation or clue about the ffwd. Packaging up both ir.exe and irremote.ini for further comparisons. I thought I have the latest version from the SHS site, but again, so hard to tell given the lack of version stamping (another request for Haup if you advise them on improvements). |
#15
|
||||
|
||||
Quote:
If you have an older, simpler irremote.ini (the original ini?), perhaps try the commands in that file. Sorry, but with a quick glance through your ini, nothing immediately jumps out at me. - Andy |
#16
|
||||
|
||||
Quote:
Quote:
Quote:
REWIND={shift}{home} FASTFWD={end}{shift}{home}{back} Same results. Merely acted as a {home} key. Quote:
I tried the {shift}{home} in notepad, ZoomPlayer, and Sage, just to make sure that I was thorough. Maybe if you could post your .exe if the md5 isn't the same value. I'm lost at this point... Thanks again for the help, hun. |
#17
|
||||
|
||||
Quote:
- Andy Edit: Did I ask whether you downloaded & installed the latest IR drivers on SHS's site? 2.35.21321 Last edited by Opus4; 05-07-2004 at 10:03 AM. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|