[mythtv] $1,000 offer for a Myth front-end socket control

Michael Anderson michael.anderson at plutohome.com
Fri Dec 9 14:56:49 EST 2005

I am supposed to present a client with PVR options for their set-top box,
both open source like Myth and VDR, and closed, proprietary ones we license.
We would like to present a Myth-solution, but cannot because we never found
a way to send the Myth front-end commands directly, such as over a socket.
It seems LIRC and other programs that want to control Myth just simulate
keystrokes (ie send an 'up' key when it's time to change the channel).
We've done this too, but the end-result is pretty unusable; we can't
definitely make the EPG appear when the user hits the 'EPG' button on his
remote, we can only send a keypress which, depending on what's onscreen, may
or may not have the desired effect.


I've done similar things with other open source projects, and it's usually a
trivial task, like a day or two.  There's probably just 1 place where an
interceptor or hook needs to go that opens a socket and listens for
commands, and relays those commands back into the Myth frontend.  And we
already have socket classes to encapsulate all that work.  But I know
nothing about Myth front-end's architecture and have some other deadlines,
so I got approval to offer $1,000 to anybody who would do it.  Hopefully
with Myth it's also just a day or two for someone who knows where to put
those hooks.  Details are:



We would provide the 'client app': a C++ console app (ie no X), compilable
with gcc on Linux 2.6 kernel that contains a class with function stubs for
each of the commands to be implemented below.  The developer can type the
commands in the console to make the app call the function stubs.  We assume
responsibility for giving you this client app.  The deliverable is: a)
adding the code to Myth front end so that it allows this external client app
to communicate commands and get status info directly, likely by listening on
a socket, and b) adding the code to the client app to connect to whatever
Myth front end is running on the current box and implementing the function
stubs.  The end result is you can run Myth front end (it's sitting at the
menu), and you can run this new client app, which will say something like
'connected to Myth front end', and then you can type into the client app
'goto EPG' and the EPG appears, and 'goto normal tv' and 'tune to channel
50', 'set playback speed=pause', and Myth will be on channel 50 with paused
video.  Again, we will give you the client app that accepts the commands
from the console, parses them, and calls the appropriate functions.  We
already have a c++ class that handles socket communications if you wish to
use it.


---------PAYMENT TERMS-------------

Payment terms: $500 via your choice of paypal, IKobo, or U.S. check as soon
as you can show that you know how to do it, by providing a client app and
Myth front end where the client app can connect to Myth and do 1 thing, jump
directly to the EPG or live tv no matter what Myth's current state, without
using keyboard stuffing.  There's no need to provide source code at this
point-just show that you know how to do it.  The other $500 paid immediately
when it's done and we are able to send the commands listed below and have
Myth execute them regardless of the front end's current state.  Any code for
Myth must be submitted back under the GPL license, of course, so this same
mechanism can be used for tighter integration with LIRC.


--------------Commands to be implemented----------------


Tune to Specific Channel

Channel Up/Down

Goto time code

Set Playback Speed (ie 4x, -1x rewind, 0x pause, 1/4x, etc.)

Goto Mode or Menu (parameter is the menu: ie goto EPG menu, goto 'normal
viewing tv', goto 'recorded tv options', goto 'setup screen')

Play a given file/recording

Get Current Timecode (including indicating if it's time lapse tv or live tv)

Get Current Status (ie live tv, time lapse tv, etc., and what mode is
active: epg, tv viewing, etc.

Move OSD (move highlight up/down/left/right, page u/d/l/r, hit enter - same
thing like simulating keypresses)

Goto input on TV Tuner card

Jump to beginning of ring buffer

Jump to live TV


Eventually the other Myth commands should be supported, and that can be
discussed later, but this is enough for me to make my demo.


You can email replies back to this list or directly to michael.anderson [at]
plutohome [dot] com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20051209/3c5e4caf/attachment.htm

More information about the mythtv-dev mailing list