from Components.Sources.FrontendStatus import FrontendStatus
from Components.Sources.Boolean import Boolean
from Components.Sources.Clock import Clock
-from Components.TimerList import TimerEntryComponent
from Components.config import config, ConfigBoolean, ConfigClock
from EpgSelection import EPGSelection
from Plugins.Plugin import PluginDescriptor
def keyNumberGlobal(self, number):
# print "You pressed number " + str(number)
if number == 0:
- self.servicelist.recallPrevService()
+ if isinstance(self, InfoBarPiP) and self.pipHandles0Action():
+ self.pipDoHandle0Action()
+ else:
+ self.servicelist.recallPrevService()
else:
self.session.openWithCallback(self.numberEntered, NumberZap, number)
SEEK_STATE_FF_2X = (0, 2, 0, ">> 2x")
SEEK_STATE_FF_4X = (0, 4, 0, ">> 4x")
SEEK_STATE_FF_8X = (0, 8, 0, ">> 8x")
+ SEEK_STATE_FF_16X = (0, 16, 0, ">> 16x")
SEEK_STATE_FF_32X = (0, 32, 0, ">> 32x")
+ SEEK_STATE_FF_48X = (0, 48, 0, ">> 48x")
SEEK_STATE_FF_64X = (0, 64, 0, ">> 64x")
SEEK_STATE_FF_128X = (0, 128, 0, ">> 128x")
+ SEEK_STATE_BACK_8X = (0, -8, 0, "<< 8x")
SEEK_STATE_BACK_16X = (0, -16, 0, "<< 16x")
SEEK_STATE_BACK_32X = (0, -32, 0, "<< 32x")
+ SEEK_STATE_BACK_48X = (0, -48, 0, "<< 48x")
SEEK_STATE_BACK_64X = (0, -64, 0, "<< 64x")
SEEK_STATE_BACK_128X = (0, -128, 0, "<< 128x")
if action[:5] == "seek:":
time = int(action[5:])
self.screen.seekRelative(time * 90000)
- self.screen.showAfterSeek()
+ if config.usage.show_infobar_on_skip.value:
+ self.screen.showAfterSeek()
return 1
else:
return HelpableActionMap.action(self, contexts, action)
self.SEEK_STATE_PAUSE: self.SEEK_STATE_SM_EIGHTH,
self.SEEK_STATE_FF_2X: self.SEEK_STATE_FF_4X,
self.SEEK_STATE_FF_4X: self.SEEK_STATE_FF_8X,
- self.SEEK_STATE_FF_8X: self.SEEK_STATE_FF_32X,
- self.SEEK_STATE_FF_32X: self.SEEK_STATE_FF_64X,
+ self.SEEK_STATE_FF_8X: self.SEEK_STATE_FF_16X,
+ self.SEEK_STATE_FF_16X: self.SEEK_STATE_FF_32X,
+ self.SEEK_STATE_FF_32X: self.SEEK_STATE_FF_48X,
+ self.SEEK_STATE_FF_48X: self.SEEK_STATE_FF_64X,
self.SEEK_STATE_FF_64X: self.SEEK_STATE_FF_128X,
self.SEEK_STATE_FF_128X: self.SEEK_STATE_FF_128X,
- self.SEEK_STATE_BACK_16X: self.SEEK_STATE_PLAY,
+ self.SEEK_STATE_BACK_8X: self.SEEK_STATE_PLAY,
+ self.SEEK_STATE_BACK_16X: self.SEEK_STATE_BACK_8X,
self.SEEK_STATE_BACK_32X: self.SEEK_STATE_BACK_16X,
- self.SEEK_STATE_BACK_64X: self.SEEK_STATE_BACK_32X,
+ self.SEEK_STATE_BACK_48X: self.SEEK_STATE_BACK_32X,
+ self.SEEK_STATE_BACK_64X: self.SEEK_STATE_BACK_48X,
self.SEEK_STATE_BACK_128X: self.SEEK_STATE_BACK_64X,
self.SEEK_STATE_SM_HALF: self.SEEK_STATE_SM_HALF,
self.SEEK_STATE_SM_QUARTER: self.SEEK_STATE_SM_HALF,
def seekBack(self):
lookup = {
- self.SEEK_STATE_PLAY: self.SEEK_STATE_BACK_16X,
+ self.SEEK_STATE_PLAY: self.SEEK_STATE_BACK_8X,
self.SEEK_STATE_PAUSE: self.SEEK_STATE_PAUSE,
self.SEEK_STATE_FF_2X: self.SEEK_STATE_PLAY,
self.SEEK_STATE_FF_4X: self.SEEK_STATE_FF_2X,
self.SEEK_STATE_FF_8X: self.SEEK_STATE_FF_4X,
- self.SEEK_STATE_FF_32X: self.SEEK_STATE_FF_8X,
- self.SEEK_STATE_FF_64X: self.SEEK_STATE_FF_32X,
+ self.SEEK_STATE_FF_16X: self.SEEK_STATE_FF_8X,
+ self.SEEK_STATE_FF_32X: self.SEEK_STATE_FF_16X,
+ self.SEEK_STATE_FF_48X: self.SEEK_STATE_FF_32X,
+ self.SEEK_STATE_FF_64X: self.SEEK_STATE_FF_48X,
self.SEEK_STATE_FF_128X: self.SEEK_STATE_FF_64X,
+ self.SEEK_STATE_BACK_8X: self.SEEK_STATE_BACK_16X,
self.SEEK_STATE_BACK_16X: self.SEEK_STATE_BACK_32X,
- self.SEEK_STATE_BACK_32X: self.SEEK_STATE_BACK_64X,
+ self.SEEK_STATE_BACK_32X: self.SEEK_STATE_BACK_48X,
+ self.SEEK_STATE_BACK_48X: self.SEEK_STATE_BACK_64X,
self.SEEK_STATE_BACK_64X: self.SEEK_STATE_BACK_128X,
self.SEEK_STATE_BACK_128X: self.SEEK_STATE_BACK_128X,
self.SEEK_STATE_SM_HALF: self.SEEK_STATE_SM_QUARTER,
self.SEEK_STATE_SM_QUARTER: self.SEEK_STATE_SM_EIGHTH,
self.SEEK_STATE_SM_EIGHTH: self.SEEK_STATE_PAUSE,
- self.SEEK_STATE_EOF: self.SEEK_STATE_BACK_16X,
+ self.SEEK_STATE_EOF: self.SEEK_STATE_BACK_8X,
}
self.setSeekState(lookup[self.seekstate])
def checkSkipShowHideLock(self):
wantlock = self.seekstate != self.SEEK_STATE_PLAY
- if config.usage.show_infobar_on_zap.value:
+ if config.usage.show_infobar_on_skip.value:
if self.lockedBecauseOfSkipping and not wantlock:
self.unlockShow()
self.lockedBecauseOfSkipping = False
return list
def runPlugin(self, plugin):
- self.session.servicelist = self.servicelist
- plugin(session = self.session)
- del self.session.servicelist
+ plugin(session = self.session, servicelist = self.servicelist)
# depends on InfoBarExtensions
class InfoBarSleepTimer:
def pipShown(self):
return self.session.pipshown
+ def pipHandles0Action(self):
+ return self.pipShown() and config.usage.pip_zero_button.value != "standard"
+
def getShowHideName(self):
if self.session.pipshown:
return _("Disable Picture in Picture")
def movePiP(self):
self.session.open(PiPSetup, pip = self.session.pip)
+ def pipDoHandle0Action(self):
+ use = config.usage.pip_zero_button.value
+ if "swap" == use:
+ self.swapPiP()
+ elif "swapstop" == use:
+ self.swapPiP()
+ self.showPiP()
+ elif "stop" == use:
+ self.showPiP()
+
from RecordTimer import parseEvent
class InfoBarInstantRecord:
if not x in self.session.nav.RecordTimer.timer_list:
self.recording.remove(x)
elif x.dontSave and x.isRunning():
- list.append(TimerEntryComponent(x, False))
+ list.append((x, False))
if answer[1] == "changeduration":
if len(self.recording) == 1:
n = audio and audio.getNumberOfTracks() or 0
keys = [ "red", "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] + [""]*n
tlist = []
- print "tlist:", tlist
if n > 0:
self.audioChannel = service.audioChannel()
tlist.append((description, x))
- selectedAudio = tlist[0][1]
- tlist.sort(lambda x,y : cmp(x[0], y[0]))
+ selectedAudio = audio.getCurrentTrack()
+ tlist.sort(key=lambda x: x[0])
selection = 2
for x in tlist: