|
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: ---------DELIVERABLE----------- 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 |
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
