[mythtv] libNuppelVideo and switching modes

Isaac Richards mythtv-dev@snowman.net
Tue, 16 Jul 2002 17:16:28 -0400

On Thursday 11 July 2002 01:59 am, Isaac Richards wrote:
> > 3. Since myth tv uses a hacked nuppelvideo lib, can you switch to and
> > from tuner ==> video input with myth tv? I have direct tv and analog
> > cable tv. Can I build functionality into myth to accomodate both or would
> > be a big pain?
> Can't switch between em in the current codebase, no.  It really shouldn't
> be all that hard to implement it, though.  I'd be happy to give you
> pointers and eventually accept a patch that does that, if you're so
> inclined to work on one =)
> Isaac

I just committed code to CVS to handle _most_ of this functionality.  
Basically, support's there for switching inputs manually (using the 'c' key) 
and for switching to an input and changing channels on an external device 
(using an external program) automatically.  So, telling the TV code to switch 
to channel 'Composite1:25' would switch to the Composite1 input of the TV 
card, and call an external program like 'changedevice 25' to change the 
channel on the external device.  

So, if you'd want to finish off the feature, and have it be useable with 
everything, like scheduled recordings and live tv, here's what needs done:  

 1) Modifying the database structure to use a string instead of an int for 
channels.  This would be pretty easy, just a matter of modifying the database 
structures, and then going through the codebase to modify the few places 
where it writes an int to the channel number fields.

 2) Modifying the grabber scripts to be able to grab multiple sources, and 
prepend the proper prefix to the channel numbers it grabs -- maybe: 
    ./filldata Composite1 
would grab all the dish channels, create channels in the database like 
Composite1:3, Composite1:4, etc., while:
would grab all the regular TV channels and inset them like normal.  Basically 
just a tiny bit of scripting.

 3) Testing it to make sure it all works.

It should be quite easy..  I just don't have any real use for the feature, and 
I can't really test it, so I'll probably just leave it as is, until you (or 
someone else) submits a patch to finish things off.