From: acid-burn Date: Fri, 25 Sep 2009 14:35:43 +0000 (+0200) Subject: SystemPlugins/VideoEnhancement: - add support for dm500hd X-Git-Tag: 2.6.0~49 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/a6db6ed10bd1e49fc009554d7a5db2f573491736?ds=sidebyside SystemPlugins/VideoEnhancement: - add support for dm500hd - replace Buttons and Lables through StaticText for better skinablity - refresh current value in main config screen on change - add current value display to preview screen - add option to increase the increment value for the slider entries. --- diff --git a/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py b/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py index f7c5cfb9..7db02556 100755 --- a/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py +++ b/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py @@ -1,5 +1,5 @@ from enigma import eTimer -from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection,ConfigYesNo +from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigYesNo, NoSave from Tools.CList import CList from Tools.HardwareInfo import HardwareInfo import os @@ -18,6 +18,8 @@ class VideoEnhancement: hw_type = HardwareInfo().get_device_name() config.pep = ConfigSubsection() + config.pep.configsteps = NoSave(ConfigSelection(choices=[1, 5, 10, 25], default = 1)) + def setContrast(config): myval = int(config.value*256) try: @@ -116,7 +118,7 @@ class VideoEnhancement: config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5)) config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal) - if hw_type == 'dm8000': + if hw_type in ( 'dm8000', 'dm500hd' ): def setSplitMode(config): try: print "--> setting splitmode to:",str(config.value) @@ -217,7 +219,7 @@ class VideoEnhancement: if config.usage.setup_level.index >= 2: # expert+ hw_type = HardwareInfo().get_device_name() - if hw_type == 'dm8000' or hw_type == 'dm800': + if hw_type in ( 'dm8000', 'dm800', 'dm500hd' ): video_enhancement = VideoEnhancement() if video_enhancement.firstRun == True: video_enhancement.setConfiguredValues() diff --git a/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py b/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py index 1939e2d5..8f8f56e1 100755 --- a/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py +++ b/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py @@ -2,8 +2,7 @@ from Plugins.Plugin import PluginDescriptor from Components.ConfigList import ConfigListScreen from Components.config import getConfigListEntry, config, ConfigBoolean from Components.ActionMap import ActionMap -from Components.Button import Button -from Components.Label import Label +from Components.Sources.StaticText import StaticText from Screens.Screen import Screen from Screens.VirtualKeyBoard import VirtualKeyBoard from Screens.ChoiceBox import ChoiceBox @@ -22,14 +21,13 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): - - - - + + + + - - + """ def __init__(self, session, hw): @@ -71,11 +69,11 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): "blue": self.keyBlue, }, -2) - self["key_red"] = Button(_("Cancel")) - self["key_green"] = Button(_("OK")) - self["key_yellow"] = Button(_("Last config")) - self["key_blue"] = Button(_("Default")) - self["introduction"] = Label() + self["key_red"] = StaticText(_("Cancel")) + self["key_green"] = StaticText(_("OK")) + self["key_yellow"] = StaticText(_("Last config")) + self["key_blue"] = StaticText(_("Default")) + self["introduction"] = StaticText() self.createSetup() self.rememberOldSettings() @@ -98,7 +96,7 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): self.oldBlock_noise = config.pep.block_noise_reduction.value self.oldMosquito_noise = config.pep.mosquito_noise_reduction.value self.oldDigital_contour = config.pep.digital_contour_removal.value - if self.hw_type == 'dm8000': + if self.hw_type in ('dm8000', 'dm500hd'): self.oldSplit = config.pep.split.value self.oldSharpness = config.pep.sharpness.value self.oldAuto_flesh = config.pep.auto_flesh.value @@ -131,7 +129,7 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): self.digital_contour_removalEntry )) - elif self.hw_type == 'dm8000': + elif self.hw_type in ( 'dm8000', 'dm500hd' ): self.splitEntry = getConfigListEntry(_("Split preview mode"), config.pep.split) self.sharpnessEntry = getConfigListEntry(_("Sharpness"), config.pep.sharpness) self.auto_fleshEntry = getConfigListEntry(_("Auto flesh"), config.pep.auto_flesh) @@ -190,12 +188,14 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): current, self.splitEntry ] - self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = config.pep.split.value) + maxvalue = current[1].max + self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = config.pep.split.value, maxValue = maxvalue) else: self.previewlist = [ current ] - self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist) + maxvalue = current[1].max + self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = None, maxValue = maxvalue) def keyRight(self): current = self["config"].getCurrent() @@ -207,12 +207,14 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): current, self.splitEntry ] - self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = config.pep.split.value ) + maxvalue = current[1].max + self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = config.pep.split.value, maxValue = maxvalue ) else: self.previewlist = [ current ] - self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist) + maxvalue = current[1].max + self.session.openWithCallback(self.PreviewClosed, VideoEnhancementPreview, configEntry = self.previewlist, oldSplitMode = None, maxValue = maxvalue) def confirm(self, confirmed): if not confirmed: @@ -256,7 +258,7 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): if self.digital_contour_removalEntry is not None: config.pep.digital_contour_removal.setValue(self.oldDigital_contour) - if self.hw_type == 'dm8000': + if self.hw_type in ( 'dm8000', 'dm500hd' ): if self.splitEntry is not None: config.pep.split.setValue('off') if self.sharpnessEntry is not None: @@ -293,7 +295,7 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): if self.digital_contour_removalEntry is not None: config.pep.digital_contour_removal.setValue(0) - if self.hw_type == 'dm8000': + if self.hw_type in ( 'dm8000', 'dm500hd' ): if self.splitEntry is not None: config.pep.split.setValue('off') if self.sharpnessEntry is not None: @@ -315,6 +317,7 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): def changedEntry(self): for x in self.onChangedEntry: x() + self.selectionChanged() def getCurrentEntry(self): return self["config"].getCurrent()[0] @@ -330,20 +333,25 @@ class VideoEnhancementSetup(Screen, ConfigListScreen): class VideoEnhancementPreview(Screen, ConfigListScreen): skin = """ - + - - - + + + + + """ - def __init__(self, session, configEntry = None, oldSplitMode = None): + def __init__(self, session, configEntry = None, oldSplitMode = None, maxValue = None): Screen.__init__(self, session) self.onChangedEntry = [ ] self.setup_title = "Videoenhancement" self.oldSplitMode = oldSplitMode + self.maxValue = maxValue + self.configStepsEntry = None + self.isStepSlider = None self.list = [ ] self.configEntry = configEntry @@ -355,8 +363,9 @@ class VideoEnhancementPreview(Screen, ConfigListScreen): "save": self.keySave, }, -2) - self["key_red"] = Button(_("Cancel")) - self["key_green"] = Button(_("OK")) + self["key_red"] = StaticText(_("Cancel")) + self["key_green"] = StaticText(_("OK")) + self["introduction"] = StaticText() self.createSetup() self.onLayoutFinish.append(self.layoutFinished) @@ -366,19 +375,41 @@ class VideoEnhancementPreview(Screen, ConfigListScreen): def createSetup(self): self.list = [ ] + if self.maxValue == 256: + self.configStepsEntry = getConfigListEntry(_("Change step size"), config.pep.configsteps) + if self.configEntry is not None: self.list = self.configEntry + if self.maxValue == 256: + self.list.append(self.configStepsEntry) + self["config"].list = self.list self["config"].l.setSeperation(300) self["config"].l.setList(self.list) + if not self.selectionChanged in self["config"].onSelectionChanged: + self["config"].onSelectionChanged.append(self.selectionChanged) + self.selectionChanged() + + def selectionChanged(self): + self["introduction"].setText(_("Current value: ") + self.getCurrentValue()) + try: + max_avail=self["config"].getCurrent()[1].max + if max_avail == 256: + self.isStepSlider = True + else: + self.isStepSlider = False + except AttributeError: + print "no max value" def keyLeft(self): + if self.isStepSlider is True: + self["config"].getCurrent()[1].increment = config.pep.configsteps.value ConfigListScreen.keyLeft(self) - self.createSetup() def keyRight(self): + if self.isStepSlider is True: + self["config"].getCurrent()[1].increment = config.pep.configsteps.value ConfigListScreen.keyRight(self) - self.createSetup() def keySave(self): if self.oldSplitMode is not None: @@ -404,6 +435,7 @@ class VideoEnhancementPreview(Screen, ConfigListScreen): def changedEntry(self): for x in self.onChangedEntry: x() + self.selectionChanged() def getCurrentEntry(self): return self["config"].getCurrent()[0] @@ -431,7 +463,7 @@ def Plugins(**kwargs): list = [] if config.usage.setup_level.index >= 2: # expert+ hw_type = HardwareInfo().get_device_name() - if hw_type == 'dm8000' or hw_type == 'dm800': + if hw_type in ( 'dm8000', 'dm800', 'dm500hd' ): if (os.path.exists("/proc/stb/vmpeg/0/pep_apply") == True): list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup)) return list