X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FVideoEnhancement%2Fplugin.py;h=cde3930e5f15e84e08accb810bbb7ba667035b2b;hb=bb86afd81b9da2d46d53e12318af3035b23ba787;hp=1939e2d514a4bf5f652c0470f226b6a142d1987c;hpb=151ace6626065824fb827310e82b49026d1e9ec9;p=vuplus_dvbapp
diff --git a/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py b/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py
old mode 100755
new mode 100644
index 1939e2d..cde3930
--- a/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py
+++ b/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py
@@ -1,66 +1,39 @@
from Plugins.Plugin import PluginDescriptor
from Components.ConfigList import ConfigListScreen
-from Components.config import getConfigListEntry, config, ConfigBoolean
+from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection
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
from Screens.MessageBox import MessageBox
-from enigma import ePoint
-from Tools import Notifications
-from Tools.HardwareInfo import HardwareInfo
-from VideoEnhancement import video_enhancement
-import os
+import VideoEnhancement
+from os import path as os_path
class VideoEnhancementSetup(Screen, ConfigListScreen):
skin = """
-
-
-
-
-
-
-
-
-
-
-
-
-
- """
-
- def __init__(self, session, hw):
+
+
+
+
+
+
+
+
+
+
+
+
+ """
+
+ def __init__(self, session):
Screen.__init__(self, session)
self.session = session
- self.hw = hw
self.onChangedEntry = [ ]
self.setup_title = "Videoenhancement"
- self.contrastEntry = None
- self.saturationEntry = None
- self.hueEntry = None
- self.brightnessEntry = None
- self.splitEntry = None
- self.sharpnessEntry = None
- self.auto_fleshEntry = None
- self.green_boostEntry = None
- self.blue_boostEntry = None
- self.block_noise_reductionEntry = None
- self.mosquito_noise_reductionEntry = None
- self.digital_contour_removalEntry = None
- self.dynamic_contrastEntry = None
-
- # handle hotplug by re-creating setup
- self.onShow.append(self.startHotplug)
- self.onHide.append(self.stopHotplug)
-
self.list = [ ]
self.xtdlist = [ ]
- self.hw_type = HardwareInfo().get_device_name()
ConfigListScreen.__init__(self, self.list, session = self.session, on_change = self.changedEntry)
self["actions"] = ActionMap(["SetupActions", "ColorActions"],
@@ -71,11 +44,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()
@@ -84,12 +57,6 @@ class VideoEnhancementSetup(Screen, ConfigListScreen):
def layoutFinished(self):
self.setTitle(_("Video enhancement setup"))
- def startHotplug(self):
- self.hw.on_hotplug.append(self.createSetup)
-
- def stopHotplug(self):
- self.hw.on_hotplug.remove(self.createSetup)
-
def rememberOldSettings(self):
self.oldContrast = config.pep.contrast.value
self.oldSaturation = config.pep.saturation.value
@@ -98,73 +65,42 @@ 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':
- self.oldSplit = config.pep.split.value
- self.oldSharpness = config.pep.sharpness.value
- self.oldAuto_flesh = config.pep.auto_flesh.value
- self.oldGreen_boost = config.pep.green_boost.value
- self.oldBlue_boost = config.pep.blue_boost.value
- self.oldDynamic_contrast = config.pep.dynamic_contrast.value
+ self.oldScaler_sharpness = config.av.scaler_sharpness.value
+ self.oldSplit = config.pep.split.value
+ self.oldSharpness = config.pep.sharpness.value
+ self.oldAuto_flesh = config.pep.auto_flesh.value
+ self.oldGreen_boost = config.pep.green_boost.value
+ self.oldBlue_boost = config.pep.blue_boost.value
+ self.oldDynamic_contrast = config.pep.dynamic_contrast.value
+
+ def addToConfigList(self, description, configEntry, add_to_xtdlist=False):
+ if isinstance(configEntry, ConfigNothing):
+ return None
+ entry = getConfigListEntry(description, configEntry)
+ self.list.append(entry);
+ if add_to_xtdlist:
+ self.xtdlist.append(entry)
+ return entry
def createSetup(self):
- self.contrastEntry = getConfigListEntry(_("Contrast"), config.pep.contrast)
- self.saturationEntry = getConfigListEntry(_("Saturation"), config.pep.saturation)
- self.hueEntry = getConfigListEntry(_("Hue"), config.pep.hue)
- self.brightnessEntry = getConfigListEntry(_("Brightness"), config.pep.brightness)
- self.block_noise_reductionEntry = getConfigListEntry(_("Block noise reduction"), config.pep.block_noise_reduction)
- self.mosquito_noise_reductionEntry = getConfigListEntry(_("Mosquito noise reduction"), config.pep.mosquito_noise_reduction)
- self.digital_contour_removalEntry = getConfigListEntry(_("Digital contour removal"), config.pep.digital_contour_removal)
-
- self.list = [
- self.contrastEntry
- ]
-
- self.list.extend((
- self.saturationEntry,
- self.hueEntry,
- self.brightnessEntry
- ))
- if self.hw_type == 'dm800':
- self.list.extend((
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry
- ))
-
- elif self.hw_type == 'dm8000':
- 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)
- self.green_boostEntry = getConfigListEntry(_("Green boost"), config.pep.green_boost)
- self.blue_boostEntry = getConfigListEntry(_("Blue boost"), config.pep.blue_boost)
- self.dynamic_contrastEntry = getConfigListEntry(_("Dynamic contrast"), config.pep.dynamic_contrast)
-
- self.xtdlist = [
- self.splitEntry
- ]
-
- self.xtdlist.extend((
- self.sharpnessEntry,
- self.auto_fleshEntry,
- self.green_boostEntry,
- self.blue_boostEntry,
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry,
- self.dynamic_contrastEntry
- ))
-
- self.list.extend((
- self.splitEntry,
- self.sharpnessEntry,
- self.auto_fleshEntry,
- self.green_boostEntry,
- self.blue_boostEntry,
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry,
- self.dynamic_contrastEntry
- ))
+ self.list = []
+ self.xtdlist = []
+ addToConfigList = self.addToConfigList
+ self.contrastEntry = addToConfigList(_("Contrast"), config.pep.contrast)
+ self.saturationEntry = addToConfigList(_("Saturation"), config.pep.saturation)
+ self.hueEntry = addToConfigList(_("Hue"), config.pep.hue)
+ self.brightnessEntry = addToConfigList(_("Brightness"), config.pep.brightness)
+ self.scaler_sharpnessEntry = addToConfigList(_("Scaler sharpness"), config.av.scaler_sharpness)
+ self.splitEntry = addToConfigList(_("Split preview mode"), config.pep.split, True)
+ add_to_xtdlist = self.splitEntry is not None
+ self.sharpnessEntry = addToConfigList(_("Sharpness"), config.pep.sharpness, add_to_xtdlist)
+ self.auto_fleshEntry = addToConfigList(_("Auto flesh"), config.pep.auto_flesh, add_to_xtdlist)
+ self.green_boostEntry = addToConfigList(_("Green boost"), config.pep.green_boost, add_to_xtdlist)
+ self.blue_boostEntry = addToConfigList(_("Blue boost"), config.pep.blue_boost, add_to_xtdlist)
+ self.dynamic_contrastEntry = addToConfigList(_("Dynamic contrast"), config.pep.dynamic_contrast, add_to_xtdlist)
+ self.block_noise_reductionEntry = addToConfigList(_("Block noise reduction"), config.pep.block_noise_reduction, add_to_xtdlist)
+ self.mosquito_noise_reductionEntry = addToConfigList(_("Mosquito noise reduction"), config.pep.mosquito_noise_reduction, add_to_xtdlist)
+ self.digital_contour_removalEntry = addToConfigList(_("Digital contour removal"), config.pep.digital_contour_removal, add_to_xtdlist)
self["config"].list = self.list
self["config"].l.setSeperation(300)
@@ -184,35 +120,37 @@ class VideoEnhancementSetup(Screen, ConfigListScreen):
current = self["config"].getCurrent()
if current == self.splitEntry:
ConfigListScreen.keyLeft(self)
- self.createSetup()
elif current != self.splitEntry and current in self.xtdlist:
self.previewlist = [
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()
if current == self.splitEntry:
ConfigListScreen.keyRight(self)
- self.createSetup()
elif current != self.splitEntry and current in self.xtdlist:
self.previewlist = [
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:
@@ -255,20 +193,20 @@ class VideoEnhancementSetup(Screen, ConfigListScreen):
config.pep.mosquito_noise_reduction.setValue(self.oldMosquito_noise)
if self.digital_contour_removalEntry is not None:
config.pep.digital_contour_removal.setValue(self.oldDigital_contour)
-
- if self.hw_type == 'dm8000':
- if self.splitEntry is not None:
- config.pep.split.setValue('off')
- if self.sharpnessEntry is not None:
- config.pep.sharpness.setValue(self.oldSharpness)
- if self.auto_fleshEntry is not None:
- config.pep.auto_flesh.setValue(self.oldAuto_flesh)
- if self.green_boostEntry is not None:
- config.pep.green_boost.setValue(self.oldGreen_boost)
- if self.blue_boostEntry is not None:
- config.pep.blue_boost.setValue(self.oldBlue_boost)
- if self.dynamic_contrastEntry is not None:
- config.pep.dynamic_contrast.setValue(self.oldDynamic_contrast)
+ if self.scaler_sharpnessEntry is not None:
+ config.av.scaler_sharpness.setValue(self.oldScaler_sharpness)
+ if self.splitEntry is not None:
+ config.pep.split.setValue('off')
+ if self.sharpnessEntry is not None:
+ config.pep.sharpness.setValue(self.oldSharpness)
+ if self.auto_fleshEntry is not None:
+ config.pep.auto_flesh.setValue(self.oldAuto_flesh)
+ if self.green_boostEntry is not None:
+ config.pep.green_boost.setValue(self.oldGreen_boost)
+ if self.blue_boostEntry is not None:
+ config.pep.blue_boost.setValue(self.oldBlue_boost)
+ if self.dynamic_contrastEntry is not None:
+ config.pep.dynamic_contrast.setValue(self.oldDynamic_contrast)
self.keySave()
def keyYellow(self):
@@ -292,20 +230,20 @@ class VideoEnhancementSetup(Screen, ConfigListScreen):
config.pep.mosquito_noise_reduction.setValue(0)
if self.digital_contour_removalEntry is not None:
config.pep.digital_contour_removal.setValue(0)
-
- if self.hw_type == 'dm8000':
- if self.splitEntry is not None:
- config.pep.split.setValue('off')
- if self.sharpnessEntry is not None:
- config.pep.sharpness.setValue(0)
- if self.auto_fleshEntry is not None:
- config.pep.auto_flesh.setValue(0)
- if self.green_boostEntry is not None:
- config.pep.green_boost.setValue(0)
- if self.blue_boostEntry is not None:
- config.pep.blue_boost.setValue(0)
- if self.dynamic_contrastEntry is not None:
- config.pep.dynamic_contrast.setValue(0)
+ if self.scaler_sharpnessEntry is not None:
+ config.av.scaler_sharpness.setValue(13)
+ if self.splitEntry is not None:
+ config.pep.split.setValue('off')
+ if self.sharpnessEntry is not None:
+ config.pep.sharpness.setValue(0)
+ if self.auto_fleshEntry is not None:
+ config.pep.auto_flesh.setValue(0)
+ if self.green_boostEntry is not None:
+ config.pep.green_boost.setValue(0)
+ if self.blue_boostEntry is not None:
+ config.pep.blue_boost.setValue(0)
+ if self.dynamic_contrastEntry is not None:
+ config.pep.dynamic_contrast.setValue(0)
self.keySave()
def keyBlue(self):
@@ -315,6 +253,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 +269,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 +299,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 +311,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 +371,7 @@ class VideoEnhancementPreview(Screen, ConfigListScreen):
def changedEntry(self):
for x in self.onChangedEntry:
x()
+ self.selectionChanged()
def getCurrentEntry(self):
return self["config"].getCurrent()[0]
@@ -415,23 +383,16 @@ class VideoEnhancementPreview(Screen, ConfigListScreen):
from Screens.Setup import SetupSummary
return SetupSummary
-
def videoEnhancementSetupMain(session, **kwargs):
- session.open(VideoEnhancementSetup, video_enhancement)
-
+ session.open(VideoEnhancementSetup)
def startSetup(menuid):
if menuid != "system":
return [ ]
-
return [(_("Video enhancement settings") , videoEnhancementSetupMain, "videoenhancement_setup", 41)]
-
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 (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))
+ if config.usage.setup_level.index >= 2 and os_path.exists("/proc/stb/vmpeg/0/pep_apply"):
+ list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=startSetup))
return list