Version 0.9: Correct issue, when global delay was set. Removed all the filehandling...
authorTorsten Link <tode@users.schwerkraft.elitedvb.net>
Sat, 7 Nov 2009 14:14:58 +0000 (14:14 +0000)
committerTorsten Link <tode@users.schwerkraft.elitedvb.net>
Sat, 7 Nov 2009 14:14:58 +0000 (14:14 +0000)
ac3lipsync/CONTROL/control
ac3lipsync/src/AC3delay.py
ac3lipsync/src/AC3main.py
ac3lipsync/src/AC3setup.py
ac3lipsync/src/AC3utils.py

index c9ecb27..6af50c2 100644 (file)
@@ -1,5 +1,5 @@
 Package: enigma2-plugin-extensions-ac3lipsync
 Package: enigma2-plugin-extensions-ac3lipsync
-Version: 0.8-20090811-r0
+Version: 0.9-20091103-r0
 Description: Set AC3/PCM delay
 Architecture: mipsel
 Section: extra
 Description: Set AC3/PCM delay
 Architecture: mipsel
 Section: extra
index 610dfca..442a7df 100644 (file)
@@ -1,4 +1,4 @@
-from AC3utils import AC3, PCM, AC3PCM, lFileDelay, dec2hex, hex2dec
+from AC3utils import AC3, PCM, AC3PCM
 from Components.config import config
 from enigma import eTimer
 from Tools.ISO639 import LanguageCodes
 from Components.config import config
 from enigma import eTimer
 from Tools.ISO639 import LanguageCodes
@@ -7,7 +7,7 @@ import os
 import NavigationInstance
 
 class AC3delay:
 import NavigationInstance
 
 class AC3delay:
-    def __init__(self, session):
+    def __init__(self):
         self.iService = None
         self.iServiceReference = None
         self.iAudioDelay = None
         self.iService = None
         self.iServiceReference = None
         self.iAudioDelay = None
@@ -29,7 +29,7 @@ class AC3delay:
 
         # find out box type
         self.oHWInfo = HardwareInfo()
 
         # find out box type
         self.oHWInfo = HardwareInfo()
-        if self.oHWInfo.get_device_name() in ("dm800","dm8000"):
+        if self.oHWInfo.get_device_name() in ("dm800","dm8000","dm500hd"):
             self.bHasToRestartService = False
         else:
             self.bHasToRestartService = True
             self.bHasToRestartService = False
         else:
             self.bHasToRestartService = True
@@ -103,26 +103,17 @@ class AC3delay:
                 iDelay = self.iAudioDelay.getAC3Delay()
             else:
                 iDelay = self.iAudioDelay.getPCMDelay()
                 iDelay = self.iAudioDelay.getAC3Delay()
             else:
                 iDelay = self.iAudioDelay.getPCMDelay()
-            if iDelay == -1:
-                iDelay = 0
         if bInitialized == True:
             self.deleteAudio()
         if bInitialized == True:
             self.deleteAudio()
-        return iDelay
-
-    def getFileDelay(self, sAudio):
-        sFileName = lFileDelay[sAudio]
-        if os.path.exists(sFileName) == True:
-            delayfile = open(sFileName,"r")
-            delay = 0
-            delay = delayfile.readline()
-            delayfile.close()
-            iDelay = hex2dec(delay)/90
-        else:
+        if iDelay == -1:
             iDelay = 0
             iDelay = 0
-        return int(iDelay)
+        return iDelay
 
 
-    def setLamedbDelay(self, sAudio, iDelay):
-        self.initAudio()
+    def setLamedbDelay(self, sAudio, iDelay, bDelayStart):
+        bInitialized = False
+        if self.iService == None:
+            self.initAudio()
+            bInitialized = True
         if self.iAudioDelay is not None:
             if iDelay == 0:
                 iDelay = -1
         if self.iAudioDelay is not None:
             if iDelay == 0:
                 iDelay = -1
@@ -130,18 +121,8 @@ class AC3delay:
                 self.iAudioDelay.setAC3Delay(iDelay)
             else:
                 self.iAudioDelay.setPCMDelay(iDelay)
                 self.iAudioDelay.setAC3Delay(iDelay)
             else:
                 self.iAudioDelay.setPCMDelay(iDelay)
-
-    def setFileDelay(self, sAudio, iDelay, bDelayStart):
-        hDelay = dec2hex(iDelay*90)
-        sFileName = lFileDelay[sAudio]
-        if os.path.exists(sFileName) == True:
-            delayfile = open(lFileDelay[sAudio],"w")
-            delayfile.write("%s\0" % hDelay)
-            delayfile.close()
-            if bDelayStart == True:
-                self.delayedActivateDelay()
-            else:
-                self.activateDelay()
+        if bInitialized == True:
+            self.deleteAudio()
 
     def getAudioInformation(self):
         bInitialized = False
 
     def getAudioInformation(self):
         bInitialized = False
