Puckdropper's Place Logo

Main Page channel.exe IBM XT Install MFM drive Qbasic Programs TI 4000e Laptop TI99 4/a


channel.exe is an ".exe channel changer" required for certain computer DVR programs (such as GBPVR) to communicate with WinLIRC

Computer based digital video recorders require some method to change to a specific channel. Most devices do not include any method of doing so with a computer, so an alternate method is needed. This is generally done with an "IR Blaster," which emulates the infrared remote that your device uses. A program, such as WinLIRC, is required to produce the codes via the IR Blaster. Since there are a variety of methods to communicate with these programs, DVR programs such as GBPVR only have a few methods built in. GBPVR allows the use of an ".exe channel changer" which is what channel.exe is. GBPVR sends the channel change request to channel.exe, which then processes it and passes the request to WinLIRC (in a format WinLIRC can use).

Credits and Sources

The original channel.exe was written by Brett Smith and posted on his website: http://computersmithery.com/Channel.aspx

Most of the original channel.exe remains unchanged, with network timeouts and logging being added. The original code (and the parts copied from original code) still belongs to Brett Smith, who has provided permission to post the updated version on my website.


channel_2.1.3.exe.zip channel.exe only (probably what you want.)

channel_2.1.3.zip The full Visual Basic source, plus channel.exe in the Debug folder. (You don't need this to run channel.exe.)


Run the channel.exe program without command line options to bring up the configuration screen. Once set up, channel.exe will remember the settings so it can be used from the command line.

From the command line: channel.exe [channelnumber]
[channelnumber] is the full channel number

channel.exe 429

To use the program with WinLIRC, you'll have to add a line to the registry on the machine WinLIRC is running on:
Key: Password
String: send_once


LIRC Server IP or Name: Usually or localhost, this is the name or IP address of the computer WinLIRC is running on.

LIRC Server Port: The port WinLIRC is listening on. (This option is set in WinLIRC itself.)

Remote Name: The name of the remote WinLIRC is supposed to use to change the channel. channel.exe only supports one remote control at a time.

Remote Decreate Codes: The number of times to resend the infrared code to ensure it is correctly understood by the receiving device.

Channel Padding: The number of digits to pad the channel out to by adding 0's. Some devices require entering 002 to change to channel 2.

Confirmation Command: The command required to indicate that sending the channel is complete. If the device requires entering 002[enter] to change to channel 2, enter the command enter here. (This command must be in WinLIRC's remote control definition file.)

Wait between keystrokes: The time required to wait before sending the next channel digit. A short pause is often required to ensure the code has been properly sent.

Enable Logging: Log the commands and responses betwen channel.exe and WinLIRC. Log files are not automatically trimmed, and intended to be used for diagnostic purposes only. The log file create will be named channel.log and in the same directory (folder) as channel.exe.

Network Timeout: The time channel.exe waits before giving up. Without this, channel.exe might wait forever for a response from WinLIRC that never comes.

Failure Timeout: The amount of time to wait after a failure before retrying. If channel.exe encounters a network error, resending the command too soon may result in the device receiving partial channel numbers.

Retry After Failure: Whether or not to retry after a failure occurs. It will only retry once.

Home Creative Stuff Model Railroad Ice Rink Computers message board Site Updates