Please find attached unified DIFF for ivtv_xine_tv.py to fix channel change
regression from 1.7.3. This DIFF also handles disabling the ivtv_xine_tv.py's
internal MixerControl for use with sixmixer.py and adding a "mixer.reset()"
call to over ride xine's default audio settings on start up.
TV Tuning Regression:
TV tuning behaviour in 1.7.3: Entering numbers into the remote while watching
TV selects the chosen channel number.
TV tuning behaviour in 1.7.4: Entering numbers into the remote while watching
TV selects channel by index from the TV_CHANNELS list.
Expected TV tuning behaviour: Entering numbers into the remote should give the
chosen channel by number.
Cause of unexpected behaviour: Some users may remove channels from their
TV_CHANNELS list in local_conf.py, throwing the indexes out of sync with the
actual channel numbers. In my case, selecting "48" gives channel "53."
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
--- /san/freevo-1.7.4/src/tv/plugins/ivtv_xine_tv.py 2007-11-11 00:07:45.000000000 -0500
+++ /san/freevo-1.7.4_MODIFIED/src/tv/plugins/ivtv_xine_tv.py 2007-12-07 14:16:42.000000000 -0500
@@ -298,7 +298,7 @@
self.tuner = TunerControl()
self.tuner.setParent(self)
- self.mixer = MixerControl()
+ #self.mixer = MixerControl()
self.app_mode = "tv"
self.app = None
@@ -330,13 +330,18 @@
self.prev_app = rc.app()
rc.app(self)
- self.mixer.prepare()
+ #self.mixer.prepare()
self.tuner.SetChannel(channel, True)
self.xine.play()
# Suppress annoying audio clicks
time.sleep(0.6)
- self.mixer.start()
+ #self.mixer.start()
+
+ # Added the lines below to over ride XINE's annoying habit of
+ # using it's default or remembering it's last set volume
+ if plugin.getbyname('MIXER'):
+ plugin.getbyname('MIXER').reset()
_debug_("IVTV_XINE_TV: Started '%s' app" % self.mode, DDEBUG)
@@ -354,7 +359,7 @@
self.ShowMessage("Please repeat to stop\n")
self.confirmstop_time = confirmstop_time
else:
- self.mixer.stop()
+ #self.mixer.stop()
self.xine.stop()
rc.app(self.prev_app)
rc.post_event(PLAY_END)
@@ -457,7 +462,7 @@
self.lastinput_value = newinput_value
self.lastinput_time = newinput_time
- self.tuner.TuneChannelByIndex(newinput_value)
+ self.tuner.TuneChannelByNumber(newinput_value)
if newinput_value > 9:
# cancel intermediate channels
@@ -719,6 +724,19 @@
#========================================================================
+ # TuneChannelByNumber
+ # tune to a channel by explicit number from the TV_CHANNELS list
+ #========================================================================
+
+ def TuneChannelByNumber(self, channel):
+
+ # tune channel by number
+
+ self.PushChannel()
+ self.SetVideoGroup(str(channel))
+
+
+ #========================================================================
# NextChannel
# jump to the next channel in the TV_CHANNELS list
#========================================================================
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel