How SageTV and TheaterTek TCP drivers add value


Senior Member
For all ye who wonder why bidirectional TCP drivers for both SageTV and TheaterTek are value add: I just setup my system so that when I press the right-arrow button, CQC will determine whether
1) Sage is currently playing a show, in which case it'll send it a skip fwd1 command,
2) TheaterTek is up but not playing, in which case it sends it a right-nav command,
3) TheaterTek is up and playing, in which case it sends a fastforward 2X command.

I'm going to repeat this for both right-arrow buttons and both left-arrow buttons on my remote.

A context-sensitive remote is a beautifully easy way of simplifying a system for the wife/in-law types...

BTW, here's the entirety of the code. I didn't even type any of this in directly, it was all point&click. This is just the output of the point&clicking.

If System::Equals($(familyroom-sagetv-tcp.PlayMode, Play) 
   Devices::FieldWrite(familyroom-sagetv-appcontrol.TransportOp, Rewind 1) 
If Devices::DriverIsReady(familyroom-theatertek-ip) 
   If System::Equals($(familyroom-theatertek-ip.PlayMode, Paused) 
      Devices::FieldWrite(familyroom-theatertek-ip.Navigation, Left) 
   If System::Equals($(familyroom-theatertek-ip.PlayMode, Playing) 
      Devices::FieldWrite(familyroom-theatertek-ip.Transport, Rewind 2X)