For an idea of what you can do with my software.
Last night I was playing DVDs from DVD Profiler running on my laptop in the family room (home theater). Clicking on a disc icon, the laptop sent IR commands to the Oppo HDMI swicher to switch to the output of the Brite-View wireless HD receiver. The tranmitter sits in a closet connected to 2 Sony CX995V and a CX777ES.
The same action sequence sent a command to the a/v DashBoard running on my Windows Home Server. The WHS connects via USB to a Dacal/Ziotek changer, and to the CX777ES via a USB-rs232 bridge. The slot number is passed by LoadDVD in the action sequence to a/v DashBoard, which then sends commands to the CX777ES. This all takes a couple of minutes before the movie is spinning on the LCD TV.
Then I click on my virtual renote of the X10 1543 mini-controller and it sends an action sequence to the WHS which has another USBUIRT. Those IR signals are converted to X10 by the 1543 and sent to my home theater lights, which are Smarthome INSTEON dimmers, coded for X10.
I think you get the idea. I can do all this with just a few simple action sequence commands, that are triggered by one button click on the disc icon.
For example, to play the disc, LoadDVD sends:
"[DSC] %slot% [RON] homeserver [DEV] CX777ES1 [PRG] CX777ES [ARG] %connect% 36 %rslot% 0 0 1 [ROF]"
The %slot% is gotten from the DVD Profiler "Slot" field, and is used to populate the %rslot% before sending the string to the server. Assuming the slot was 47, the server then sees:
"[DEV] CX777ES1 [PRG] CX77ES [ARG] %connect% 36 47 0 0 1"
The a/v DashBoard in WHS pulls the COM port from the a/v configuration file and substitues for %connect%. Meanwhile, the CX77ES has been defined in the configuration file as cx777.exe, which is then called and passed the arguments, e.g.: "COM1 36 47 0 0 1".
A/v DashBoard has functions for discovery of supported USB, RS232 and firewire changers and automatic update of the configuration file.
"Mickey D" ain't got nothin' on me ... cause "I'm lovin' it" ...