@@ -193,4 +174,3 @@ class AC3delay:
         del oAudioTracks
         if bInitialized == True:
             self.deleteAudio()
         del oAudioTracks
         if bInitialized == True:
             self.deleteAudio()
-
index 07d9daf..938a594 100644 (file)
@@ -1,4 +1,4 @@
-from AC3utils import AC3, PCM, AC3PCM, lFileDelay, dec2hex, hex2dec
+from AC3utils import AC3, PCM, AC3PCM
 from AC3delay import AC3delay
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Button import Button
 from AC3delay import AC3delay
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Button import Button
@@ -71,7 +71,7 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         self.keyStep["8"] = int(config.plugins.AC3LipSync.absoluteStep8.getValue()) 
 
         # AC3delay instance
         self.keyStep["8"] = int(config.plugins.AC3LipSync.absoluteStep8.getValue()) 
 
         # AC3delay instance
-        self.AC3delay = AC3delay(self.session)
+        self.AC3delay = AC3delay()
 
         #Screen elements
 
 
         #Screen elements
 
@@ -97,10 +97,7 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         self["key_red"] = Label(_("Cancel"))
         self["key_green"] = Label(_("OK"))
         self["key_yellow"] = Label(_("Switch audio"))
         self["key_red"] = Label(_("Cancel"))
         self["key_green"] = Label(_("OK"))
         self["key_yellow"] = Label(_("Switch audio"))
-        if self.AC3delay.bIsRecording == True:
-            self["key_blue"] = Label("")
-        else:
-            self["key_blue"] = Label(_("Save"))
+        self["key_blue"] = Label("")
 
         # Last saved values
         self.savedValue = {}
 
         # Last saved values
         self.savedValue = {}
@@ -125,7 +122,6 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
             "red": self.keyCancel,
             "green": self.keyOk,
             "yellow": self.keyAudioSelection,
             "red": self.keyCancel,
             "green": self.keyOk,
             "yellow": self.keyAudioSelection,
-            "blue": self.keySaveToLamedb,
             "1": self.keyNumberRelative,
             "3": self.keyNumberRelative,
             "4": self.keyNumberRelative,
             "1": self.keyNumberRelative,
             "3": self.keyNumberRelative,
             "4": self.keyNumberRelative,
@@ -139,8 +135,8 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         }, -1)
 
     def __onShow(self):
         }, -1)
 
     def __onShow(self):
-        for sAudio in lFileDelay.keys():
-            iDelay = self.AC3delay.getFileDelay(sAudio)
+        for sAudio in AC3PCM:
+            iDelay = self.AC3delay.getLamedbDelay(sAudio)
             self[sAudio + "Slider"].setRange([(self.lowerBound), (self.upperBound)])
             self[sAudio + "Slider"].setValue(iDelay-self.lowerBound)
             self[sAudio + "SliderText"].setText(_("%i ms") %iDelay)
             self[sAudio + "Slider"].setRange([(self.lowerBound), (self.upperBound)])
             self[sAudio + "Slider"].setValue(iDelay-self.lowerBound)
             self[sAudio + "SliderText"].setText(_("%i ms") %iDelay)
@@ -183,7 +179,7 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         sNumber = str(number)
         iSliderValue = self.keyStep[sNumber]-self.lowerBound
         self.setSliderInfo(iSliderValue)
         sNumber = str(number)
         iSliderValue = self.keyStep[sNumber]-self.lowerBound
         self.setSliderInfo(iSliderValue)
-        self.AC3delay.setFileDelay(sAudio, self.currentValue[sAudio], True)
+        self.AC3delay.setLamedbDelay(sAudio, self.currentValue[sAudio], True)
 
     def keyNumberRelative(self, number):
         sNumber = str(number)
 
     def keyNumberRelative(self, number):
         sNumber = str(number)
@@ -198,7 +194,7 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         elif iSliderValue > (self.upperBound - self.lowerBound):
             iSliderValue = (self.upperBound - self.lowerBound)
         self.setSliderInfo(iSliderValue)
         elif iSliderValue > (self.upperBound - self.lowerBound):
             iSliderValue = (self.upperBound - self.lowerBound)
         self.setSliderInfo(iSliderValue)
-        self.AC3delay.setFileDelay(sAudio, self.currentValue[sAudio], True)        
+        self.AC3delay.setLamedbDelay(sAudio, self.currentValue[sAudio], True)        
 
     def keyAudioSelection(self):
         self.audioSelection()
 
     def keyAudioSelection(self):
         self.audioSelection()
@@ -207,11 +203,11 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         self.close()
 
     def keyCancel(self):
         self.close()
 
     def keyCancel(self):
-        for sAudio in lFileDelay.keys():
+        for sAudio in AC3PCM:
             iSliderValue = self.currentValue[sAudio]
             if iSliderValue <> self.savedValue[sAudio]:
                 self.AC3delay.whichAudio = sAudio
             iSliderValue = self.currentValue[sAudio]
             if iSliderValue <> self.savedValue[sAudio]:
                 self.AC3delay.whichAudio = sAudio
