Author: duncan
Date: Fri Sep 29 14:10:03 2006
New Revision: 8270
Modified:
branches/rel-1-5/freevo/freevo_config.py
branches/rel-1-5/freevo/src/helpers/recordserver.py
branches/rel-1-5/freevo/src/tv/ivtv_xine_tv.py
Log:
Reversed patch padding-prepost.diff as it broke record server
[ 1567502 ] Separate pre- and post-recording padding
Modified: branches/rel-1-5/freevo/freevo_config.py
==============================================================================
--- branches/rel-1-5/freevo/freevo_config.py (original)
+++ branches/rel-1-5/freevo/freevo_config.py Fri Sep 29 14:10:03 2006
@@ -1188,10 +1188,6 @@
if CONF.fbxine:
plugin.activate('audio.xine')
-# default to XINE_VO/AO_DEV:
-XINE_TV_VO_DEV = None
-XINE_TV_AO_DEV = None
-XINE_TV_TIMESHIFT_FILEMASK = "/you must set XINE_TV_TIMESHIFT_FILEMASK in your
local_conf.py"
# ======================================================================
# Freevo TV settings:
@@ -1278,8 +1274,6 @@
# This must be a value in seconds although at the moment only has
# the percision of one minute.
TV_RECORD_PADDING = 0 * 60
-TV_REVORD_PADDING_PRE = None
-TV_REVORD_PADDING_POST = None
if os.uname()[0] == 'FreeBSD':
# FreeBSD's bsdbt848 TV driver doesn't support audio settings?
Modified: branches/rel-1-5/freevo/src/helpers/recordserver.py
==============================================================================
--- branches/rel-1-5/freevo/src/helpers/recordserver.py (original)
+++ branches/rel-1-5/freevo/src/helpers/recordserver.py Fri Sep 29 14:10:03 2006
@@ -140,10 +140,6 @@
# XXX: In the future we should have one lock per VideoGroup.
tv_lock_file = config.FREEVO_CACHEDIR + '/record'
-if config.TV_RECORD_PADDING_PRE == None:
- config.TV_RECORD_PADDING_PRE = config.TV_RECORD_PADDING
-if config.TV_RECORD_PADDING_POST == None:
- config.TV_RECORD_PADDING_POST = config.TV_RECORD_PADDING
def print_plugin_warning():
print '*************************************************'
@@ -395,6 +391,7 @@
rec_prog = None
cleaned = None
delay_recording = FALSE
+ total_padding = 0
sr = self.getScheduledRecordings()
progs = sr.getProgramList()
@@ -418,14 +415,14 @@
except:
recording = FALSE
- if (prog.start - config.TV_RECORD_PADDING_PRE) <= now \
- and (prog.stop + config.TV_RECORD_PADDING_POST) >= now \
+ if (prog.start - config.TV_RECORD_PADDING) <= now \
+ and (prog.stop + config.TV_RECORD_PADDING) >= now \
and recording == FALSE:
# just add to the 'we want to record this' list
# then end the loop, and figure out which has priority,
# remember to take into account the full length of the shows
# and how much they overlap, or chop one short
- duration = int((prog.stop + config.TV_RECORD_PADDING_POST ) -
now - 10)
+ duration = int((prog.stop + config.TV_RECORD_PADDING ) - now -
10)
if duration < 10:
return
@@ -438,7 +435,7 @@
# has a higher priority.
if self.isProgAFavorite(prog)[0] and \
not self.isProgAFavorite(currently_recording)[0]
and \
- prog.stop + config.TV_RECORD_PADDING_POST > now:
+ prog.stop + config.TV_RECORD_PADDING > now:
_debug_('ignore %s' % String(prog))
continue
sr.removeProgram(currently_recording,
@@ -454,10 +451,9 @@
# Therefore we have overlapping paddings but not
# real stop / start times.
overlap = (currently_recording.stop + \
- config.TV_RECORD_PADDING_POST) - \
- (prog.start -
config.TV_RECORD_PADDING_PRE)
- if overlap <= ((config.TV_RECORD_PADDING_PRE +
- config.TV_RECORD_PADDING_POST)/4):
+ config.TV_RECORD_PADDING) - \
+ (prog.start - config.TV_RECORD_PADDING)
+ if overlap <= (config.TV_RECORD_PADDING/2):
sr.removeProgram(currently_recording,
tv_util.getKey(currently_recording))
plugin.getbyname('RECORD').Stop()
@@ -481,7 +477,7 @@
for prog in progs.values():
# If the program is over remove the entry.
- if ( prog.stop + config.TV_RECORD_PADDING_POST) < now:
+ if ( prog.stop + config.TV_RECORD_PADDING) < now:
_debug_('found a program to clean')
cleaned = TRUE
del progs[tv_util.getKey(prog)]
@@ -626,7 +622,7 @@
for fav in favs.values():
- if prog.title.lower().find(fav.title.lower()) >= 0:
+ if prog.title.lower() == fav.title.lower():
if fav.channel ==
tv_util.get_chan_displayname(prog.channel_id) \
or fav.channel == 'ANY':
if Unicode(fav.dow) == Unicode(dow) or Unicode(fav.dow) ==
u'ANY':
@@ -709,18 +705,33 @@
# if prog.start <= last and favorite:
(isFav, favorite) = self.isProgAFavorite(prog, favs)
if prog.start <= last and isFav:
- # do not yet remove programs currently being recorded:
- isRec = hasattr(prog, "isRecording") and prog.isRecording
- if not isRec:
+ # do not yet remove programs that are currently being recorded:
+ try:
+ rec_now = prog.isRecording
+ except:
+ rec_now = False
+
+ if rec_now:
+ _debug_("not removing currently recorded favorite")
+ else:
self.removeScheduledRecording(prog)
for ch in guide.chan_list:
for prog in ch.programs:
(isFav, favorite) = self.isProgAFavorite(prog, favs)
- isRec = hasattr(prog, "isRecording") and prog.isRecording
- if isFav and not isRec:
- prog.isFavorite = favorite
- self.scheduleRecording(prog)
+ if isFav:
+ # do not schedule favorites that are currently being
recorded:
+ try:
+ rec_now = prog.isRecording
+ except:
+ rec_now = False
+
+ if rec_now:
+ _debug_("not scheduling currently recorded favorite")
+ else:
+ prog.isFavorite = favorite
+ self.scheduleRecording(prog)
+
return (TRUE, 'favorites schedule updated')
Modified: branches/rel-1-5/freevo/src/tv/ivtv_xine_tv.py
==============================================================================
--- branches/rel-1-5/freevo/src/tv/ivtv_xine_tv.py (original)
+++ branches/rel-1-5/freevo/src/tv/ivtv_xine_tv.py Fri Sep 29 14:10:03 2006
@@ -24,11 +24,6 @@
TRUE = 1
FALSE = 0
-if not config.XINE_TV_VO_DEV:
- config.XINE_TV_VO_DEV = config.XINE_VO_DEV
-if not config.XINE_TV_AO_DEV:
- config.XINE_TV_AO_DEV = config.XINE_AO_DEV
-
class PluginInterface(plugin.Plugin):
"""
Plugin to watch tv with xine.
@@ -69,7 +64,7 @@
# Suppress annoying audio clicks
time.sleep(0.4)
- self.mixer.start(mode)
+ self.mixer.start()
_debug_('%s: started %s app' % (time.time(), self.mode))
@@ -315,13 +310,13 @@
self.volume = self.mixer.getPcmVolume()
self.mixer.setPcmVolume(0)
- def start(self, mode):
+ def start(self):
if (self.mixer != None):
# XXX Hm.. This is hardcoded and very unflexible.
- if mode == 'vcr':
+ if self.mode == 'vcr':
self.mixer.setMicVolume(config.VCR_IN_VOLUME)
else:
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog