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

Buzz buzz at oska.com
Sat Dec 24 04:28:28 EST 2005

    did you get any takers for your $1000 offer?
Personally, I'd have just used some/all of the existing "jump points" that
are in myth (a keystroke that takes you to a specific/known location/view)
in conjunction with lircd as a socket listner daemon for stuffing
extra/following key-strokes.       Stuffing key strokes works, so long as
you know with certainty what your starting point was (hence the jump
Anyway, are you still looking for somone to do it?   If so, let me know, and
let me know a timeframe.   I'd expect I could do it within a month, probably
less.   (  My C++ is a bit rusty). ... but my C is less rusty....  to be
honest, my perl is light-years ahead of them both.  (yes, I've written
daemon/s reliably in perl before) ... if you are interested in some of my
prior work have a look at http://netreg.sf.net
<BLOCKED::http://netreg.sf.net>   v2 was almost entirely my work - written
for, and implemented by Griffith University, Brisbane, Queensland,
Australia.  (and still in use 2+ years later).


From: mythtv-dev-bounces at mythtv.org [mailto:mythtv-dev-bounces at mythtv.org]
On Behalf Of Michael Anderson
Sent: Saturday, 10 December 2005 5:57 AM
To: mythtv-dev at mythtv.org
Subject: [mythtv] $1,000 offer for a Myth front-end socket control

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/20051224/140d805a/attachment-0001.htm

More information about the mythtv-dev mailing list