Release 0.19 of MythTV introduced the ability to control mythfrontend via a socket interface. Commands are sent and replies are received in text mode, there is no fancy xml interface or anything - it is meant to be able to be used via something as simple as telnet. This feature has to be enabled in the general settings of the frontend setup. The default port is 6546, so after restarting mythfrontend, you can test by telnetting to localhost on port 6546

play

play channel up - Change channel Up
play channel down - Change channel Down
play channel NUMBER - Change to a specific channel number
play chanid NUMBER - Change to a specific channel id (chanid)
play file FILENAME - Play specified file
play program CHANID yyyy-mm-ddThh:mm:ss
- Play program with chanid & starttime
play program CHANID yyyy-mm-ddThh:mm:ss resume
- Resume program with chanid & starttime
play save screenshot FILENAME
- Save screenshot from current position
play seek beginning - Seek to the beginning of the recording
play seek forward - Skip forward in the video
play seek backward - Skip backwards in the video
play seek HH:MM:SS - Seek to a specific position
play speed pause - Pause playback
play speed normal - Playback at normal speed
play speed 1x - Playback at normal speed
play speed -1x - Playback at normal speed in reverse
play speed 1/16x - Playback at 1/16x speed
play speed 1/8x - Playback at 1/8x speed
play speed 1/4x - Playback at 1/4x speed
play speed 1/2x - Playback at 1/2x speed
play speed 2x - Playback at 2x speed
play speed 4x - Playback at 4x speed
play speed 8x - Playback at 8x speed
play speed 16x - Playback at 16x speed
play stop - Stop playback

Development

Modified:
trunk/mythtv/programs/mythfrontend/networkcontrol.cpp
Log:
Network Control socket interface changes.
Add some new valid keys. The list:
home, end, return, tab, backtab, insert, delete, plus, comma, minus,
period, numbersign (aka poundsign), dollar, percent, ampersand, parenleft,
parenright, asterisk, question, bar, pipe, and F13 through F24. This also
adds the ability to use the actual symbol for mose of these such as "key +"
instead of having to type "key plus".
Add the ability to send key combinations such as CTRL+B, ALT+F, etc.. The
four supported modifiers are CTRL, ALT, SHIFT, and META and they can be
used individually such as CTRL+B or together such as CTRL+ALT+B.
Fix some minor bugs related to case conversion, previously the code would
lower() the whole input command and then uppercase the few places that
needed it such as when passing a Qt::ISODateTime, now we just lower() when
comparing things that need case-insensitive comparisons.
For debugging purposes, add the ability to sleep in the middle of a key
combination. You can now use the keyword 'sleep' to sleep one second in
the middle of a key command. Here's a not-so-useful example:
"key down down sleep down enter"