-                self.AC3delay.setFileDelay(sAudio, self.savedValue[sAudio], False)
+                self.AC3delay.setLamedbDelay(sAudio, self.savedValue[sAudio], False)
         self.close()
 
     def keyMenu(self):
         self.close()
 
     def keyMenu(self):
@@ -237,56 +233,6 @@ class AC3LipSync(Screen,InfoBarAudioSelection):
         iDelay = self[sAudio+"Slider"].getValue()+self.lowerBound
 
         AC3SetCustomValue(self.session,iDelay,self.keyStep)
         iDelay = self[sAudio+"Slider"].getValue()+self.lowerBound
 
         AC3SetCustomValue(self.session,iDelay,self.keyStep)
-        
-    def keySaveToLamedb(self):
-        if self.AC3delay.bIsRecording == False:
-            keyList = [
-                (_("Save %s delay")%AC3,"1"),
-                (_("Save %s delay")%PCM,"2"),
-                (_("Save both delays"),"3")
-            ]
-
-            self.session.openWithCallback(self.DoSaveLamedb,ChoiceBox,_("Which delays do you want to set"),keyList)
-
-    def DoSaveLamedb(self, answer):
-        sNewLine = ""
-        sResponse = ""
-        bOk = True
-        iType = MessageBox.TYPE_INFO
-        aSetAudio = []
-        if answer is not None:
-            if answer[1] in ("1","2","3"):
-                bSetAC3 = False
-                bSetPCM = False
-                self.AC3delay.initAudio()
-                if self.AC3delay.iAudioDelay is not None:
-                    if answer[1] in ("1","3"):
-                        iDelay = int( self.AC3delay.getLamedbDelay(AC3) )
-                        aSetAudio.append((AC3,iDelay))
-                        bSetAC3 = True
-                    if answer[1] in ("2","3"):
-                        iDelay = int( self.AC3delay.getLamedbDelay(PCM) )
-                        aSetAudio.append((PCM,iDelay))
-                        bSetPCM = True
-                    for vAudio in aSetAudio:
-                        sAudio = vAudio[0]
-                        iChannelDelay = int(vAudio[1])
-                        iCurDelay = self.currentValue[sAudio]
-                        iNewDelay = iCurDelay
-                        if sAudio == AC3:
-                            self.AC3delay.iAudioDelay.setAC3Delay(iNewDelay)
-                        else:
-                            self.AC3delay.iAudioDelay.setPCMDelay(iNewDelay)
-                        self.AC3delay.lamedbDelay[sAudio] = iNewDelay
-                        sResponse = sResponse + sNewLine + _("Saved %(audio)s value: %(delay)i ms") %dict(audio=sAudio,delay=iNewDelay)
-                        sNewLine = "\n"
-                self.AC3delay.deleteAudio()
-            else:
-                sResponse = _("Invalid selection")
-                iType = MessageBox.TYPE_ERROR
-            if bOk == True:
-                self.session.open(MessageBox, sResponse , iType)
-        self.setChannelInfoText()
 
     def setSliderInfo(self, iDelay):
         sAudio = self.AC3delay.whichAudio
 
     def setSliderInfo(self, iDelay):
         sAudio = self.AC3delay.whichAudio
index 3b3518b..ebd6c48 100644 (file)
@@ -1,5 +1,5 @@
 from AC3main import AC3LipSync
 from AC3main import AC3LipSync
-from AC3utils import dec2hex, hex2dec, PLUGIN_BASE, PLUGIN_VERSION
+from AC3utils import PLUGIN_BASE, PLUGIN_VERSION
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Button import Button
 from Components.ConfigList import ConfigListScreen
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Button import Button
 from Components.ConfigList import ConfigListScreen
index f18eeec..93e4dfb 100644 (file)
@@ -3,27 +3,4 @@ PCM = "PCM"
 AC3PCM = (AC3,PCM)
 
 PLUGIN_BASE = "AC3LipSync"
 AC3PCM = (AC3,PCM)
 
 PLUGIN_BASE = "AC3LipSync"
-PLUGIN_VERSION = "0.8"
-
-lFileDelay = {}
-lFileDelay[AC3] = "/proc/stb/audio/audio_delay_bitstream"
-lFileDelay[PCM] = "/proc/stb/audio/audio_delay_pcm"
-
-def dec2hex(n):
-    """return the signed hexadecimal string representation of integer n"""
-    if n >= 0:
-        s = "%X" % n
-    else:
-        n2 = 2**32 + n + 1
-        s = "%X" % n2
-    return s
-
-def hex2dec(s):
-    """return the signed integer value of a hexadecimal string s"""
-    if s[:2] == "0x":
-        s = s[2:]
-    if s[:1] < '8':
-        i = int(s,16)
-    else:
-        i = int(long(s,16)-2**32)
-    return i
+PLUGIN_VERSION = "0.9"
\ No newline at end of file