From: Stefan Pluecken Date: Sun, 25 Dec 2005 23:29:43 +0000 (+0000) Subject: add vcr scart switch to main menu X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=389ae07e59aaf1b8e504801cd49409072f7d3b6b add vcr scart switch to main menu --- diff --git a/data/menu.xml b/data/menu.xml index 9aacc98..7f0df14 100644 --- a/data/menu.xml +++ b/data/menu.xml @@ -18,6 +18,7 @@ + diff --git a/data/skin.xml b/data/skin.xml index 4be9475..3a253e7 100644 --- a/data/skin.xml +++ b/data/skin.xml @@ -41,7 +41,7 @@ - + diff --git a/lib/driver/avswitch.cpp b/lib/driver/avswitch.cpp index 40db19a..482a0f0 100644 --- a/lib/driver/avswitch.cpp +++ b/lib/driver/avswitch.cpp @@ -46,6 +46,13 @@ void eAVSwitch::setInput(int val) write(fd, input[val], strlen(input[val])); close(fd); + if (val == 1) + setFastBlank(0); +} + +void eAVSwitch::setFastBlank(int val) +{ + int fd; char *fb[] = {"low", "high", "vcr"}; @@ -54,7 +61,7 @@ void eAVSwitch::setInput(int val) return; } - write(fd, input[val], strlen(fb[0])); + write(fd, fb[val], strlen(fb[0])); close(fd); } diff --git a/lib/driver/avswitch.h b/lib/driver/avswitch.h index ec7d5c1..9f6eccb 100644 --- a/lib/driver/avswitch.h +++ b/lib/driver/avswitch.h @@ -11,7 +11,8 @@ public: ~eAVSwitch(); static eAVSwitch *getInstance(); - + + void setFastBlank(int val); void setColorFormat(int format); void setAspectRatio(int ratio); void setVideomode(int mode); diff --git a/lib/python/Components/AVSwitch.py b/lib/python/Components/AVSwitch.py index 768b08e..33ea660 100644 --- a/lib/python/Components/AVSwitch.py +++ b/lib/python/Components/AVSwitch.py @@ -3,6 +3,7 @@ import os from enigma import * class AVSwitch: + INPUT = { "ENCODER": 0, "SCART": 1, "AUX": 2 } def __init__(self): pass @@ -19,6 +20,9 @@ class AVSwitch: def setWSS(self, value): #print "wss:" + str(value) pass + + def setInput(self, input): + eAVSwitch.getInstance().setInput(self.INPUT[input]) def InitAVSwitch(): config.av = ConfigSubsection(); @@ -46,4 +50,5 @@ def InitAVSwitch(): config.av.aspectratio.addNotifier(setAspectRatio); config.av.tvsystem.addNotifier(setSystem); config.av.wss.addNotifier(setWSS); - + + iAVSwitch.setInput("ENCODER") # init on startup \ No newline at end of file diff --git a/lib/python/Screens/Makefile.am b/lib/python/Screens/Makefile.am index 03c01e9..95f3a04 100644 --- a/lib/python/Screens/Makefile.am +++ b/lib/python/Screens/Makefile.am @@ -8,4 +8,4 @@ install_PYTHON = \ EpgSelection.py EventView.py Mute.py Standby.py ServiceInfo.py \ AudioSelection.py InfoBarGenerics.py HelpMenu.py Wizard.py __init__.py \ Dish.py SubserviceSelection.py LanguageSelection.py StartWizard.py \ - TutorialWizard.py PluginBrowser.py MinuteInput.py + TutorialWizard.py PluginBrowser.py MinuteInput.py Scart.py diff --git a/lib/python/Screens/Scart.py b/lib/python/Screens/Scart.py new file mode 100644 index 0000000..50e65f1 --- /dev/null +++ b/lib/python/Screens/Scart.py @@ -0,0 +1,23 @@ +from Screen import Screen +from MessageBox import MessageBox + +from Components.AVSwitch import AVSwitch + +from enigma import * + +class Scart(Screen): + def __init__(self, session): + Screen.__init__(self, session) + + self.avswitch = AVSwitch() + + self.avswitch.setInput("SCART") + + self.onShown.append(self.showMessageBox) + + def showMessageBox(self): + self.session.openWithCallback(self.switchToTV, MessageBox, _("If you see this, something is wrong with\nyour scart connection. Press OK to return."), MessageBox.TYPE_ERROR) + + def switchToTV(self, val): + self.avswitch.setInput("ENCODER") + self.close() \ No newline at end of file