ACLOCAL_AMFLAGS = -I m4
SUBDIRS = \
- ac3lipsync \
+ audiosync \
aihdcontrol \
antiscrollbar \
automatictimerlistcleanup \
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>ac3lipsync</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.python.pydev.PyDevBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.python.pydev.pythonNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-Package: enigma2-plugin-extensions-audiosync
-Replaces: enigma2-plugin-extensions-ac3lipsync
-Conflicts: enigma2-plugin-extensions-ac3lipsync
-Version: 1.2-20100225-r0
-Description: Set Audio delay
-Maintainer: Tode <sagichnet@gmx.net>
-Depends: enigma2 (>= 2.6git20091203)
+++ /dev/null
-SUBDIRS = img po src meta
+++ /dev/null
-installdir = $(libdir)/enigma2/python/Plugins/Extensions/AudioSync/img
-
-install_DATA = *.png
+++ /dev/null
-installdir = $(datadir)/meta/
-
-dist_install_DATA = plugin_audiosync.xml
-
-EXTRA_DIST = audiosync_de.jpg audiosync_en.jpg
\ No newline at end of file
+++ /dev/null
-<default>
- <prerequisites>
- <tag type="System" />
- </prerequisites>
- <info>
- <author>Tode</author>
- <name>AudioSync</name>
- <packagename>enigma2-plugin-extensions-audiosync</packagename>
- <shortdescription>Set Bitstream/PCM audio delays</shortdescription>
- <description>AudoSync allows delaying the sound output (Bitstream/PCM) so that it is synchronous to the picture.</description>
- <screenshot src="http://www.dreamboxupdate.com/preview/plugin_audiosync_en.jpg" />
- </info>
- <files type="package"> <!-- without version, without .ipk -->
- <file type="package" name="enigma2-plugin-extensions-audiosync" />
- </files>
-</default>
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: AC3LipSync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-18 02:07+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Tode <sagichnet@gmx.net>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\\n"
-"X-Poedit-SearchPath-0: src\n"
-
-#: src/AC3main.py:57
-msgid "Service delay"
-msgstr ""
-
-#: src/AC3main.py:58
-msgid "Global delay"
-msgstr ""
-
-#: src/AC3main.py:62
-#: src/AC3main.py:146
-#: src/AC3main.py:236
-#: src/AC3main.py:240
-#: src/AC3main.py:241
-#, python-format
-msgid "%i ms"
-msgstr ""
-
-#: src/AC3main.py:65
-msgid "Channel audio:"
-msgstr ""
-
-#: src/AC3main.py:70
-#: src/AC3setup.py:63
-msgid "Cancel"
-msgstr ""
-
-#: src/AC3main.py:71
-msgid "OK"
-msgstr ""
-
-#: src/AC3main.py:72
-msgid "Switch audio"
-msgstr ""
-
-#: src/AC3main.py:73
-msgid "Save to key"
-msgstr ""
-
-#: src/AC3main.py:78
-msgid "Open plugin menu"
-msgstr ""
-
-#: src/AC3main.py:79
-#: src/AC3main.py:86
-msgid "Save values and close plugin"
-msgstr ""
-
-#: src/AC3main.py:80
-#: src/AC3main.py:85
-msgid "Discard changes and close plugin"
-msgstr ""
-
-#: src/AC3main.py:81
-#: src/AC3main.py:82
-msgid "Change active delay"
-msgstr ""
-
-#: src/AC3main.py:83
-msgid "Increase delay"
-msgstr ""
-
-#: src/AC3main.py:84
-msgid "Decrease delay"
-msgstr ""
-
-#: src/AC3main.py:87
-msgid "Select channel audio"
-msgstr ""
-
-#: src/AC3main.py:88
-msgid "Save current delay to key"
-msgstr ""
-
-#: src/AC3main.py:89
-#: src/AC3main.py:91
-#: src/AC3main.py:93
-#, python-format
-msgid "Decrease delay by %i ms (can be set)"
-msgstr ""
-
-#: src/AC3main.py:90
-#: src/AC3main.py:92
-#: src/AC3main.py:94
-#, python-format
-msgid "Increase delay by %i ms (can be set)"
-msgstr ""
-
-#: src/AC3main.py:95
-#: src/AC3main.py:96
-#: src/AC3main.py:97
-#: src/AC3main.py:98
-#, python-format
-msgid "Set delay to %i ms (can be set)"
-msgstr ""
-
-#: src/AC3main.py:211
-msgid "Move plugin screen"
-msgstr ""
-
-#: src/AC3main.py:214
-msgid "Menu"
-msgstr ""
-
-#: src/AC3main.py:221
-#: src/AC3main.py:282
-msgid "Invalid selection"
-msgstr ""
-
-#: src/AC3main.py:257
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr ""
-
-#: src/AC3main.py:263
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr ""
-
-#: src/AC3main.py:268
-msgid "Setting key canceled"
-msgstr ""
-
-#: src/AC3main.py:280
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr ""
-
-#: src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr ""
-
-#: src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr ""
-
-#: src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr ""
-
-#: src/AC3setup.py:45
-#: src/AC3setup.py:46
-#: src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr ""
-
-#: src/AC3setup.py:48
-#: src/AC3setup.py:49
-#: src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr ""
-
-#: src/AC3setup.py:60
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr ""
-
-#: src/AC3setup.py:64
-msgid "Save"
-msgstr ""
-
-#: src/AC3setup.py:65
-msgid " "
-msgstr ""
-
-#: src/MovableScreen.py:17
-#: src/MovableScreen.py:24
-msgid "Save values and close screen"
-msgstr ""
-
-#: src/MovableScreen.py:18
-#: src/MovableScreen.py:23
-msgid "Discard changes and close screen"
-msgstr ""
-
-#: src/MovableScreen.py:19
-msgid "Move screen to the left"
-msgstr ""
-
-#: src/MovableScreen.py:20
-msgid "Move screen to the right"
-msgstr ""
-
-#: src/MovableScreen.py:21
-msgid "Move screen up"
-msgstr ""
-
-#: src/MovableScreen.py:22
-msgid "Move screen down"
-msgstr ""
-
-#: src/MovableScreen.py:25
-msgid "Move screen to the upper left corner"
-msgstr ""
-
-#: src/MovableScreen.py:26
-msgid "Center screen at the upper border"
-msgstr ""
-
-#: src/MovableScreen.py:27
-msgid "Move screen to the upper right corner"
-msgstr ""
-
-#: src/MovableScreen.py:28
-msgid "Move screen to the middle of the left border"
-msgstr ""
-
-#: src/MovableScreen.py:29
-msgid "Move screen to the center of your TV"
-msgstr ""
-
-#: src/MovableScreen.py:30
-msgid "Move screen to the middle of the right border"
-msgstr ""
-
-#: src/MovableScreen.py:31
-msgid "Move screen to the lower left corner"
-msgstr ""
-
-#: src/MovableScreen.py:32
-msgid "Center screen at the lower border"
-msgstr ""
-
-#: src/MovableScreen.py:33
-msgid "Move screen to the lower right corner"
-msgstr ""
-
-#: src/MovableScreen.py:34
-msgid "Reset saved position"
-msgstr ""
-
-#: src/plugin.py:30
-#: src/plugin.py:36
-#: src/plugin.py:38
-msgid "Audio Sync"
-msgstr ""
-
-#: src/plugin.py:36
-#: src/plugin.py:38
-msgid "sets the Audio Delay (LipSync)"
-msgstr ""
-
-#: src/plugin.py:37
-msgid "Audio Sync Setup"
-msgstr ""
-
-#: src/plugin.py:37
-msgid "Setup for the Audio Sync Plugin"
-msgstr ""
-
+++ /dev/null
-PLUGIN = AudioSync
-LANGS = de fi it nl sr sv tr
-
-include $(top_srcdir)/Rules-po.mak
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: AudioSync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-18 02:08+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Tode <sagichnet@gmx.net>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
-"X-Poedit-Language: German\n"
-"X-Poedit-SearchPath-0: ..\\src\n"
-
-#: ..\src/AC3main.py:57
-msgid "Service delay"
-msgstr "Kanal delay"
-
-#: ..\src/AC3main.py:58
-msgid "Global delay"
-msgstr "Globales delay"
-
-#: ..\src/AC3main.py:62
-#: ..\src/AC3main.py:146
-#: ..\src/AC3main.py:236
-#: ..\src/AC3main.py:240
-#: ..\src/AC3main.py:241
-#, python-format
-msgid "%i ms"
-msgstr "%i ms"
-
-#: ..\src/AC3main.py:65
-msgid "Channel audio:"
-msgstr "Kanal Tonspur:"
-
-#: ..\src/AC3main.py:70
-#: ..\src/AC3setup.py:63
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: ..\src/AC3main.py:71
-msgid "OK"
-msgstr "OK"
-
-#: ..\src/AC3main.py:72
-msgid "Switch audio"
-msgstr "Tonspur..."
-
-#: ..\src/AC3main.py:73
-msgid "Save to key"
-msgstr "Auf Taste speichern"
-
-#: ..\src/AC3main.py:78
-msgid "Open plugin menu"
-msgstr "Plugin menu öffnen"
-
-#: ..\src/AC3main.py:79
-#: ..\src/AC3main.py:86
-msgid "Save values and close plugin"
-msgstr "Werte speichern und Plugin schliessen"
-
-#: ..\src/AC3main.py:80
-#: ..\src/AC3main.py:85
-msgid "Discard changes and close plugin"
-msgstr "Änderungen verwerfen und Plugin schliessen"
-
-#: ..\src/AC3main.py:81
-#: ..\src/AC3main.py:82
-msgid "Change active delay"
-msgstr "Aktive Verzögerung ändern"
-
-#: ..\src/AC3main.py:83
-msgid "Increase delay"
-msgstr "Verzögerung erhöhen"
-
-#: ..\src/AC3main.py:84
-msgid "Decrease delay"
-msgstr "Verzögerung verringern"
-
-#: ..\src/AC3main.py:87
-msgid "Select channel audio"
-msgstr "Kanal- Tonspur wählen"
-
-#: ..\src/AC3main.py:88
-msgid "Save current delay to key"
-msgstr "Aktuelle Verzögerung auf Taste speichern"
-
-#: ..\src/AC3main.py:89
-#: ..\src/AC3main.py:91
-#: ..\src/AC3main.py:93
-#, python-format
-msgid "Decrease delay by %i ms (can be set)"
-msgstr "Verzögerung um %i ms erhöhen"
-
-#: ..\src/AC3main.py:90
-#: ..\src/AC3main.py:92
-#: ..\src/AC3main.py:94
-#, python-format
-msgid "Increase delay by %i ms (can be set)"
-msgstr "Verzögerung um %i ms verringern"
-
-#: ..\src/AC3main.py:95
-#: ..\src/AC3main.py:96
-#: ..\src/AC3main.py:97
-#: ..\src/AC3main.py:98
-#, python-format
-msgid "Set delay to %i ms (can be set)"
-msgstr "Verzögerung auf %i ms setzen"
-
-#: ..\src/AC3main.py:211
-msgid "Move plugin screen"
-msgstr "Plugin- Bildschirm verschieben"
-
-#: ..\src/AC3main.py:214
-msgid "Menu"
-msgstr "Menu"
-
-#: ..\src/AC3main.py:221
-#: ..\src/AC3main.py:282
-msgid "Invalid selection"
-msgstr "Ungültige Auswahl"
-
-#: ..\src/AC3main.py:257
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "Wählen Sie die Taste, die Sue auf %i ms setzen wollen"
-
-#: ..\src/AC3main.py:263
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "Taste %(key)s (aktueller Wert: %(value)i ms)"
-
-#: ..\src/AC3main.py:268
-msgid "Setting key canceled"
-msgstr "Setzen der Taste abgebrochen"
-
-#: ..\src/AC3main.py:280
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "Taste %(Key)s erfolgreich auf %(delay)i ms gesetzt"
-
-#: ..\src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr "Grenzen (+/-)"
-
-#: ..\src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr "Schritte in ms für Pfeiltasten"
-
-#: ..\src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr "Wartezeit vor Aktivierung in ms"
-
-#: ..\src/AC3setup.py:45
-#: ..\src/AC3setup.py:46
-#: ..\src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "Schritt in ms für Tasten '%s'"
-
-#: ..\src/AC3setup.py:48
-#: ..\src/AC3setup.py:49
-#: ..\src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "Schritt in ms für Taste %i"
-
-#: ..\src/AC3setup.py:60
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr "Plugin: %(plugin)s , Version: %(version)s"
-
-#: ..\src/AC3setup.py:64
-msgid "Save"
-msgstr "Speichern"
-
-#: ..\src/AC3setup.py:65
-msgid " "
-msgstr ""
-
-#: ..\src/MovableScreen.py:17
-#: ..\src/MovableScreen.py:24
-msgid "Save values and close screen"
-msgstr "Werte speichern und plugin schliessen"
-
-#: ..\src/MovableScreen.py:18
-#: ..\src/MovableScreen.py:23
-msgid "Discard changes and close screen"
-msgstr "Änderungen verwerfen"
-
-#: ..\src/MovableScreen.py:19
-msgid "Move screen to the left"
-msgstr "Plugin nach links bewegen"
-
-#: ..\src/MovableScreen.py:20
-msgid "Move screen to the right"
-msgstr "Plugin nach rechts bewegen"
-
-#: ..\src/MovableScreen.py:21
-msgid "Move screen up"
-msgstr "Plugin nach oben bewegen"
-
-#: ..\src/MovableScreen.py:22
-msgid "Move screen down"
-msgstr "Plugin nach unten bewegen"
-
-#: ..\src/MovableScreen.py:25
-msgid "Move screen to the upper left corner"
-msgstr "Plugin in die linke obere Ecke verschieben"
-
-#: ..\src/MovableScreen.py:26
-msgid "Center screen at the upper border"
-msgstr "Plugin am oberen Rand zentrieren"
-
-#: ..\src/MovableScreen.py:27
-msgid "Move screen to the upper right corner"
-msgstr "Plugin in die rechte obere Ecke verschieben"
-
-#: ..\src/MovableScreen.py:28
-msgid "Move screen to the middle of the left border"
-msgstr "Plugin in die Mitte des linken Randes bewegen"
-
-#: ..\src/MovableScreen.py:29
-msgid "Move screen to the center of your TV"
-msgstr "Plugin auf dem Bildschirm zentrieren"
-
-#: ..\src/MovableScreen.py:30
-msgid "Move screen to the middle of the right border"
-msgstr "Plugin in die Mitte des rechten Randes bewegen"
-
-#: ..\src/MovableScreen.py:31
-msgid "Move screen to the lower left corner"
-msgstr "Plugin in die linke untere Ecke verschieben"
-
-#: ..\src/MovableScreen.py:32
-msgid "Center screen at the lower border"
-msgstr "Plugin am unteren Rand zentrieren"
-
-#: ..\src/MovableScreen.py:33
-msgid "Move screen to the lower right corner"
-msgstr "Plugin in die rechte untere Ecke verschieben"
-
-#: ..\src/MovableScreen.py:34
-msgid "Reset saved position"
-msgstr "Gespeicherte Position zurücksetzen"
-
-#: ..\src/plugin.py:30
-#: ..\src/plugin.py:36
-#: ..\src/plugin.py:38
-msgid "Audio Sync"
-msgstr "Audio Sync"
-
-#: ..\src/plugin.py:36
-#: ..\src/plugin.py:38
-msgid "sets the Audio Delay (LipSync)"
-msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
-
-#: ..\src/plugin.py:37
-msgid "Audio Sync Setup"
-msgstr "Audio Sync Setup"
-
-#: ..\src/plugin.py:37
-msgid "Setup for the Audio Sync Plugin"
-msgstr "Setup fürs Audio Sync Plugin"
-
-#~ msgid "%s:"
-#~ msgstr "%s:"
-#~ msgid "Passthrough"
-#~ msgstr "Passthrough"
-#~ msgid "Global Passthr."
-#~ msgstr "Passthr. Global"
-#~ msgid "PCM"
-#~ msgstr "PCM"
-#~ msgid "Delay:"
-#~ msgstr "Verzögerung:"
-#~ msgid "sets the audio Delay (LipSync)"
-#~ msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
-
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: AC3-LipSync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-28 13:48+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Timo Jarvenpaa <timojarvenpaa@hotmail.com>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Finnish\n"
-"X-Poedit-Country: FINLAND\n"
-
-msgid "AC3 Lip Sync"
-msgstr ""
-
-msgid "sets the AC3 audio Delay (LipSync)"
-msgstr "säätää ääniviivettä (lipsync)"
-
-msgid "AC3 Lip Sync Setup"
-msgstr "AC3 Lip Sync -asetukset"
-
-msgid "Setup for the AC3 Lip Sync Plugin"
-msgstr "AC3 Lip Sync -lisäosan asetukset"
-
-msgid "Use user delays"
-msgstr "Omat pikaval."
-
-msgid "Use calc. delays"
-msgstr "Vakiot pikaval."
-
-msgid "ms"
-msgstr ""
-
-#, python-format
-msgid "%s delay:"
-msgstr "%s-viive:"
-
-#, python-format
-msgid "%s:"
-msgstr ""
-
-msgid "Channel audio:"
-msgstr "Ääniraita:"
-
-msgid "Save"
-msgstr "Tallenna"
-
-msgid "Switch audio"
-msgstr "Ääniraita"
-
-msgid "Set user delay"
-msgstr "Tal.pikaval."
-
-#, python-format
-msgid "Save %s delay"
-msgstr "Tallenna %s-viive"
-
-msgid "Save both delays"
-msgstr "Tallenna molemmat viiveet"
-
-msgid "Which delays do you want to set"
-msgstr "Mitkä viiveet haluat tallentaa?"
-
-#, python-format
-msgid "Saved %(audio)s value: %(delay)i ms"
-msgstr "Tallennettiin %(audio)s-arvo: %(delay)i ms"
-
-msgid "Invalid selection"
-msgstr "Virheellinen valinta"
-
-msgid "Select the key you want to set"
-msgstr "Valitse näppäin viivearvon pikavalintaa varten"
-
-msgid "Key"
-msgstr "Näppäin"
-
-msgid "Setting key canceled"
-msgstr "Näppäimen määritys keskeytetty"
-
-#, python-format
-msgid "%(Key)s successfully set to %(delay)i ms"
-msgstr "%(Key)s näppäin tallennettu %(delay)i ms viiveelle"
-
-msgid "Save current %(audio)s delay of %(delay)i ms to key"
-msgstr "Tallenna nykyinen %(audio)s-viive (%(delay)i ms) pikavalintaan"
-
-msgid "Switch to user key- delays"
-msgstr "Ota itse määritellyt viiveen pikavalinnat käyttöön"
-
-msgid "Switch to calculated key- delays"
-msgstr "Ota oletusarvoiset viiveen pikavalinnat käyttöön"
-
-msgid "Minimum delay"
-msgstr "Minimiviive (ms)"
-
-msgid "Maximum delay"
-msgstr "Maksimiviive (ms)"
-
-msgid "Step in ms for arrow keys"
-msgstr "Nuolinäppäimien säätöporras (ms)"
-
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "%i-näppäimen viive (ms)"
-
-msgid "Wait time in ms before activation:"
-msgstr "Odotusaika ennen viiveen aktivointia (ms)"
-
-msgid "Cancel"
-msgstr "Keskeytä"
-
-msgid "Recalculate..."
-msgstr "Päivitä..."
-
+++ /dev/null
-# Signed-off-by: Dario Croci <spaeleus@croci.org>
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: enigma2 - AC3lipsync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-26 21:06+0100\n"
-"PO-Revision-Date: 2009-12-26 21:07+0100\n"
-"Last-Translator: Spaeleus <spaeleus@croci.org>\n"
-"Language-Team: www.linsat.net - Italy <spaeleus@croci.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Italian\n"
-"X-Poedit-Country: ITALY\n"
-"X-Poedit-SourceCharset: iso-8859-1\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Poedit-Basepath: /home/dario/Plugins/ac3lipsync\n"
-"X-Poedit-SearchPath-0: /home/dario/Plugins/ac3lipsync\n"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:57
-msgid "Service delay"
-msgstr "Ritardo canale"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:58
-msgid "Global delay"
-msgstr "Ritardo globale"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:62
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:146
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:236
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:240
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:241
-#, python-format
-msgid "%i ms"
-msgstr "%i ms"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:65
-msgid "Channel audio:"
-msgstr "Canale audio: "
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:70
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:63
-msgid "Cancel"
-msgstr "Annullare"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:71
-msgid "OK"
-msgstr "Ok"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:72
-msgid "Switch audio"
-msgstr "Cambiare audio"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:73
-msgid "Save to key"
-msgstr "Salvare su tasto"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:78
-msgid "Open plugin menu"
-msgstr "Aprire il menu del plugin"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:79
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:86
-msgid "Save values and close plugin"
-msgstr "Salvare la configurazione e uscire"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:80
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:85
-msgid "Discard changes and close plugin"
-msgstr "Annullare le modifiche e uscire"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:81
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:82
-msgid "Change active delay"
-msgstr "Cambiare il ritardo corrente"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:83
-msgid "Increase delay"
-msgstr "Aumentare il ritardo"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:84
-msgid "Decrease delay"
-msgstr "Diminuire il ritardo"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:87
-msgid "Select channel audio"
-msgstr "Selezionare il canale audio"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:88
-msgid "Save current delay to key"
-msgstr "Assegnare ritardo corrente a un tasto"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:89
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:91
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:93
-#, python-format
-msgid "Decrease delay by %i ms (can be set)"
-msgstr "Diminuire il ritardo di %i ms (configurabili)"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:90
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:92
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:94
-#, python-format
-msgid "Increase delay by %i ms (can be set)"
-msgstr "Aumentare il ritardo di %i ms (configurabili)"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:95
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:96
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:97
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:98
-#, python-format
-msgid "Set delay to %i ms (can be set)"
-msgstr "Regolare il ritardo a %i ms (configurabili)"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:211
-msgid "Move plugin screen"
-msgstr "Spostare la finestra del plugin"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:214
-msgid "Menu"
-msgstr "Menu"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:221
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:282
-msgid "Invalid selection"
-msgstr "Selezione non valida!"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:257
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "Sel. il tasto a cui assegnare %i ms"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:263
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "Tasto %(key)s (valore corrente: %(value)i ms)"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:268
-msgid "Setting key canceled"
-msgstr "Configurazione tasto cancellata!"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:280
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "Tasto %(Key)s configurato con successo a %(delay)i ms"
-
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:30
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:36
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:38
-msgid "Audio Sync"
-msgstr "Audio Sync"
-
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:36
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:38
-msgid "sets the Audio Delay (LipSync)"
-msgstr "Configurare il ritardo audio (LipSync)"
-
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:37
-msgid "Audio Sync Setup"
-msgstr "Configurazione sincronismo audio"
-
-#: /home/dario/Plugins/ac3lipsync/src/plugin.py:37
-msgid "Setup for the Audio Sync Plugin"
-msgstr "Configurazione plugin Audio Sync"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr "Ritardo massimo (+/-)"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr "Passo tasti cursore (ms):"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr "Attesa prima di attivare (ms):"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:45
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:46
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "Passo in ms per il tasto \"%s\""
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:48
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:49
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "Passo tasto %i (ms):"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:60
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr "Plugin: %(plugin)s , Versione: %(version)s"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:64
-msgid "Save"
-msgstr "Salvare"
-
-#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:65
-msgid " "
-msgstr " "
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:17
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:24
-msgid "Save values and close screen"
-msgstr "Salvare la configurazione e chiudere la finestra"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:18
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:23
-msgid "Discard changes and close screen"
-msgstr "Annullare le modifiche e chiudere la finestra"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:19
-msgid "Move screen to the left"
-msgstr "Spostare la finestra a sx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:20
-msgid "Move screen to the right"
-msgstr "Spostare la finestra a dx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:21
-msgid "Move screen up"
-msgstr "Spostare la finestra in sù"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:22
-msgid "Move screen down"
-msgstr "Spostare la finestra giù"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:25
-msgid "Move screen to the upper left corner"
-msgstr "Spostare la finestra nell'angolo in alto a sx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:26
-msgid "Center screen at the upper border"
-msgstr "Centrare la finestra al bordo inferiore"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:27
-msgid "Move screen to the upper right corner"
-msgstr "Spostare la finestra nell'angolo in alto a dx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:28
-msgid "Move screen to the middle of the left border"
-msgstr "Spostare la finestra al centro del bordo sx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:29
-msgid "Move screen to the center of your TV"
-msgstr "Posizionare la finestra al centro"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:30
-msgid "Move screen to the middle of the right border"
-msgstr "Spostare la finestra al centro del bordo dx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:31
-msgid "Move screen to the lower left corner"
-msgstr "Spostare la finestra nell'angolo in basso a sx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:32
-msgid "Center screen at the lower border"
-msgstr "Centrare "
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:33
-msgid "Move screen to the lower right corner"
-msgstr "Spostare la finestra nell'angolo in basso a dx"
-
-#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:34
-msgid "Reset saved position"
-msgstr "Reset della posizione salvata"
-
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: enigma2 - AC3LipSync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-13 11:47+0200\n"
-"PO-Revision-Date: 2009-09-16 13:02+0100\n"
-"Last-Translator: \n"
-"Language-Team: <Benny.DeTandt@gmail.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: .\n"
-"X-Poedit-Language: Dutch\n"
-"X-Poedit-Country: NETHERLANDS\n"
-"X-Poedit-SearchPath-0: L:\\Dreambox\\Eclipse\\enigma2-plugins\\ac3lipsync\\src\n"
-
-msgid " "
-msgstr " "
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:81
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:84
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:141
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:305
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:309
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:310
-#, python-format
-msgid "%i ms"
-msgstr "%i ms"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:82
-#, python-format
-msgid "%s delay:"
-msgstr "%s vertraging:"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:83
-#, python-format
-msgid "%s:"
-msgstr "%s:"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:30
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:34
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:36
-msgid "AC3 Lip Sync"
-msgstr "AC3 Lip Sync"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:35
-msgid "AC3 Lip Sync Setup"
-msgstr "AC3 Lip Sync Instellingen"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:92
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:58
-msgid "Cancel"
-msgstr "Annuleren"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:87
-msgid "Channel audio:"
-msgstr "Kanaal audio:"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:228
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:288
-msgid "Invalid selection"
-msgstr "Verkeerde keuze"
-
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "Toets %(Key)s succesvol gewijzigd in %(delay)i ms"
-
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "Toets %(key)s (huidige waarde: %(value)i ms)"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:219
-msgid "Menu"
-msgstr "Menu"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:93
-msgid "OK"
-msgstr "OK"
-
-msgid "Outer Bound (+/-)"
-msgstr "Maximale vertraging (+/-)"
-
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr "Plugin: %(plugin)s , Versie: %(version)s"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:98
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:59
-msgid "Save"
-msgstr "Bewaren"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:247
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:248
-#, python-format
-msgid "Save %s delay"
-msgstr "Bewaar %s vertraging"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:249
-msgid "Save both delays"
-msgstr "Bewaar beide vertragingen"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:215
-#, python-format
-msgid "Save current %(audio)s delay of %(delay)i ms to key"
-msgstr "Bewaar huidige %(audio)s vertraging van %(delay)i ms aan toets"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:284
-#, python-format
-msgid "Saved %(audio)s value: %(delay)i ms"
-msgstr "Bewaarde %(audio)s waarde: %(delay)i ms"
-
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "Selecteer de toets die u wilt instellen op %i ms..."
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:337
-msgid "Setting key canceled"
-msgstr "Configuratie toets geannuleerd"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:35
-msgid "Setup for the AC3 Lip Sync Plugin"
-msgstr "Configuratie van de AC3 Lip Sync Plugin"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:44
-msgid "Step in ms for arrow keys"
-msgstr "Stappen in ms voor links/rechts toetsen"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:49
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "Stappen in ms voor Toets %i"
-
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "Stappen in ms voor Toetsen '%s'"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:94
-msgid "Switch audio"
-msgstr "Kies audio"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:45
-msgid "Wait time in ms before activation:"
-msgstr "Wachttijd in ms voor activering"
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:252
-msgid "Which delays do you want to set"
-msgstr "Welke vertragingen wilt u instellen..."
-
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:34
-# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:36
-msgid "sets the AC3 audio Delay (LipSync)"
-msgstr "Stel de AC3 audio vertraging in (LipSync)"
-
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: enigma2 - AC3lipsync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-29 01:17+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: maja <jovanovic@gmx.ch>\n"
-"Language-Team: veselin & majevica CRNABERZA <jovanovic@gmx.ch>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: L:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
-"X-Poedit-Language: Serbian\n"
-"X-Poedit-Country: Serbia\n"
-"X-Poedit-SourceCharset: utf-8\n"
-"X-Poedit-SearchPath-0: ..\\src\n"
-
-#: ..\src/plugin.py:28
-#: ..\src/plugin.py:32
-#: ..\src/plugin.py:34
-msgid "AC3 Lip Sync"
-msgstr "AC3 Lip Sync"
-
-#: ..\src/plugin.py:32
-#: ..\src/plugin.py:34
-msgid "sets the AC3 audio Delay (LipSync)"
-msgstr "podešava AC3 audio kašnjenje (LipSync)"
-
-#: ..\src/plugin.py:33
-msgid "AC3 Lip Sync Setup"
-msgstr "AC3 Lip Sync podešavanje"
-
-#: ..\src/plugin.py:33
-msgid "Setup for the AC3 Lip Sync Plugin"
-msgstr "Podešavanje AC3 Lip Sync dodatka"
-
-#: ..\src/AC3main.py:82
-#: ..\src/AC3main.py:85
-#: ..\src/AC3main.py:88
-#: ..\src/AC3main.py:146
-#: ..\src/AC3main.py:152
-#: ..\src/AC3main.py:172
-#: ..\src/AC3main.py:296
-#: ..\src/AC3main.py:298
-#: ..\src/AC3main.py:302
-#: ..\src/AC3main.py:303
-#, python-format
-msgid "%i ms"
-msgstr "%i ms"
-
-#: ..\src/AC3main.py:83
-#: ..\src/AC3main.py:89
-#: ..\src/AC3main.py:173
-#, python-format
-msgid "%s delay:"
-msgstr "%s kašnjenje:"
-
-#: ..\src/AC3main.py:84
-#, python-format
-msgid "%s:"
-msgstr "%s:"
-
-#: ..\src/AC3main.py:92
-msgid "Channel audio:"
-msgstr "Audio kanal: "
-
-#: ..\src/AC3main.py:97
-#: ..\src/AC3setup.py:58
-msgid "Cancel"
-msgstr "Otkaži"
-
-#: ..\src/AC3main.py:98
-msgid "OK"
-msgstr "OK"
-
-#: ..\src/AC3main.py:99
-msgid "Switch audio"
-msgstr "Zameni audio"
-
-#: ..\src/AC3main.py:103
-#: ..\src/AC3setup.py:59
-msgid "Save"
-msgstr "Sačuvaj"
-
-#: ..\src/AC3main.py:221
-#, python-format
-msgid "Save current %(audio)s delay of %(delay)i ms to key"
-msgstr "Sačuvaj sadašnje %(audio)s kašnjenje (%(delay)i ms na tipku"
-
-#: ..\src/AC3main.py:224
-msgid "Menu"
-msgstr "Meni"
-
-#: ..\src/AC3main.py:231
-#: ..\src/AC3main.py:285
-#: ..\src/AC3main.py:346
-msgid "Invalid selection"
-msgstr "Izbor nije validan"
-
-#: ..\src/AC3main.py:244
-#: ..\src/AC3main.py:245
-#, python-format
-msgid "Save %s delay"
-msgstr "Sačuvaj %s kašnjenje"
-
-#: ..\src/AC3main.py:246
-msgid "Save both delays"
-msgstr "Sačuvaj oba kašnjenja"
-
-#: ..\src/AC3main.py:249
-msgid "Which delays do you want to set"
-msgstr "Koja kašnjenja želite podesiti"
-
-#: ..\src/AC3main.py:281
-#, python-format
-msgid "Saved %(audio)s value: %(delay)i ms"
-msgstr "Sačuvana %(audio)s vrednost: %(delay)i ms"
-
-#: ..\src/AC3main.py:321
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "Izaberite tipku koju želite podesiti u %i ms "
-
-#: ..\src/AC3main.py:327
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "Tipka %(key)s (sad.vrednost: %(value)i ms)"
-
-#: ..\src/AC3main.py:332
-msgid "Setting key canceled"
-msgstr "Podešavanje tipke otkazano"
-
-#: ..\src/AC3main.py:344
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "Tipka %(Key)s uspešno podešena na %(delay)i ms "
-
-#: ..\src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr "Krajnje ograničen (+/-)"
-
-#: ..\src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr "Korak u ms za tipke strelice"
-
-#: ..\src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr "Vreme čekanja u ms pre aktiviranja: "
-
-#: ..\src/AC3setup.py:45
-#: ..\src/AC3setup.py:46
-#: ..\src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "Korak u ms za tipke '%s'"
-
-#: ..\src/AC3setup.py:48
-#: ..\src/AC3setup.py:49
-#: ..\src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "Korak u ms za tipku %i"
-
-#: ..\src/AC3setup.py:60
-msgid " "
-msgstr " "
-
-#~ msgid "Switch to user key- delays"
-#~ msgstr "Verwende benutzerdefinierte Werte für Zahlentasten"
-#~ msgid "Switch to calculated key- delays"
-#~ msgstr "Verwende berechnete Werte für Zahlentasten"
-#~ msgid "Minimum delay"
-#~ msgstr "Minimale Verzögerung"
-#~ msgid "Maximum delay"
-#~ msgstr "Maximale Verzögerung"
-#~ msgid "Recalculate..."
-#~ msgstr "Neuberechnen"
-#~ msgid "Use user delays"
-#~ msgstr "Benutzer Verz."
-#~ msgid "Use calc. delays"
-#~ msgstr "autom. Verz."
-#~ msgid "Key"
-#~ msgstr "Taste"
-#~ msgid "ms"
-#~ msgstr "ms"
-#~ msgid "Bitstream delay:"
-#~ msgstr "Bitstream Verzögerung:"
-#~ msgid "lamedb..."
-#~ msgstr "lamedb..."
-#~ msgid "AC3 Delay: "
-#~ msgstr "AC3 Verzögerung: "
-#~ msgid "PCM Delay: "
-#~ msgstr "PCM Verzögerung: "
-#~ msgid "Save Bitstream delay"
-#~ msgstr "Bitstream Delay speichern"
-#~ msgid "Backup lamedb"
-#~ msgstr "lamedb sichern"
-#~ msgid "Restore lamedb"
-#~ msgstr "lamedb wiederherstellen"
-#~ msgid "Remove lamedb backup"
-#~ msgstr "lamedb- Sicherung löschen"
-#~ msgid "What you want to do with your lamedb"
-#~ msgstr "Welche Aktion wollen Sie durchführen"
-#~ msgid "Saved Bitstream value: "
-#~ msgstr "Gespeicherter Bitstream Wert:"
-#~ msgid ""
-#~ "There is already a backup of the lamedb\n"
-#~ "Do you want to overwrite it?"
-#~ msgstr ""
-#~ "Es gibt bereits eine Sicherung der lamedb\n"
-#~ "Wollen Sie diese überschreiben?"
-#~ msgid "lamedb backup successful"
-#~ msgstr "Sicherung der lamedb erfolgreich"
-#~ msgid "There is no backup of the lamedb. Action canceled"
-#~ msgstr "Es gibt keine Sicherung der lamedb. Aktion abgebrochen"
-#~ msgid "Do you really want to restore the lamedb?"
-#~ msgstr "Wollen Sie die lamedb wirklich wiederherstellen?"
-#~ msgid "lamedb backup successfully restored"
-#~ msgstr "lamedb wurde erfolgreich wiederhergestellt"
-#~ msgid "Do you really want to remove the lamedb- backup?"
-#~ msgstr "Wollen Sie die Sicherung der lamedb wirklich löschen?"
-#~ msgid "lamedb backup successfully removed"
-#~ msgstr "Sicherung der lamedb erfolgreich gelöscht"
-#~ msgid "Set delay"
-#~ msgstr "Verzögerung setzen"
-
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: AudioSync\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-18 02:07+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: WeeGull <weegull@hotmail.com>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
-"X-Poedit-Language: German\n"
-"X-Poedit-SearchPath-0: ..\\src\n"
-
-#: src/AC3main.py:57
-msgid "Service delay"
-msgstr "Kanal fördröjning"
-
-#: src/AC3main.py:58
-msgid "Global delay"
-msgstr "Global fördröjning"
-
-#: src/AC3main.py:62
-#: src/AC3main.py:146
-#: src/AC3main.py:236
-#: src/AC3main.py:240
-#: src/AC3main.py:241
-#, python-format
-msgid "%i ms"
-msgstr "%i mS"
-
-#: src/AC3main.py:65
-msgid "Channel audio:"
-msgstr "Kanal ljud:"
-
-#: src/AC3main.py:70
-#: src/AC3setup.py:63
-msgid "Cancel"
-msgstr "Avbryt"
-
-#: src/AC3main.py:71
-msgid "OK"
-msgstr "OK"
-
-#: src/AC3main.py:72
-msgid "Switch audio"
-msgstr "Byt ljud"
-
-#: src/AC3main.py:73
-msgid "Save to key"
-msgstr "Spara till knapp"
-
-#: src/AC3main.py:78
-msgid "Open plugin menu"
-msgstr "Öppna plugin meny"
-
-#: src/AC3main.py:79
-#: src/AC3main.py:86
-msgid "Save values and close plugin"
-msgstr "Spara inställningar och stäng plugin"
-
-#: src/AC3main.py:80
-#: src/AC3main.py:85
-msgid "Discard changes and close plugin"
-msgstr "Spara inte ändringarna och stäng plugin"
-
-#: src/AC3main.py:81
-#: src/AC3main.py:82
-msgid "Change active delay"
-msgstr "Ändra aktiverad fördröjning"
-
-#: src/AC3main.py:83
-msgid "Increase delay"
-msgstr "Öka fördröjning"
-
-#: src/AC3main.py:84
-msgid "Decrease delay"
-msgstr "Minska fördröjning"
-
-#: src/AC3main.py:87
-msgid "Select channel audio"
-msgstr "Välj kanal ljud"
-
-#: src/AC3main.py:88
-msgid "Save current delay to key"
-msgstr "Spara nuvarande fördröjning till knapp"
-
-#: src/AC3main.py:89
-#: src/AC3main.py:91
-#: src/AC3main.py:93
-#, python-format
-msgid "Decrease delay by %i ms (can be set)"
-msgstr "Minska fördröjning med %i mS (kan sättas)"
-
-#: src/AC3main.py:90
-#: src/AC3main.py:92
-#: src/AC3main.py:94
-#, python-format
-msgid "Increase delay by %i ms (can be set)"
-msgstr "Öka fördröjning med %i mS (kan sättas)"
-
-#: src/AC3main.py:95
-#: src/AC3main.py:96
-#: src/AC3main.py:97
-#: src/AC3main.py:98
-#, python-format
-msgid "Set delay to %i ms (can be set)"
-msgstr "Ange fördröjning till %i mS (kan sättas)"
-
-#: src/AC3main.py:211
-msgid "Move plugin screen"
-msgstr "Flytta pluginfönstret"
-
-#: src/AC3main.py:214
-msgid "Menu"
-msgstr "Meny"
-
-#: src/AC3main.py:221
-#: src/AC3main.py:282
-msgid "Invalid selection"
-msgstr "Ogiltigt val"
-
-#: src/AC3main.py:257
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "Välj knapp som du vill sätta till %i mS"
-
-#: src/AC3main.py:263
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "Knapp %(key)s (nuvarande värde: %(value)i mS)"
-
-#: src/AC3main.py:268
-msgid "Setting key canceled"
-msgstr "Inställning knapp avbruten"
-
-#: src/AC3main.py:280
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "Knapp %(Key)s sattes till %(delay)i mS"
-
-#: src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr "Gränsvärde (+/-)"
-
-#: src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr "Steg i mS för pilknapparna"
-
-#: src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr "Väntetid i mS före aktivering:"
-
-#: src/AC3setup.py:45
-#: src/AC3setup.py:46
-#: src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "Steg i mS för knappar '%s'"
-
-#: src/AC3setup.py:48
-#: src/AC3setup.py:49
-#: src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "Steg i mS för knapp %i"
-
-#: src/AC3setup.py:60
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr "Plugin: %(plugin)s , Version: %(version)s"
-
-#: src/AC3setup.py:64
-msgid "Save"
-msgstr "Spara"
-
-#: src/AC3setup.py:65
-msgid " "
-msgstr " "
-
-#: src/MovableScreen.py:17
-#: src/MovableScreen.py:24
-msgid "Save values and close screen"
-msgstr "Spara inställningar och stäng fönster"
-
-#: src/MovableScreen.py:18
-#: src/MovableScreen.py:23
-msgid "Discard changes and close screen"
-msgstr "Spara inte ändringarna och stäng fönstret"
-
-#: src/MovableScreen.py:19
-msgid "Move screen to the left"
-msgstr "Flytta fönstret till vänster"
-
-#: src/MovableScreen.py:20
-msgid "Move screen to the right"
-msgstr "Flytta fönstret till höger"
-
-#: src/MovableScreen.py:21
-msgid "Move screen up"
-msgstr "Flytta fönstret uppåt"
-
-#: src/MovableScreen.py:22
-msgid "Move screen down"
-msgstr "Flytta fönstret nedåt"
-
-#: src/MovableScreen.py:25
-msgid "Move screen to the upper left corner"
-msgstr "Flytta fönstret till övre vänstra hörnet"
-
-#: src/MovableScreen.py:26
-msgid "Center screen at the upper border"
-msgstr "Centrera fönstret till övre kanten"
-
-#: src/MovableScreen.py:27
-msgid "Move screen to the upper right corner"
-msgstr "Flytta fönstret till övre högra hörnet"
-
-#: src/MovableScreen.py:28
-msgid "Move screen to the middle of the left border"
-msgstr "Flytta fönstret till mitten av vänster kant"
-
-#: src/MovableScreen.py:29
-msgid "Move screen to the center of your TV"
-msgstr "Flytta fönstret till mitten av din TV"
-
-#: src/MovableScreen.py:30
-msgid "Move screen to the middle of the right border"
-msgstr "Flytta fönstret till mitten av höger kant"
-
-#: src/MovableScreen.py:31
-msgid "Move screen to the lower left corner"
-msgstr "Flytta fönstret till nedre vänstra hörnet"
-
-#: src/MovableScreen.py:32
-msgid "Center screen at the lower border"
-msgstr "Centrera fönstret till nedre kanten"
-
-#: src/MovableScreen.py:33
-msgid "Move screen to the lower right corner"
-msgstr "Flytta fönstret till nedre högra hörnet"
-
-#: src/MovableScreen.py:34
-msgid "Reset saved position"
-msgstr "Återställ sparad position"
-
-#: src/plugin.py:30
-#: src/plugin.py:36
-#: src/plugin.py:38
-msgid "Audio Sync"
-msgstr "Ljud Synk"
-
-#: src/plugin.py:36
-#: src/plugin.py:38
-msgid "sets the Audio Delay (LipSync)"
-msgstr "sätter ljudfrödröjning (LipSync)"
-
-#: src/plugin.py:37
-msgid "Audio Sync Setup"
-msgstr "Audio Sync Inställning"
-
-#: src/plugin.py:37
-msgid "Setup for the Audio Sync Plugin"
-msgstr "Inställning för Audio Sync Plugin"
-
-#~ msgid "%s:"
-#~ msgstr "%s:"
-#~ msgid "Passthrough"
-#~ msgstr "Passthrough"
-#~ msgid "Global Passthr."
-#~ msgstr "Passthr. Global"
-#~ msgid "PCM"
-#~ msgstr "PCM"
-#~ msgid "Delay:"
-#~ msgstr "Verzögerung:"
-#~ msgid "sets the audio Delay (LipSync)"
-#~ msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
-
+++ /dev/null
-msgid ""
-msgstr ""
-"Project-Id-Version: enigma2 AC3 Lip Sync Turkish Locale\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-29 01:13+0100\n"
-"PO-Revision-Date: 2009-09-22 13:11+0200\n"
-"Last-Translator: Zülfikar VEYİSOĞLU <z.veyisoglu@hobiagaci.com>\n"
-"Language-Team: http://www.hobiagaci.com <z.veyisoglu@hobiagaci.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Turkish\n"
-"X-Poedit-Country: TURKEY\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: src/plugin.py:28
-#: src/plugin.py:32
-#: src/plugin.py:34
-msgid "AC3 Lip Sync"
-msgstr "AC3 Dudak senkronu"
-
-#: src/plugin.py:32
-#: src/plugin.py:34
-msgid "sets the AC3 audio Delay (LipSync)"
-msgstr "AC3 ses gecikmesini ayarlayın"
-
-#: src/plugin.py:33
-msgid "AC3 Lip Sync Setup"
-msgstr "AC3 Dudak senkron ayarları"
-
-#: src/plugin.py:33
-msgid "Setup for the AC3 Lip Sync Plugin"
-msgstr "AC3 dudak senkron eklentisi"
-
-#: src/AC3main.py:82
-#: src/AC3main.py:85
-#: src/AC3main.py:88
-#: src/AC3main.py:146
-#: src/AC3main.py:152
-#: src/AC3main.py:172
-#: src/AC3main.py:296
-#: src/AC3main.py:298
-#: src/AC3main.py:302
-#: src/AC3main.py:303
-#, python-format
-msgid "%i ms"
-msgstr "%i ms"
-
-#: src/AC3main.py:83
-#: src/AC3main.py:89
-#: src/AC3main.py:173
-#, python-format
-msgid "%s delay:"
-msgstr "%s gecikmesi:"
-
-#: src/AC3main.py:84
-#, python-format
-msgid "%s:"
-msgstr "%s:"
-
-#: src/AC3main.py:92
-msgid "Channel audio:"
-msgstr "Ses izi:"
-
-#: src/AC3main.py:97
-#: src/AC3setup.py:58
-msgid "Cancel"
-msgstr "Vazgeç"
-
-#: src/AC3main.py:98
-msgid "OK"
-msgstr "Tamam"
-
-#: src/AC3main.py:99
-msgid "Switch audio"
-msgstr "Ses izini seç"
-
-#: src/AC3main.py:103
-#: src/AC3setup.py:59
-msgid "Save"
-msgstr "Kaydet"
-
-#: src/AC3main.py:221
-#, python-format
-msgid "Save current %(audio)s delay of %(delay)i ms to key"
-msgstr "Geçerli %(audio)s izi için %(delay)i ms gecikmeyi, tuşa kaydet"
-
-#: src/AC3main.py:224
-msgid "Menu"
-msgstr "Menü"
-
-#: src/AC3main.py:231
-#: src/AC3main.py:285
-#: src/AC3main.py:346
-msgid "Invalid selection"
-msgstr "Geçersiz seçim"
-
-#: src/AC3main.py:244
-#: src/AC3main.py:245
-#, python-format
-msgid "Save %s delay"
-msgstr "%s gecikmesini kaydet"
-
-#: src/AC3main.py:246
-msgid "Save both delays"
-msgstr "İki gecikmeyide kaydet"
-
-#: src/AC3main.py:249
-msgid "Which delays do you want to set"
-msgstr "Hangi gecikmeyi kaydetmek istiyorsunuz?"
-
-#: src/AC3main.py:281
-#, python-format
-msgid "Saved %(audio)s value: %(delay)i ms"
-msgstr "%(audio)s izi için %(delay)i ms gecikme kaydedildi"
-
-#: src/AC3main.py:321
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr "%i ms gecikmeyi atamak istediğiniz tuşu seçin"
-
-#: src/AC3main.py:327
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr "%(key)s tuşu (mevcut değer: %(value)i ms)"
-
-#: src/AC3main.py:332
-msgid "Setting key canceled"
-msgstr "Tuş tanımlama iptal edildi"
-
-#: src/AC3main.py:344
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr "%(Key)s tuşuna %(delay)i ms gecikme süresi atandı"
-
-#: src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr "Azami Gecikme (+/-)"
-
-#: src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr "<> tuşlarına basıldığında atlanacak süre (ms)"
-
-#: src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr "Aktivasyondan önce bekleme süresi (ms):"
-
-#: src/AC3setup.py:45
-#: src/AC3setup.py:46
-#: src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr "'%s' tuşuna basıldığında atlanacak süre (ms)"
-
-#: src/AC3setup.py:48
-#: src/AC3setup.py:49
-#: src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr "%i tuşuna basıldığında atlanacak süre (ms)"
-
-#: src/AC3setup.py:60
-msgid " "
-msgstr " "
-
-#~ msgid "Switch to user key- delays"
-#~ msgstr "Kullanıcı tuş gecikmelerine geç"
-#~ msgid "Switch to calculated key- delays"
-#~ msgstr "Hesaplanan tuş gecikmelerine geç"
-#~ msgid "Minimum delay"
-#~ msgstr "Minimum gecikme"
-#~ msgid "Maximum delay"
-#~ msgstr "Maksimum gecikme"
-#~ msgid "Recalculate..."
-#~ msgstr "Tekr. hesapla"
-#~ msgid "Use user delays"
-#~ msgstr "Kullanıcı gecikmesini kullan"
-#~ msgid "Use calc. delays"
-#~ msgstr "Hesaplanmış gecikmeyi kullan"
-#~ msgid "ms"
-#~ msgstr "ms"
-#~ msgid "Key"
-#~ msgstr "Tuş"
-
+++ /dev/null
-from AC3utils import AC3, PCM, AC3GLOB, PCMGLOB, AC3PCM
-from Components.config import config
-from enigma import eTimer
-from Tools.ISO639 import LanguageCodes
-from Tools.HardwareInfo import HardwareInfo
-import os
-import NavigationInstance
-
-class AC3delay:
- def __init__(self):
- self.iService = None
- self.iServiceReference = None
- self.iAudioDelay = None
- self.channelAudio = AC3
- self.whichAudio = AC3
- self.bIsRecording = False
-
- # Current audio- delay
- self.systemDelay = {}
-
- self.getAudioInformation()
-
- self.activateTimer = eTimer()
- self.activateTimer.callback.append(self.activateDelay)
- self.activateWait = config.plugins.AC3LipSync.activationDelay.getValue()
-
- # Current value for movie start behaviour
- self.movieStart = config.usage.on_movie_start.getValue()
-
- # find out box type
- self.oHWInfo = HardwareInfo()
- self.bHasToRestartService = self.oHWInfo.get_device_name() == "dm7025"
-
- def initAudio(self):
- self.iService = NavigationInstance.instance.getCurrentService()
- self.iServiceReference = NavigationInstance.instance.getCurrentlyPlayingServiceReference()
- self.iAudioDelay = self.iService and self.iService.audioDelay()
- self.iSeek = self.iService and self.iService.seek()
-
- def deleteAudio(self):
- self.iService = None
- self.iAudioDelay = None
- self.iSeek = None
-
- def setChannelAudio(self, sAudio):
- self.channelAudio = sAudio
-
- def delayedActivateDelay(self):
- if self.activateTimer.isActive:
- self.activateTimer.stop()
- self.activateTimer.start(self.activateWait, False)
-
- def activateDelay(self):
- # This activation code is only neccessary for DM7025.
- # DM800, DM8000 and DM500HD directly activate the delay after using "setAC3Delay" and "setPCMDelay", they don't need the service restart
- if self.activateTimer.isActive:
- self.activateTimer.stop()
- if self.bHasToRestartService == True:
- bInitialized = False
- if self.iService == None:
- self.initAudio()
- bInitialized = True
- if self.iServiceReference is not None:
- lCurPosition = self.cueGetCurrentPosition()
- self.deleteAudio()
- if self.whichAudio == self.channelAudio:
- config.usage.on_movie_start.setValue("beginning")
- NavigationInstance.instance.stopService()
- NavigationInstance.instance.playService(self.iServiceReference)
- config.usage.on_movie_start.setValue(self.movieStart)
- if lCurPosition is not None:
- self.lCurPosition = lCurPosition
- self.timer = eTimer()
- self.timer.callback.append(self.seekAfterWait)
- self.timer.start(200, False)
- else:
- self.deleteAudio()
-
- def seekAfterWait(self):
- self.timer.stop()
- self.initAudio()
- if self.iSeek is not None:
- self.iSeek.seekTo(self.lCurPosition)
- self.deleteAudio()
-
- def cueGetCurrentPosition(self):
- if self.iSeek is None:
- return None
- r = self.iSeek.getPlayPosition()
- if r[0]:
- return None
- return long(r[1])
-
- def getSystemDelay(self, sAudio):
- bInitialized = False
- if self.iService == None:
- self.initAudio()
- bInitialized = True
- iDelay = 0
- if self.iAudioDelay is not None:
- if sAudio == AC3:
- iDelay = self.iAudioDelay.getAC3Delay()
- elif sAudio == PCM:
- iDelay = self.iAudioDelay.getPCMDelay()
- elif sAudio == AC3GLOB:
- iDelay = config.av.generalAC3delay.getValue()
- else:
- iDelay = config.av.generalPCMdelay.getValue()
- if bInitialized == True:
- self.deleteAudio()
- if iDelay == -1:
- iDelay = 0
- return iDelay
-
- def setSystemDelay(self, sAudio, iDelay, bDelayStart):
- bInitialized = False
- if self.iService == None:
- self.initAudio()
- bInitialized = True
- if self.iAudioDelay is not None:
- iDelayLameDb = iDelay
- if iDelayLameDb == 0:
- iDelayLameDb = -1
- if sAudio == AC3:
- self.iAudioDelay.setAC3Delay(iDelayLameDb)
- elif sAudio == PCM:
- self.iAudioDelay.setPCMDelay(iDelayLameDb)
- elif sAudio == AC3GLOB:
- config.av.generalAC3delay.setValue(iDelay)
- config.av.generalAC3delay.save()
- #Setting the global delay does not activate it, so now we call setAC3Delay to activate the new delay..
- self.iAudioDelay.setAC3Delay(self.systemDelay[AC3])
- else:
- config.av.generalPCMdelay.setValue(iDelay)
- config.av.generalPCMdelay.save()
- #Setting the global delay does not activate it, so now we call setPCMDelay to activate the new delay..
- self.iAudioDelay.setPCMDelay(self.systemDelay[PCM])
- if bInitialized == True:
- self.deleteAudio()
- if bDelayStart == True:
- self.delayedActivateDelay()
- else:
- self.activateDelay()
-
- def getAudioInformation(self):
- bInitialized = False
- if self.iService == None:
- self.initAudio()
- bInitialized = True
-
- # check if we are in a recording
- lCurPosition = self.cueGetCurrentPosition()
- if lCurPosition is not None:
- self.bIsRecording = True
-
- # check if downmix is enabled
- try:
- bDownmixEnabled = config.av.downmix_ac3.value
- except:
- bDownmixEnabled = False
-
- oAudioTracks = self.iService and self.iService.audioTracks()
- n = oAudioTracks and oAudioTracks.getNumberOfTracks() or 0
- tlist = []
- self.selectedAudioIndex = oAudioTracks.getCurrentTrack()
- if n >= 0:
- for x in range(n):
- i = oAudioTracks.getTrackInfo(x)
- language = i.getLanguage()
- description = i.getDescription()
- if LanguageCodes.has_key(language):
- language = LanguageCodes[language][0]
- if len(description):
- description += " (" + language + ")"
- else:
- description = language
-
- tlist.append((description, x))
- if x == self.selectedAudioIndex:
- if ((description.find("AC3") != -1 or description.find("AC-3") != -1) and not bDownmixEnabled) or description.find("DTS") != -1:
- self.whichAudio = AC3
- self.channelAudio = AC3
- else:
- self.whichAudio = PCM
- self.channelAudio = PCM
- self.selectedAudioInfo = (description, x)
- tlist.sort(key=lambda x: x[0])
-
- self.audioTrackList = tlist
- for sAudio in AC3PCM:
- self.systemDelay[sAudio]=self.getSystemDelay(sAudio)
- del oAudioTracks
- if bInitialized == True:
- self.deleteAudio()
+++ /dev/null
-from AC3utils import AC3, PCM, AC3GLOB, PCMGLOB, AC3PCM, SKIN
-from AC3delay import AC3delay
-from enigma import ePoint
-from HelpableNumberActionMap import HelpableNumberActionMap
-from Components.Label import Label,MultiColorLabel
-from Components.Pixmap import MultiPixmap
-from Components.ProgressBar import ProgressBar
-from Components.config import config
-from MovableScreen import MovableScreen
-from Screens.ChoiceBox import ChoiceBox
-from Screens.HelpMenu import HelpableScreen
-from Screens.MessageBox import MessageBox
-from Screens.Screen import Screen
-from __init__ import _
-
-class AC3LipSync(Screen, HelpableScreen, MovableScreen):
-
- def __init__(self, session, plugin_path):
- Screen.__init__(self, session)
- self.onShow.append(self.__onShow)
- self.skin = SKIN
- self.skin_path = plugin_path
-
- # Configuration values
- self.upperBound = int(config.plugins.AC3LipSync.outerBounds.getValue())
- self.lowerBound = -1 * self.upperBound
- self.arrowStepSize = int(config.plugins.AC3LipSync.arrowStepSize.getValue())
- self.stepSize = {}
- self.stepSize["3"] = int(config.plugins.AC3LipSync.stepSize13.getValue())
- self.stepSize["1"] = -1 * self.stepSize["3"]
- self.stepSize["6"] = int(config.plugins.AC3LipSync.stepSize46.getValue())
- self.stepSize["4"] = -1 * self.stepSize["6"]
- self.stepSize["9"] = int(config.plugins.AC3LipSync.stepSize79.getValue())
- self.stepSize["7"] = -1 * self.stepSize["9"]
- self.keyStep = {}
- self.keyStep["0"] = 0
- self.keyStep["2"] = int(config.plugins.AC3LipSync.absoluteStep2.getValue())
- self.keyStep["5"] = int(config.plugins.AC3LipSync.absoluteStep5.getValue())
- self.keyStep["8"] = int(config.plugins.AC3LipSync.absoluteStep8.getValue())
-
- # AC3delay instance
- self.AC3delay = AC3delay()
-
- # Last saved values
- self.savedValue = {}
- # Current Values
- self.currentValue = {}
-
- #OptionFields
- self["ChannelImg"] = MultiPixmap()
- self["GlobalImg"] = MultiPixmap()
-
- self["ChannelLabel"] = MultiColorLabel( _("Service delay"))
- self["GlobalLabel"] = MultiColorLabel( _("Global delay"))
-
- # Slider
- self["AudioSliderBar"] = ProgressBar()
- self["AudioSlider"] = Label(_("%i ms")%self.AC3delay.systemDelay[self.AC3delay.whichAudio])
-
- #Service Information
- self["ServiceInfoLabel"] = Label(_("Channel audio:"))
- self["ServiceInfo"] = Label()
- self.setChannelInfoText()
-
- # Buttons
- self["key_red"] = Label(_("Cancel"))
- self["key_green"] = Label(_("OK"))
- self["key_blue"] = Label(_("Save to key"))
-
- # Actions
- self["actions"] = HelpableNumberActionMap(self, "PluginAudioSyncActions",
- {
- "menu": (self.keyMenu, _("Open plugin menu")),
- "ok": (self.keyOk, _("Save values and close plugin")),
- "cancel": (self.keyCancel, _("Discard changes and close plugin")),
- "left": (self.keyLeft, _("Change active delay")),
- "right": (self.keyRight, _("Change active delay")),
- "up": (self.keyUp, _("Increase delay")),
- "down": (self.keyDown, _("Decrease delay")),
- "red": (self.keyCancel, _("Discard changes and close plugin")),
- "green": (self.keyOk, _("Save values and close plugin")),
- "blue": (self.menuSaveDelayToKey, _("Save current delay to key")),
- "1": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["1"]),
- "3": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["3"]),
- "4": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["4"]),
- "6": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["6"]),
- "7": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["7"]),
- "9": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["9"]),
- "0": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["0"]),
- "2": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["2"]),
- "5": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["5"]),
- "8": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["8"])
- }, -1)
-
- HelpableScreen.__init__(self)
- MovableScreen.__init__(self, config.plugins.AC3LipSync, [self["actions"]], 600, 460)
-
- def __onShow(self):
- for sAudio in AC3PCM:
- iDelay = self.AC3delay.getSystemDelay(sAudio)
- self.savedValue[sAudio] = iDelay
- self.currentValue[sAudio] = iDelay
-
- self["AudioSliderBar"].setRange([(self.lowerBound), (self.upperBound)])
- self.setActiveSlider()
- self.movePosition()
-
- def keyLeft(self):
- if self.AC3delay.whichAudio == PCMGLOB:
- self.AC3delay.whichAudio = PCM
- elif self.AC3delay.whichAudio == AC3GLOB:
- self.AC3delay.whichAudio = AC3
-
- self.setActiveSlider()
-
- def keyRight(self):
- if self.AC3delay.whichAudio == AC3:
- self.AC3delay.whichAudio = AC3GLOB
- elif self.AC3delay.whichAudio == PCM:
- self.AC3delay.whichAudio = PCMGLOB
-
- self.setActiveSlider()
-
- def setActiveSlider(self):
- # Reset colors of all tabs
- if self.AC3delay.whichAudio in (AC3,PCM):
- self["ChannelImg"].setPixmapNum(1)
- self["GlobalImg"].setPixmapNum(0)
- self["ChannelLabel"].setForegroundColorNum(1)
- self["GlobalLabel"].setForegroundColorNum(0)
- else:
- self["ChannelImg"].setPixmapNum(0)
- self["GlobalImg"].setPixmapNum(1)
- self["ChannelLabel"].setForegroundColorNum(0)
- self["GlobalLabel"].setForegroundColorNum(1)
-
- iCurDelay = self.currentValue[self.AC3delay.whichAudio]
- iDelay = iCurDelay - self.lowerBound
- self["AudioSliderBar"].setValue(iDelay)
- self["AudioSlider"].setText(_("%i ms")%iCurDelay)
-
- def keyDown(self):
- if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
- iStep = -25
- else:
- iStep = -1 * self.arrowStepSize
- self.changeSliderValue(iStep)
-
- def keyUp(self):
- if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
- iStep = 25
- else:
- iStep = self.arrowStepSize
- self.changeSliderValue(iStep)
-
- def keyNumberAbsolute(self, number):
- sAudio = self.AC3delay.whichAudio
- sNumber = str(number)
- if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
- iStep = ( self.keyStep[sNumber] // 25 ) * 25
- else:
- iStep = self.keyStep[sNumber]
- iSliderValue = iStep-self.lowerBound
- self.setSliderInfo(iSliderValue)
- self.AC3delay.setSystemDelay(sAudio, self.currentValue[sAudio], True)
-
- def keyNumberRelative(self, number):
- sNumber = str(number)
- if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
- iStep = ( self.stepSize[sNumber] // 25 ) * 25
- else:
- iStep = self.stepSize[sNumber]
-
- self.changeSliderValue(iStep)
-
- def changeSliderValue(self,iValue):
- sAudio = self.AC3delay.whichAudio
- iSliderValue = int(self["AudioSliderBar"].getValue())
- iSliderValue += iValue
- if iSliderValue < 0:
- iSliderValue = 0
- elif iSliderValue > (self.upperBound - self.lowerBound):
- iSliderValue = (self.upperBound - self.lowerBound)
- self.setSliderInfo(iSliderValue)
- self.AC3delay.setSystemDelay(sAudio, self.currentValue[sAudio], True)
-
- def keyOk(self):
- self.close()
-
- def keyCancel(self):
- for sAudio in AC3PCM:
- iSliderValue = self.currentValue[sAudio]
- if iSliderValue <> self.savedValue[sAudio]:
- self.AC3delay.whichAudio = sAudio
- self.AC3delay.setSystemDelay(sAudio, self.savedValue[sAudio], False)
- self.close()
-
- def keyMenu(self):
- sAudio = self.AC3delay.whichAudio
- iDelay = self["AudioSliderBar"].getValue()+self.lowerBound
- keyList = [
- (_("Move plugin screen"),"1")
- ]
-
- self.session.openWithCallback(self.DoShowMenu,ChoiceBox,_("Menu"),keyList)
-
- def DoShowMenu(self, answer):
- if answer is not None:
- if answer[1] == "1":
- self.startMoving()
- else:
- sResponse = _("Invalid selection")
- iType = MessageBox.TYPE_ERROR
- self.session.open(MessageBox, sResponse , iType)
-
- def menuSaveDelayToKey(self):
- sAudio = self.AC3delay.whichAudio
- iDelay = self["AudioSliderBar"].getValue()+self.lowerBound
-
- AC3SetCustomValue(self.session,iDelay,self.keyStep)
-
- def setSliderInfo(self, iDelay):
- sAudio = self.AC3delay.whichAudio
- self.currentValue[sAudio] = iDelay + self.lowerBound
- iCurDelay = self.currentValue[sAudio]
- self["AudioSliderBar"].setValue(iDelay)
- self["AudioSlider"].setText(_("%i ms")%iCurDelay)
-
- def setChannelInfoText(self):
- sActiveAudio = str(self.AC3delay.selectedAudioInfo[0])
- sBitstreamDelay = _("%i ms") %self.AC3delay.systemDelay[AC3]
- sPCMDelay = _("%i ms") %self.AC3delay.systemDelay[PCM]
-
- self["ServiceInfo"].setText(sActiveAudio)
-
-class AC3SetCustomValue:
- def __init__(self, session, iDelay, keyStep):
- self.keyStep = keyStep
- self.session = session
- self.iDelay = iDelay
- self.session.openWithCallback(self.DoSetCustomValue,ChoiceBox,_("Select the key you want to set to %i ms") %(iDelay),self.getKeyList())
-
- def getKeyList(self):
- keyList = []
- for i,iValue in self.keyStep.iteritems():
- if i != "0":
- keyList.append((_("Key %(key)s (current value: %(value)i ms)") %dict(key=i, value=iValue),i))
- return keyList
-
- def DoSetCustomValue(self,answer):
- if answer is None:
- self.session.open(MessageBox,_("Setting key canceled"), MessageBox.TYPE_INFO)
- elif answer[1] in ("2" , "5" , "8"):
- if answer[1] == "2":
- config.plugins.AC3LipSync.absoluteStep2.setValue(self.iDelay)
- config.plugins.AC3LipSync.absoluteStep2.save()
- elif answer[1] == "5":
- config.plugins.AC3LipSync.absoluteStep5.setValue(self.iDelay)
- config.plugins.AC3LipSync.absoluteStep5.save()
- elif answer[1] == "8":
- config.plugins.AC3LipSync.absoluteStep8.setValue(self.iDelay)
- config.plugins.AC3LipSync.absoluteStep8.save()
- self.keyStep[answer[1]] = self.iDelay
- self.session.open(MessageBox,_("Key %(Key)s successfully set to %(delay)i ms") %dict(Key=answer[1],delay=self.iDelay), MessageBox.TYPE_INFO, 5)
- else:
- self.session.open(MessageBox,_("Invalid selection"), MessageBox.TYPE_ERROR, 5)
+++ /dev/null
-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.Label import Label,MultiColorLabel
-from Components.ProgressBar import ProgressBar
-from Components.config import config, getConfigListEntry
-from Screens.ChoiceBox import ChoiceBox
-from Screens.MessageBox import MessageBox
-from Screens.Screen import Screen
-from __init__ import _
-import os
-
-class AC3LipSyncSetup(ConfigListScreen, Screen):
- skin = """
- <screen position="center,center" size="560,400" title="AC3 Lip Sync Setup">
- <ePixmap pixmap="~/img/button-red.png" position="0,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
- <ePixmap pixmap="~/img/button-green.png" position="140,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
- <ePixmap pixmap="~/img/button-yellow.png" position="280,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
- <ePixmap pixmap="~/img/button-blue.png" position="420,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
- <widget name="key_red" position="0,0" zPosition="1" size="140,40"
- font="Regular;20" valign="center" halign="center" backgroundColor="#9f1313" transparent="1"
- shadowColor="#000000" shadowOffset="-1,-1" />
- <widget name="key_green" position="140,0" zPosition="1" size="140,40"
- font="Regular;20" valign="center" halign="center" backgroundColor="#1f771f" transparent="1"
- shadowColor="#000000" shadowOffset="-1,-1" />
- <widget name="key_yellow" position="280,0" zPosition="1" size="140,40"
- font="Regular;20" valign="center" halign="center" backgroundColor="#a08500" transparent="1"
- shadowColor="#000000" shadowOffset="-1,-1" />
- <widget name="key_blue" position="420,0" zPosition="1" size="140,40"
- font="Regular;20" valign="center" halign="center" backgroundColor="#18188b" transparent="1"
- shadowColor="#000000" shadowOffset="-1,-1" />
- <widget name="config" position="10,40" size="540,320" scrollbarMode="showOnDemand" />
- <widget name="PluginInfo" position="10,370" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
- </screen>"""
-
- def __init__(self, session, plugin_path):
- Screen.__init__(self, session)
-
- # Lets get a list of elements for the config list
- self.list = [
- getConfigListEntry(_("Outer Bound (+/-)"), config.plugins.AC3LipSync.outerBounds),
- getConfigListEntry(_("Step in ms for arrow keys"), config.plugins.AC3LipSync.arrowStepSize),
- getConfigListEntry(_("Wait time in ms before activation:"), config.plugins.AC3LipSync.activationDelay),
- getConfigListEntry(_("Step in ms for keys '%s'") % ("1/3"), config.plugins.AC3LipSync.stepSize13),
- getConfigListEntry(_("Step in ms for keys '%s'") % ("4/6"), config.plugins.AC3LipSync.stepSize46),
- getConfigListEntry(_("Step in ms for keys '%s'") % ("7/9"), config.plugins.AC3LipSync.stepSize79),
- getConfigListEntry(_("Step in ms for key %i") % (2), config.plugins.AC3LipSync.absoluteStep2),
- getConfigListEntry(_("Step in ms for key %i") % (5), config.plugins.AC3LipSync.absoluteStep5),
- getConfigListEntry(_("Step in ms for key %i") % (8), config.plugins.AC3LipSync.absoluteStep8)
- ]
-
- ConfigListScreen.__init__(self, self.list)
-
- self["config"].list = self.list
-
- self.skin_path = plugin_path
-
- # Plugin Information
- self["PluginInfo"] = Label(_("Plugin: %(plugin)s , Version: %(version)s") %dict(plugin=PLUGIN_BASE,version=PLUGIN_VERSION))
-
- # BUTTONS
- self["key_red"] = Button(_("Cancel"))
- self["key_green"] = Button(_("Save"))
- self["key_yellow"] = Button(_(" "))
- self["key_blue"] = Button(" ")
-
- self["setupActions"] = NumberActionMap(["SetupActions", "ColorActions"],
- {
- "save": self.save,
- "cancel": self.cancel,
- "green": self.save,
- "red": self.cancel,
- "ok": self.save,
- }, -2)
-
- def save(self):
- for x in self.list:
- x[1].save()
- self.close()
-
- def cancel(self):
- for x in self["config"].list:
- x[1].cancel()
- self.close()
+++ /dev/null
-AC3 = "AC3"
-PCM = "PCM"
-AC3GLOB = "AC3GLOB"
-PCMGLOB = "PCMGLOB"
-AC3PCM = (AC3,PCM,AC3GLOB,PCMGLOB)
-
-PLUGIN_BASE = "AudioSync"
-PLUGIN_VERSION = "1.2"
-
-MOVEPOSITIONSTEP = 10
-
-SKIN = """
- <screen flags="wfNoBorder" position="30,30" size="600,460" title="Audio Sync" zPosition="1" backgroundColor="#ff000000">
- <ePixmap pixmap="~/img/AudioSyncBG.png" zPosition="1" position="0,0" size="600,460" alphatest="on" transparent="1" />
- <widget name="ChannelLabel" zPosition="2" position="33,40" size="130,20" font="Regular;14" halign="center" valign="center" transparent="1" backgroundColor="#232323" foregroundColors="#ffffff,#fe6b1b"/>
- <widget name="ChannelImg" pixmaps="~/img/OptionButtonOff.png,~/img/OptionButtonOn.png" position="20,43" zPosition="2" size="11,11" transparent="1" alphatest="on"/>
- <widget name="GlobalLabel" zPosition="2" position="178,40" size="110,20" font="Regular;14" halign="center" valign="center" transparent="1" backgroundColor="#232323" foregroundColors="#ffffff,#fe6b1b"/>
- <widget name="GlobalImg" pixmaps="~/img/OptionButtonOff.png,~/img/OptionButtonOn.png" position="165,43" zPosition="2" size="11,11" transparent="1" alphatest="on"/>
- <ePixmap pixmap="~/img/AudioSyncBarBGVert.png" zPosition="2" position="30,70" size="21,370" alphatest="on" transparent="1" />
- <widget name="AudioSliderBar" pixmap="~/img/AudioSyncBarVert.png" zPosition="3" position="30,70" size="21,370" transparent="1" orientation="orBottomToTop"/>
- <widget name="AudioSlider" zPosition="4" position="5,245" size="70,20" font="Regular;14" halign="center" valign="center" backgroundColor="#232323" foregroundColor="#eeeeee" transparent="1"/>
- <widget name="ServiceInfoLabel" zPosition="4" position="20,15" size="65,20" font="Regular;14" backgroundColor="#232323" foregroundColor="#dddddd" transparent="1" />
- <widget name="ServiceInfo" zPosition="4" position="90,15" size="200,20" font="Regular;14" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1" />
- <ePixmap pixmap="~/img/key-green.png" position="290,15" zPosition="5" size="20,20" transparent="1" alphatest="on" />
- <ePixmap pixmap="~/img/key-red.png" position="290,40" zPosition="5" size="20,20" transparent="1" alphatest="on" />
- <ePixmap pixmap="~/img/key-blue.png" position="400,15" zPosition="5" size="20,20" transparent="1" alphatest="on" />
- <widget name="key_green" position="315,15" zPosition="4" size="85,20"
- font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1"/>
- <widget name="key_red" position="315,40" zPosition="4" size="85,20"
- font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1"/>
- <widget name="key_blue" position="425,15" zPosition="4" size="160,20"
- font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1" />
- </screen>"""
\ No newline at end of file
+++ /dev/null
-from Components.ActionMap import HelpableActionMap
-
-class HelpableNumberActionMap(HelpableActionMap):
- """This Actionmap is a HelpableActionMap and a NumberActionMap at the same time.
- It does not have any code, just inherits the init-method from HelpableActionMap and the action from the NumberActionMap"""
- def action(self, contexts, action):
- numbers = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
- if (action in numbers and self.actions.has_key(action)):
- res = self.actions[action](int(action))
- if res is not None:
- return res
- return 1
- else:
- return HelpableActionMap.action(self, contexts, action)
-
- def __init__(self, parent, context, actions = { }, prio=0):
- HelpableActionMap.__init__(self, parent, context, actions, prio)
+++ /dev/null
-All Files of this Software are licensed under the Creative Commons
-Attribution-NonCommercial-ShareAlike 3.0 Unported
-License if not stated otherwise in a Files Head. To view a copy of this license, visit
-http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
-Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
-
-Alternatively, this plugin may be distributed and executed on hardware which
-is licensed by Dream Multimedia GmbH.
-
-This plugin is NOT free software. It is open source, you are allowed to
-modify it (if you keep the license), but it may not be commercially
-distributed other than under the conditions noted above.
+++ /dev/null
-installdir = $(libdir)/enigma2/python/Plugins/Extensions/AudioSync
-install_PYTHON = *.py
-install_DATA = AudioSync.png LICENSE maintainer.info keymap.xml
+++ /dev/null
-from HelpableNumberActionMap import HelpableNumberActionMap
-from Components.config import config
-from __init__ import _
-from enigma import ePoint, eTimer, getDesktop
-
-class MovableScreen():
- def __init__(self, configRoot, disableKeymaps, screenSize_x, screenSize_y, moveMinMargin=30, moveStepSize=10):
- self.configRoot = configRoot
- self.disableKeymaps = disableKeymaps
- self.screenSize_x = screenSize_x
- self.screenSize_y = screenSize_y
- self.moveMinMargin = moveMinMargin
- self.moveStepSize = moveStepSize
-
- self["MovableScreenActions"] = HelpableNumberActionMap(self, "MovableScreenActions",
- {
- "ok": (self.moveKeyOk, _("Save values and close screen")),
- "cancel": (self.moveKeyCancel, _("Discard changes and close screen")),
- "left": (self.moveKeyLeft, _("Move screen to the left")),
- "right": (self.moveKeyRight, _("Move screen to the right")),
- "up": (self.moveKeyUp, _("Move screen up")),
- "down": (self.moveKeyDown, _("Move screen down")),
- "red": (self.moveKeyCancel, _("Discard changes and close screen")),
- "green": (self.moveKeyOk, _("Save values and close screen")),
- "1": (self.moveKeyNumber, _("Move screen to the upper left corner")),
- "2": (self.moveKeyNumber, _("Center screen at the upper border")),
- "3": (self.moveKeyNumber, _("Move screen to the upper right corner")),
- "4": (self.moveKeyNumber, _("Move screen to the middle of the left border")),
- "5": (self.moveKeyNumber, _("Move screen to the center of your TV")),
- "6": (self.moveKeyNumber, _("Move screen to the middle of the right border")),
- "7": (self.moveKeyNumber, _("Move screen to the lower left corner")),
- "8": (self.moveKeyNumber, _("Center screen at the lower border")),
- "9": (self.moveKeyNumber, _("Move screen to the lower right corner")),
- "0": (self.moveKeyNumber, _("Reset saved position"))
- }, -1)
-
- self["MovableScreenActions"].setEnabled(False)
-
- desktop = getDesktop(0)
- self.desktopWidth = desktop.size().width()
- self.desktopHeight = desktop.size().height()
-
-
- def startMoving(self):
- self.setEnableMoveKeymap(True)
-
- self.moveTimer = eTimer()
- self.moveTimer.callback.append(self.movePositionTimer)
- self.moveTimer.start(50, 1)
-
- def movePositionTimer(self):
- if self.configRoot.position_x.value == 0 and self.configRoot.position_y.value == 0:
- self.configRoot.position_x.value = (self.desktopWidth - self.screenSize_x)/2
- self.configRoot.position_y.value = self.moveMinMargin
- self.instance.move(ePoint(self.configRoot.position_x.value, self.configRoot.position_y.value))
-
- self.moveTimer.start(50, 1)
-
- def movePosition(self):
- if self.configRoot.position_x.value != 0 or self.configRoot.position_y.value != 0:
- self.instance.move(ePoint(self.configRoot.position_x.value, self.configRoot.position_y.value))
-
- def moveKeyLeft(self):
- value = self.configRoot.position_x.value
- value -= self.moveStepSize
- if value < 0:
- value = 0
- self.configRoot.position_x.value = value
-
- def moveKeyUp(self):
- value = self.configRoot.position_y.value
- value -= self.moveStepSize
- if value < 0:
- value = 0
- self.configRoot.position_y.value = value
-
- def moveKeyRight(self):
- value = self.configRoot.position_x.value
- value += self.moveStepSize
- if value > self.desktopWidth:
- value = self.desktopWidth
- self.configRoot.position_x.value = value
-
- def moveKeyDown(self):
- value = self.configRoot.position_y.value
- value += self.moveStepSize
- if value > self.desktopHeight:
- value = self.desktopHeight
- self.configRoot.position_y.value = value
-
- def moveKeyNumber(self, number):
- #x- Positioning
- if number in (1,4,7):
- iPosX = self.moveMinMargin
- elif number in (2,5,8,0):
- iPosX = (self.desktopWidth - self.screenSize_x)/2
- else:
- iPosX = self.desktopWidth - self.moveMinMargin - self.screenSize_x
-
- self.configRoot.position_x.value = iPosX
-
- #y- positioning
- if number in (0,1,2,3):
- iPosY = self.moveMinMargin
- elif number in (4,5,6):
- iPosY = (self.desktopHeight - self.screenSize_y)/2
- elif number in (7,8,9):
- iPosY = self.desktopHeight - self.moveMinMargin - self.screenSize_y
-
- self.configRoot.position_y.value = iPosY
-
- def moveKeyOk(self):
- self.configRoot.position_x.save()
- self.configRoot.position_y.save()
- self.setEnableMoveKeymap(False)
-
- def moveKeyCancel(self):
- self.configRoot.position_x.cancel()
- self.configRoot.position_y.cancel()
- self.setEnableMoveKeymap(False)
-
- def setEnableMoveKeymap(self,enabled):
- self["MovableScreenActions"].setEnabled(enabled)
- for keymap in self.disableKeymaps:
- keymap.setEnabled(not(enabled))
+++ /dev/null
-from Components.Language import language
-from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE
-import os,gettext
-
-PluginLanguageDomain = "AudioSync"
-PluginLanguagePath = "Extensions/AudioSync/locale"
-
-def localeInit():
- lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
- os.environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
- print "[" + PluginLanguageDomain + "] set language to ", lang
- gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
-
-def _(txt):
- t = gettext.dgettext(PluginLanguageDomain, txt)
- if t == txt:
- print "[" + PluginLanguageDomain + "] fallback to default translation for ", txt
- t = gettext.gettext(txt)
- return t
-
-localeInit()
-language.addCallback(localeInit)
+++ /dev/null
-<keymap>
- <map context="PluginAudioSyncActions">
- <key id="KEY_MENU" mapto="menu" flags="mr" />
- <key id="KEY_ENTER" mapto="ok" flags="m" />
- <key id="KEY_OK" mapto="ok" flags="m" />
- <key id="KEY_EXIT" mapto="cancel" flags="m" />
- <key id="KEY_ESC" mapto="cancel" flags="m" />
- <key id="KEY_LEFT" mapto="left" flags="mr" />
- <key id="KEY_RIGHT" mapto="right" flags="mr" />
- <key id="KEY_UP" mapto="up" flags="mr" />
- <key id="KEY_DOWN" mapto="down" flags="mr" />
- <key id="KEY_RED" mapto="red" flags="m" />
- <key id="KEY_GREEN" mapto="green" flags="m" />
- <key id="KEY_YELLOW" mapto="yellow" flags="m" />
- <key id="KEY_BLUE" mapto="blue" flags="m" />
- <key id="KEY_1" mapto="1" flags="m" />
- <key id="KEY_2" mapto="2" flags="m" />
- <key id="KEY_3" mapto="3" flags="m" />
- <key id="KEY_4" mapto="4" flags="m" />
- <key id="KEY_5" mapto="5" flags="m" />
- <key id="KEY_6" mapto="6" flags="m" />
- <key id="KEY_7" mapto="7" flags="m" />
- <key id="KEY_8" mapto="8" flags="m" />
- <key id="KEY_9" mapto="9" flags="m" />
- <key id="KEY_0" mapto="0" flags="m" />
- </map>
- <map context="MovableScreenActions">
- <key id="KEY_ENTER" mapto="ok" flags="m" />
- <key id="KEY_OK" mapto="ok" flags="m" />
- <key id="KEY_EXIT" mapto="cancel" flags="m" />
- <key id="KEY_ESC" mapto="cancel" flags="m" />
- <key id="KEY_LEFT" mapto="left" flags="mr" />
- <key id="KEY_RIGHT" mapto="right" flags="mr" />
- <key id="KEY_UP" mapto="up" flags="mr" />
- <key id="KEY_DOWN" mapto="down" flags="mr" />
- <key id="KEY_RED" mapto="red" flags="m" />
- <key id="KEY_GREEN" mapto="green" flags="m" />
- <key id="KEY_1" mapto="1" flags="m" />
- <key id="KEY_2" mapto="2" flags="m" />
- <key id="KEY_3" mapto="3" flags="m" />
- <key id="KEY_4" mapto="4" flags="m" />
- <key id="KEY_5" mapto="5" flags="m" />
- <key id="KEY_6" mapto="6" flags="m" />
- <key id="KEY_7" mapto="7" flags="m" />
- <key id="KEY_8" mapto="8" flags="m" />
- <key id="KEY_9" mapto="9" flags="m" />
- <key id="KEY_0" mapto="0" flags="m" />
- </map>
-</keymap>
+++ /dev/null
-sagichnet@gmx.net
-AudioSync
+++ /dev/null
-from Components.config import config, ConfigSubsection, ConfigInteger, ConfigSubList
-from Plugins.Plugin import PluginDescriptor
-from Screens.MessageBox import MessageBox
-import AC3main
-import AC3setup
-
-config.plugins.AC3LipSync = ConfigSubsection()
-config.plugins.AC3LipSync.outerBounds = ConfigInteger(default = 1000, limits = (-10000,10000))
-config.plugins.AC3LipSync.arrowStepSize = ConfigInteger(default = 5, limits = (-10000,10000))
-config.plugins.AC3LipSync.activationDelay = ConfigInteger(default = 800, limits = (-10000,10000))
-config.plugins.AC3LipSync.stepSize13 = ConfigInteger(default = 50, limits = (-10000,10000))
-config.plugins.AC3LipSync.stepSize46 = ConfigInteger(default = 200, limits = (-10000,10000))
-config.plugins.AC3LipSync.stepSize79 = ConfigInteger(default = 500, limits = (-10000,10000))
-config.plugins.AC3LipSync.absoluteStep2 = ConfigInteger(default = 0, limits = (-10000,10000))
-config.plugins.AC3LipSync.absoluteStep5 = ConfigInteger(default = 0, limits = (-10000,10000))
-config.plugins.AC3LipSync.absoluteStep8 = ConfigInteger(default = 0, limits = (-10000,10000))
-config.plugins.AC3LipSync.position_x = ConfigInteger(default=0)
-config.plugins.AC3LipSync.position_y = ConfigInteger(default=0)
-
-def main(session, **kwargs):
-# reload(AC3main)
- session.open(AC3main.AC3LipSync, plugin_path)
-
-def setup(session, **kwargs):
-# reload(AC3setup)
- session.open(AC3setup.AC3LipSyncSetup, plugin_path)
-
-def audioMenu(session, **kwargs):
-# reload(AC3setup)
- session.open(AC3main.AC3LipSync, plugin_path)
-
-def Plugins(path,**kwargs):
- global plugin_path
- plugin_path = path
- return [ PluginDescriptor(name=_("Audio Sync Setup"), description=_("Setup for the Audio Sync Plugin"), icon = "AudioSync.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=setup),
- PluginDescriptor(name=_("Audio Sync"), description=_("sets the Audio Delay (LipSync)"), where = PluginDescriptor.WHERE_AUDIOMENU, fnc=audioMenu)]
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ac3lipsync</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.python.pydev.PyDevBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.python.pydev.pythonNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Package: enigma2-plugin-extensions-audiosync
+Replaces: enigma2-plugin-extensions-ac3lipsync
+Conflicts: enigma2-plugin-extensions-ac3lipsync
+Version: 1.2-20100225-r0
+Description: Set Audio delay
+Maintainer: Tode <sagichnet@gmx.net>
+Depends: enigma2 (>= 2.6git20091203)
--- /dev/null
+SUBDIRS = img po src meta
--- /dev/null
+installdir = $(libdir)/enigma2/python/Plugins/Extensions/AudioSync/img
+
+install_DATA = *.png
--- /dev/null
+installdir = $(datadir)/meta/
+
+dist_install_DATA = plugin_audiosync.xml
+
+EXTRA_DIST = audiosync_de.jpg audiosync_en.jpg
\ No newline at end of file
--- /dev/null
+<default>
+ <prerequisites>
+ <tag type="System" />
+ </prerequisites>
+ <info>
+ <author>Tode</author>
+ <name>AudioSync</name>
+ <packagename>enigma2-plugin-extensions-audiosync</packagename>
+ <shortdescription>Set Bitstream/PCM audio delays</shortdescription>
+ <description>AudoSync allows delaying the sound output (Bitstream/PCM) so that it is synchronous to the picture.</description>
+ <screenshot src="http://www.dreamboxupdate.com/preview/plugin_audiosync_en.jpg" />
+ </info>
+ <files type="package"> <!-- without version, without .ipk -->
+ <file type="package" name="enigma2-plugin-extensions-audiosync" />
+ </files>
+</default>
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: AC3LipSync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-12-18 02:07+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Tode <sagichnet@gmx.net>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\\n"
+"X-Poedit-SearchPath-0: src\n"
+
+#: src/AC3main.py:57
+msgid "Service delay"
+msgstr ""
+
+#: src/AC3main.py:58
+msgid "Global delay"
+msgstr ""
+
+#: src/AC3main.py:62
+#: src/AC3main.py:146
+#: src/AC3main.py:236
+#: src/AC3main.py:240
+#: src/AC3main.py:241
+#, python-format
+msgid "%i ms"
+msgstr ""
+
+#: src/AC3main.py:65
+msgid "Channel audio:"
+msgstr ""
+
+#: src/AC3main.py:70
+#: src/AC3setup.py:63
+msgid "Cancel"
+msgstr ""
+
+#: src/AC3main.py:71
+msgid "OK"
+msgstr ""
+
+#: src/AC3main.py:72
+msgid "Switch audio"
+msgstr ""
+
+#: src/AC3main.py:73
+msgid "Save to key"
+msgstr ""
+
+#: src/AC3main.py:78
+msgid "Open plugin menu"
+msgstr ""
+
+#: src/AC3main.py:79
+#: src/AC3main.py:86
+msgid "Save values and close plugin"
+msgstr ""
+
+#: src/AC3main.py:80
+#: src/AC3main.py:85
+msgid "Discard changes and close plugin"
+msgstr ""
+
+#: src/AC3main.py:81
+#: src/AC3main.py:82
+msgid "Change active delay"
+msgstr ""
+
+#: src/AC3main.py:83
+msgid "Increase delay"
+msgstr ""
+
+#: src/AC3main.py:84
+msgid "Decrease delay"
+msgstr ""
+
+#: src/AC3main.py:87
+msgid "Select channel audio"
+msgstr ""
+
+#: src/AC3main.py:88
+msgid "Save current delay to key"
+msgstr ""
+
+#: src/AC3main.py:89
+#: src/AC3main.py:91
+#: src/AC3main.py:93
+#, python-format
+msgid "Decrease delay by %i ms (can be set)"
+msgstr ""
+
+#: src/AC3main.py:90
+#: src/AC3main.py:92
+#: src/AC3main.py:94
+#, python-format
+msgid "Increase delay by %i ms (can be set)"
+msgstr ""
+
+#: src/AC3main.py:95
+#: src/AC3main.py:96
+#: src/AC3main.py:97
+#: src/AC3main.py:98
+#, python-format
+msgid "Set delay to %i ms (can be set)"
+msgstr ""
+
+#: src/AC3main.py:211
+msgid "Move plugin screen"
+msgstr ""
+
+#: src/AC3main.py:214
+msgid "Menu"
+msgstr ""
+
+#: src/AC3main.py:221
+#: src/AC3main.py:282
+msgid "Invalid selection"
+msgstr ""
+
+#: src/AC3main.py:257
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr ""
+
+#: src/AC3main.py:263
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr ""
+
+#: src/AC3main.py:268
+msgid "Setting key canceled"
+msgstr ""
+
+#: src/AC3main.py:280
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr ""
+
+#: src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr ""
+
+#: src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr ""
+
+#: src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr ""
+
+#: src/AC3setup.py:45
+#: src/AC3setup.py:46
+#: src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr ""
+
+#: src/AC3setup.py:48
+#: src/AC3setup.py:49
+#: src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr ""
+
+#: src/AC3setup.py:60
+#, python-format
+msgid "Plugin: %(plugin)s , Version: %(version)s"
+msgstr ""
+
+#: src/AC3setup.py:64
+msgid "Save"
+msgstr ""
+
+#: src/AC3setup.py:65
+msgid " "
+msgstr ""
+
+#: src/MovableScreen.py:17
+#: src/MovableScreen.py:24
+msgid "Save values and close screen"
+msgstr ""
+
+#: src/MovableScreen.py:18
+#: src/MovableScreen.py:23
+msgid "Discard changes and close screen"
+msgstr ""
+
+#: src/MovableScreen.py:19
+msgid "Move screen to the left"
+msgstr ""
+
+#: src/MovableScreen.py:20
+msgid "Move screen to the right"
+msgstr ""
+
+#: src/MovableScreen.py:21
+msgid "Move screen up"
+msgstr ""
+
+#: src/MovableScreen.py:22
+msgid "Move screen down"
+msgstr ""
+
+#: src/MovableScreen.py:25
+msgid "Move screen to the upper left corner"
+msgstr ""
+
+#: src/MovableScreen.py:26
+msgid "Center screen at the upper border"
+msgstr ""
+
+#: src/MovableScreen.py:27
+msgid "Move screen to the upper right corner"
+msgstr ""
+
+#: src/MovableScreen.py:28
+msgid "Move screen to the middle of the left border"
+msgstr ""
+
+#: src/MovableScreen.py:29
+msgid "Move screen to the center of your TV"
+msgstr ""
+
+#: src/MovableScreen.py:30
+msgid "Move screen to the middle of the right border"
+msgstr ""
+
+#: src/MovableScreen.py:31
+msgid "Move screen to the lower left corner"
+msgstr ""
+
+#: src/MovableScreen.py:32
+msgid "Center screen at the lower border"
+msgstr ""
+
+#: src/MovableScreen.py:33
+msgid "Move screen to the lower right corner"
+msgstr ""
+
+#: src/MovableScreen.py:34
+msgid "Reset saved position"
+msgstr ""
+
+#: src/plugin.py:30
+#: src/plugin.py:36
+#: src/plugin.py:38
+msgid "Audio Sync"
+msgstr ""
+
+#: src/plugin.py:36
+#: src/plugin.py:38
+msgid "sets the Audio Delay (LipSync)"
+msgstr ""
+
+#: src/plugin.py:37
+msgid "Audio Sync Setup"
+msgstr ""
+
+#: src/plugin.py:37
+msgid "Setup for the Audio Sync Plugin"
+msgstr ""
+
--- /dev/null
+PLUGIN = AudioSync
+LANGS = de fi it nl sr sv tr
+
+include $(top_srcdir)/Rules-po.mak
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: AudioSync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-12-18 02:08+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Tode <sagichnet@gmx.net>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-SearchPath-0: ..\\src\n"
+
+#: ..\src/AC3main.py:57
+msgid "Service delay"
+msgstr "Kanal delay"
+
+#: ..\src/AC3main.py:58
+msgid "Global delay"
+msgstr "Globales delay"
+
+#: ..\src/AC3main.py:62
+#: ..\src/AC3main.py:146
+#: ..\src/AC3main.py:236
+#: ..\src/AC3main.py:240
+#: ..\src/AC3main.py:241
+#, python-format
+msgid "%i ms"
+msgstr "%i ms"
+
+#: ..\src/AC3main.py:65
+msgid "Channel audio:"
+msgstr "Kanal Tonspur:"
+
+#: ..\src/AC3main.py:70
+#: ..\src/AC3setup.py:63
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ..\src/AC3main.py:71
+msgid "OK"
+msgstr "OK"
+
+#: ..\src/AC3main.py:72
+msgid "Switch audio"
+msgstr "Tonspur..."
+
+#: ..\src/AC3main.py:73
+msgid "Save to key"
+msgstr "Auf Taste speichern"
+
+#: ..\src/AC3main.py:78
+msgid "Open plugin menu"
+msgstr "Plugin menu öffnen"
+
+#: ..\src/AC3main.py:79
+#: ..\src/AC3main.py:86
+msgid "Save values and close plugin"
+msgstr "Werte speichern und Plugin schliessen"
+
+#: ..\src/AC3main.py:80
+#: ..\src/AC3main.py:85
+msgid "Discard changes and close plugin"
+msgstr "Änderungen verwerfen und Plugin schliessen"
+
+#: ..\src/AC3main.py:81
+#: ..\src/AC3main.py:82
+msgid "Change active delay"
+msgstr "Aktive Verzögerung ändern"
+
+#: ..\src/AC3main.py:83
+msgid "Increase delay"
+msgstr "Verzögerung erhöhen"
+
+#: ..\src/AC3main.py:84
+msgid "Decrease delay"
+msgstr "Verzögerung verringern"
+
+#: ..\src/AC3main.py:87
+msgid "Select channel audio"
+msgstr "Kanal- Tonspur wählen"
+
+#: ..\src/AC3main.py:88
+msgid "Save current delay to key"
+msgstr "Aktuelle Verzögerung auf Taste speichern"
+
+#: ..\src/AC3main.py:89
+#: ..\src/AC3main.py:91
+#: ..\src/AC3main.py:93
+#, python-format
+msgid "Decrease delay by %i ms (can be set)"
+msgstr "Verzögerung um %i ms erhöhen"
+
+#: ..\src/AC3main.py:90
+#: ..\src/AC3main.py:92
+#: ..\src/AC3main.py:94
+#, python-format
+msgid "Increase delay by %i ms (can be set)"
+msgstr "Verzögerung um %i ms verringern"
+
+#: ..\src/AC3main.py:95
+#: ..\src/AC3main.py:96
+#: ..\src/AC3main.py:97
+#: ..\src/AC3main.py:98
+#, python-format
+msgid "Set delay to %i ms (can be set)"
+msgstr "Verzögerung auf %i ms setzen"
+
+#: ..\src/AC3main.py:211
+msgid "Move plugin screen"
+msgstr "Plugin- Bildschirm verschieben"
+
+#: ..\src/AC3main.py:214
+msgid "Menu"
+msgstr "Menu"
+
+#: ..\src/AC3main.py:221
+#: ..\src/AC3main.py:282
+msgid "Invalid selection"
+msgstr "Ungültige Auswahl"
+
+#: ..\src/AC3main.py:257
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "Wählen Sie die Taste, die Sue auf %i ms setzen wollen"
+
+#: ..\src/AC3main.py:263
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "Taste %(key)s (aktueller Wert: %(value)i ms)"
+
+#: ..\src/AC3main.py:268
+msgid "Setting key canceled"
+msgstr "Setzen der Taste abgebrochen"
+
+#: ..\src/AC3main.py:280
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "Taste %(Key)s erfolgreich auf %(delay)i ms gesetzt"
+
+#: ..\src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr "Grenzen (+/-)"
+
+#: ..\src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr "Schritte in ms für Pfeiltasten"
+
+#: ..\src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr "Wartezeit vor Aktivierung in ms"
+
+#: ..\src/AC3setup.py:45
+#: ..\src/AC3setup.py:46
+#: ..\src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "Schritt in ms für Tasten '%s'"
+
+#: ..\src/AC3setup.py:48
+#: ..\src/AC3setup.py:49
+#: ..\src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "Schritt in ms für Taste %i"
+
+#: ..\src/AC3setup.py:60
+#, python-format
+msgid "Plugin: %(plugin)s , Version: %(version)s"
+msgstr "Plugin: %(plugin)s , Version: %(version)s"
+
+#: ..\src/AC3setup.py:64
+msgid "Save"
+msgstr "Speichern"
+
+#: ..\src/AC3setup.py:65
+msgid " "
+msgstr ""
+
+#: ..\src/MovableScreen.py:17
+#: ..\src/MovableScreen.py:24
+msgid "Save values and close screen"
+msgstr "Werte speichern und plugin schliessen"
+
+#: ..\src/MovableScreen.py:18
+#: ..\src/MovableScreen.py:23
+msgid "Discard changes and close screen"
+msgstr "Änderungen verwerfen"
+
+#: ..\src/MovableScreen.py:19
+msgid "Move screen to the left"
+msgstr "Plugin nach links bewegen"
+
+#: ..\src/MovableScreen.py:20
+msgid "Move screen to the right"
+msgstr "Plugin nach rechts bewegen"
+
+#: ..\src/MovableScreen.py:21
+msgid "Move screen up"
+msgstr "Plugin nach oben bewegen"
+
+#: ..\src/MovableScreen.py:22
+msgid "Move screen down"
+msgstr "Plugin nach unten bewegen"
+
+#: ..\src/MovableScreen.py:25
+msgid "Move screen to the upper left corner"
+msgstr "Plugin in die linke obere Ecke verschieben"
+
+#: ..\src/MovableScreen.py:26
+msgid "Center screen at the upper border"
+msgstr "Plugin am oberen Rand zentrieren"
+
+#: ..\src/MovableScreen.py:27
+msgid "Move screen to the upper right corner"
+msgstr "Plugin in die rechte obere Ecke verschieben"
+
+#: ..\src/MovableScreen.py:28
+msgid "Move screen to the middle of the left border"
+msgstr "Plugin in die Mitte des linken Randes bewegen"
+
+#: ..\src/MovableScreen.py:29
+msgid "Move screen to the center of your TV"
+msgstr "Plugin auf dem Bildschirm zentrieren"
+
+#: ..\src/MovableScreen.py:30
+msgid "Move screen to the middle of the right border"
+msgstr "Plugin in die Mitte des rechten Randes bewegen"
+
+#: ..\src/MovableScreen.py:31
+msgid "Move screen to the lower left corner"
+msgstr "Plugin in die linke untere Ecke verschieben"
+
+#: ..\src/MovableScreen.py:32
+msgid "Center screen at the lower border"
+msgstr "Plugin am unteren Rand zentrieren"
+
+#: ..\src/MovableScreen.py:33
+msgid "Move screen to the lower right corner"
+msgstr "Plugin in die rechte untere Ecke verschieben"
+
+#: ..\src/MovableScreen.py:34
+msgid "Reset saved position"
+msgstr "Gespeicherte Position zurücksetzen"
+
+#: ..\src/plugin.py:30
+#: ..\src/plugin.py:36
+#: ..\src/plugin.py:38
+msgid "Audio Sync"
+msgstr "Audio Sync"
+
+#: ..\src/plugin.py:36
+#: ..\src/plugin.py:38
+msgid "sets the Audio Delay (LipSync)"
+msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
+
+#: ..\src/plugin.py:37
+msgid "Audio Sync Setup"
+msgstr "Audio Sync Setup"
+
+#: ..\src/plugin.py:37
+msgid "Setup for the Audio Sync Plugin"
+msgstr "Setup fürs Audio Sync Plugin"
+
+#~ msgid "%s:"
+#~ msgstr "%s:"
+#~ msgid "Passthrough"
+#~ msgstr "Passthrough"
+#~ msgid "Global Passthr."
+#~ msgstr "Passthr. Global"
+#~ msgid "PCM"
+#~ msgstr "PCM"
+#~ msgid "Delay:"
+#~ msgstr "Verzögerung:"
+#~ msgid "sets the audio Delay (LipSync)"
+#~ msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
+
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: AC3-LipSync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-02-28 13:48+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Timo Jarvenpaa <timojarvenpaa@hotmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: FINLAND\n"
+
+msgid "AC3 Lip Sync"
+msgstr ""
+
+msgid "sets the AC3 audio Delay (LipSync)"
+msgstr "säätää ääniviivettä (lipsync)"
+
+msgid "AC3 Lip Sync Setup"
+msgstr "AC3 Lip Sync -asetukset"
+
+msgid "Setup for the AC3 Lip Sync Plugin"
+msgstr "AC3 Lip Sync -lisäosan asetukset"
+
+msgid "Use user delays"
+msgstr "Omat pikaval."
+
+msgid "Use calc. delays"
+msgstr "Vakiot pikaval."
+
+msgid "ms"
+msgstr ""
+
+#, python-format
+msgid "%s delay:"
+msgstr "%s-viive:"
+
+#, python-format
+msgid "%s:"
+msgstr ""
+
+msgid "Channel audio:"
+msgstr "Ääniraita:"
+
+msgid "Save"
+msgstr "Tallenna"
+
+msgid "Switch audio"
+msgstr "Ääniraita"
+
+msgid "Set user delay"
+msgstr "Tal.pikaval."
+
+#, python-format
+msgid "Save %s delay"
+msgstr "Tallenna %s-viive"
+
+msgid "Save both delays"
+msgstr "Tallenna molemmat viiveet"
+
+msgid "Which delays do you want to set"
+msgstr "Mitkä viiveet haluat tallentaa?"
+
+#, python-format
+msgid "Saved %(audio)s value: %(delay)i ms"
+msgstr "Tallennettiin %(audio)s-arvo: %(delay)i ms"
+
+msgid "Invalid selection"
+msgstr "Virheellinen valinta"
+
+msgid "Select the key you want to set"
+msgstr "Valitse näppäin viivearvon pikavalintaa varten"
+
+msgid "Key"
+msgstr "Näppäin"
+
+msgid "Setting key canceled"
+msgstr "Näppäimen määritys keskeytetty"
+
+#, python-format
+msgid "%(Key)s successfully set to %(delay)i ms"
+msgstr "%(Key)s näppäin tallennettu %(delay)i ms viiveelle"
+
+msgid "Save current %(audio)s delay of %(delay)i ms to key"
+msgstr "Tallenna nykyinen %(audio)s-viive (%(delay)i ms) pikavalintaan"
+
+msgid "Switch to user key- delays"
+msgstr "Ota itse määritellyt viiveen pikavalinnat käyttöön"
+
+msgid "Switch to calculated key- delays"
+msgstr "Ota oletusarvoiset viiveen pikavalinnat käyttöön"
+
+msgid "Minimum delay"
+msgstr "Minimiviive (ms)"
+
+msgid "Maximum delay"
+msgstr "Maksimiviive (ms)"
+
+msgid "Step in ms for arrow keys"
+msgstr "Nuolinäppäimien säätöporras (ms)"
+
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "%i-näppäimen viive (ms)"
+
+msgid "Wait time in ms before activation:"
+msgstr "Odotusaika ennen viiveen aktivointia (ms)"
+
+msgid "Cancel"
+msgstr "Keskeytä"
+
+msgid "Recalculate..."
+msgstr "Päivitä..."
+
--- /dev/null
+# Signed-off-by: Dario Croci <spaeleus@croci.org>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: enigma2 - AC3lipsync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-12-26 21:06+0100\n"
+"PO-Revision-Date: 2009-12-26 21:07+0100\n"
+"Last-Translator: Spaeleus <spaeleus@croci.org>\n"
+"Language-Team: www.linsat.net - Italy <spaeleus@croci.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Italian\n"
+"X-Poedit-Country: ITALY\n"
+"X-Poedit-SourceCharset: iso-8859-1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Basepath: /home/dario/Plugins/ac3lipsync\n"
+"X-Poedit-SearchPath-0: /home/dario/Plugins/ac3lipsync\n"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:57
+msgid "Service delay"
+msgstr "Ritardo canale"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:58
+msgid "Global delay"
+msgstr "Ritardo globale"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:62
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:146
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:236
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:240
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:241
+#, python-format
+msgid "%i ms"
+msgstr "%i ms"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:65
+msgid "Channel audio:"
+msgstr "Canale audio: "
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:70
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:63
+msgid "Cancel"
+msgstr "Annullare"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:71
+msgid "OK"
+msgstr "Ok"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:72
+msgid "Switch audio"
+msgstr "Cambiare audio"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:73
+msgid "Save to key"
+msgstr "Salvare su tasto"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:78
+msgid "Open plugin menu"
+msgstr "Aprire il menu del plugin"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:79
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:86
+msgid "Save values and close plugin"
+msgstr "Salvare la configurazione e uscire"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:80
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:85
+msgid "Discard changes and close plugin"
+msgstr "Annullare le modifiche e uscire"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:81
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:82
+msgid "Change active delay"
+msgstr "Cambiare il ritardo corrente"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:83
+msgid "Increase delay"
+msgstr "Aumentare il ritardo"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:84
+msgid "Decrease delay"
+msgstr "Diminuire il ritardo"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:87
+msgid "Select channel audio"
+msgstr "Selezionare il canale audio"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:88
+msgid "Save current delay to key"
+msgstr "Assegnare ritardo corrente a un tasto"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:89
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:91
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:93
+#, python-format
+msgid "Decrease delay by %i ms (can be set)"
+msgstr "Diminuire il ritardo di %i ms (configurabili)"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:90
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:92
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:94
+#, python-format
+msgid "Increase delay by %i ms (can be set)"
+msgstr "Aumentare il ritardo di %i ms (configurabili)"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:95
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:96
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:97
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:98
+#, python-format
+msgid "Set delay to %i ms (can be set)"
+msgstr "Regolare il ritardo a %i ms (configurabili)"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:211
+msgid "Move plugin screen"
+msgstr "Spostare la finestra del plugin"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:214
+msgid "Menu"
+msgstr "Menu"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:221
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:282
+msgid "Invalid selection"
+msgstr "Selezione non valida!"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:257
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "Sel. il tasto a cui assegnare %i ms"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:263
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "Tasto %(key)s (valore corrente: %(value)i ms)"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:268
+msgid "Setting key canceled"
+msgstr "Configurazione tasto cancellata!"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3main.py:280
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "Tasto %(Key)s configurato con successo a %(delay)i ms"
+
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:30
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:36
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:38
+msgid "Audio Sync"
+msgstr "Audio Sync"
+
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:36
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:38
+msgid "sets the Audio Delay (LipSync)"
+msgstr "Configurare il ritardo audio (LipSync)"
+
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:37
+msgid "Audio Sync Setup"
+msgstr "Configurazione sincronismo audio"
+
+#: /home/dario/Plugins/ac3lipsync/src/plugin.py:37
+msgid "Setup for the Audio Sync Plugin"
+msgstr "Configurazione plugin Audio Sync"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr "Ritardo massimo (+/-)"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr "Passo tasti cursore (ms):"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr "Attesa prima di attivare (ms):"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:45
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:46
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "Passo in ms per il tasto \"%s\""
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:48
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:49
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "Passo tasto %i (ms):"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:60
+#, python-format
+msgid "Plugin: %(plugin)s , Version: %(version)s"
+msgstr "Plugin: %(plugin)s , Versione: %(version)s"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:64
+msgid "Save"
+msgstr "Salvare"
+
+#: /home/dario/Plugins/ac3lipsync/src/AC3setup.py:65
+msgid " "
+msgstr " "
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:17
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:24
+msgid "Save values and close screen"
+msgstr "Salvare la configurazione e chiudere la finestra"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:18
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:23
+msgid "Discard changes and close screen"
+msgstr "Annullare le modifiche e chiudere la finestra"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:19
+msgid "Move screen to the left"
+msgstr "Spostare la finestra a sx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:20
+msgid "Move screen to the right"
+msgstr "Spostare la finestra a dx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:21
+msgid "Move screen up"
+msgstr "Spostare la finestra in sù"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:22
+msgid "Move screen down"
+msgstr "Spostare la finestra giù"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:25
+msgid "Move screen to the upper left corner"
+msgstr "Spostare la finestra nell'angolo in alto a sx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:26
+msgid "Center screen at the upper border"
+msgstr "Centrare la finestra al bordo inferiore"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:27
+msgid "Move screen to the upper right corner"
+msgstr "Spostare la finestra nell'angolo in alto a dx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:28
+msgid "Move screen to the middle of the left border"
+msgstr "Spostare la finestra al centro del bordo sx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:29
+msgid "Move screen to the center of your TV"
+msgstr "Posizionare la finestra al centro"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:30
+msgid "Move screen to the middle of the right border"
+msgstr "Spostare la finestra al centro del bordo dx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:31
+msgid "Move screen to the lower left corner"
+msgstr "Spostare la finestra nell'angolo in basso a sx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:32
+msgid "Center screen at the lower border"
+msgstr "Centrare "
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:33
+msgid "Move screen to the lower right corner"
+msgstr "Spostare la finestra nell'angolo in basso a dx"
+
+#: /home/dario/Plugins/ac3lipsync/src/MovableScreen.py:34
+msgid "Reset saved position"
+msgstr "Reset della posizione salvata"
+
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: enigma2 - AC3LipSync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-09-13 11:47+0200\n"
+"PO-Revision-Date: 2009-09-16 13:02+0100\n"
+"Last-Translator: \n"
+"Language-Team: <Benny.DeTandt@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-Language: Dutch\n"
+"X-Poedit-Country: NETHERLANDS\n"
+"X-Poedit-SearchPath-0: L:\\Dreambox\\Eclipse\\enigma2-plugins\\ac3lipsync\\src\n"
+
+msgid " "
+msgstr " "
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:81
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:84
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:141
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:305
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:309
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:310
+#, python-format
+msgid "%i ms"
+msgstr "%i ms"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:82
+#, python-format
+msgid "%s delay:"
+msgstr "%s vertraging:"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:83
+#, python-format
+msgid "%s:"
+msgstr "%s:"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:30
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:34
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:36
+msgid "AC3 Lip Sync"
+msgstr "AC3 Lip Sync"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:35
+msgid "AC3 Lip Sync Setup"
+msgstr "AC3 Lip Sync Instellingen"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:92
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:58
+msgid "Cancel"
+msgstr "Annuleren"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:87
+msgid "Channel audio:"
+msgstr "Kanaal audio:"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:228
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:288
+msgid "Invalid selection"
+msgstr "Verkeerde keuze"
+
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "Toets %(Key)s succesvol gewijzigd in %(delay)i ms"
+
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "Toets %(key)s (huidige waarde: %(value)i ms)"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:219
+msgid "Menu"
+msgstr "Menu"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:93
+msgid "OK"
+msgstr "OK"
+
+msgid "Outer Bound (+/-)"
+msgstr "Maximale vertraging (+/-)"
+
+#, python-format
+msgid "Plugin: %(plugin)s , Version: %(version)s"
+msgstr "Plugin: %(plugin)s , Versie: %(version)s"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:98
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:59
+msgid "Save"
+msgstr "Bewaren"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:247
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:248
+#, python-format
+msgid "Save %s delay"
+msgstr "Bewaar %s vertraging"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:249
+msgid "Save both delays"
+msgstr "Bewaar beide vertragingen"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:215
+#, python-format
+msgid "Save current %(audio)s delay of %(delay)i ms to key"
+msgstr "Bewaar huidige %(audio)s vertraging van %(delay)i ms aan toets"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:284
+#, python-format
+msgid "Saved %(audio)s value: %(delay)i ms"
+msgstr "Bewaarde %(audio)s waarde: %(delay)i ms"
+
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "Selecteer de toets die u wilt instellen op %i ms..."
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:337
+msgid "Setting key canceled"
+msgstr "Configuratie toets geannuleerd"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:35
+msgid "Setup for the AC3 Lip Sync Plugin"
+msgstr "Configuratie van de AC3 Lip Sync Plugin"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:44
+msgid "Step in ms for arrow keys"
+msgstr "Stappen in ms voor links/rechts toetsen"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:49
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "Stappen in ms voor Toets %i"
+
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "Stappen in ms voor Toetsen '%s'"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:94
+msgid "Switch audio"
+msgstr "Kies audio"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3setup.py:45
+msgid "Wait time in ms before activation:"
+msgstr "Wachttijd in ms voor activering"
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:252
+msgid "Which delays do you want to set"
+msgstr "Welke vertragingen wilt u instellen..."
+
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:34
+# L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/plugin.py:36
+msgid "sets the AC3 audio Delay (LipSync)"
+msgstr "Stel de AC3 audio vertraging in (LipSync)"
+
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: enigma2 - AC3lipsync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-29 01:17+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: maja <jovanovic@gmx.ch>\n"
+"Language-Team: veselin & majevica CRNABERZA <jovanovic@gmx.ch>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: L:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
+"X-Poedit-Language: Serbian\n"
+"X-Poedit-Country: Serbia\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-SearchPath-0: ..\\src\n"
+
+#: ..\src/plugin.py:28
+#: ..\src/plugin.py:32
+#: ..\src/plugin.py:34
+msgid "AC3 Lip Sync"
+msgstr "AC3 Lip Sync"
+
+#: ..\src/plugin.py:32
+#: ..\src/plugin.py:34
+msgid "sets the AC3 audio Delay (LipSync)"
+msgstr "podešava AC3 audio kašnjenje (LipSync)"
+
+#: ..\src/plugin.py:33
+msgid "AC3 Lip Sync Setup"
+msgstr "AC3 Lip Sync podešavanje"
+
+#: ..\src/plugin.py:33
+msgid "Setup for the AC3 Lip Sync Plugin"
+msgstr "Podešavanje AC3 Lip Sync dodatka"
+
+#: ..\src/AC3main.py:82
+#: ..\src/AC3main.py:85
+#: ..\src/AC3main.py:88
+#: ..\src/AC3main.py:146
+#: ..\src/AC3main.py:152
+#: ..\src/AC3main.py:172
+#: ..\src/AC3main.py:296
+#: ..\src/AC3main.py:298
+#: ..\src/AC3main.py:302
+#: ..\src/AC3main.py:303
+#, python-format
+msgid "%i ms"
+msgstr "%i ms"
+
+#: ..\src/AC3main.py:83
+#: ..\src/AC3main.py:89
+#: ..\src/AC3main.py:173
+#, python-format
+msgid "%s delay:"
+msgstr "%s kašnjenje:"
+
+#: ..\src/AC3main.py:84
+#, python-format
+msgid "%s:"
+msgstr "%s:"
+
+#: ..\src/AC3main.py:92
+msgid "Channel audio:"
+msgstr "Audio kanal: "
+
+#: ..\src/AC3main.py:97
+#: ..\src/AC3setup.py:58
+msgid "Cancel"
+msgstr "Otkaži"
+
+#: ..\src/AC3main.py:98
+msgid "OK"
+msgstr "OK"
+
+#: ..\src/AC3main.py:99
+msgid "Switch audio"
+msgstr "Zameni audio"
+
+#: ..\src/AC3main.py:103
+#: ..\src/AC3setup.py:59
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: ..\src/AC3main.py:221
+#, python-format
+msgid "Save current %(audio)s delay of %(delay)i ms to key"
+msgstr "Sačuvaj sadašnje %(audio)s kašnjenje (%(delay)i ms na tipku"
+
+#: ..\src/AC3main.py:224
+msgid "Menu"
+msgstr "Meni"
+
+#: ..\src/AC3main.py:231
+#: ..\src/AC3main.py:285
+#: ..\src/AC3main.py:346
+msgid "Invalid selection"
+msgstr "Izbor nije validan"
+
+#: ..\src/AC3main.py:244
+#: ..\src/AC3main.py:245
+#, python-format
+msgid "Save %s delay"
+msgstr "Sačuvaj %s kašnjenje"
+
+#: ..\src/AC3main.py:246
+msgid "Save both delays"
+msgstr "Sačuvaj oba kašnjenja"
+
+#: ..\src/AC3main.py:249
+msgid "Which delays do you want to set"
+msgstr "Koja kašnjenja želite podesiti"
+
+#: ..\src/AC3main.py:281
+#, python-format
+msgid "Saved %(audio)s value: %(delay)i ms"
+msgstr "Sačuvana %(audio)s vrednost: %(delay)i ms"
+
+#: ..\src/AC3main.py:321
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "Izaberite tipku koju želite podesiti u %i ms "
+
+#: ..\src/AC3main.py:327
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "Tipka %(key)s (sad.vrednost: %(value)i ms)"
+
+#: ..\src/AC3main.py:332
+msgid "Setting key canceled"
+msgstr "Podešavanje tipke otkazano"
+
+#: ..\src/AC3main.py:344
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "Tipka %(Key)s uspešno podešena na %(delay)i ms "
+
+#: ..\src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr "Krajnje ograničen (+/-)"
+
+#: ..\src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr "Korak u ms za tipke strelice"
+
+#: ..\src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr "Vreme čekanja u ms pre aktiviranja: "
+
+#: ..\src/AC3setup.py:45
+#: ..\src/AC3setup.py:46
+#: ..\src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "Korak u ms za tipke '%s'"
+
+#: ..\src/AC3setup.py:48
+#: ..\src/AC3setup.py:49
+#: ..\src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "Korak u ms za tipku %i"
+
+#: ..\src/AC3setup.py:60
+msgid " "
+msgstr " "
+
+#~ msgid "Switch to user key- delays"
+#~ msgstr "Verwende benutzerdefinierte Werte für Zahlentasten"
+#~ msgid "Switch to calculated key- delays"
+#~ msgstr "Verwende berechnete Werte für Zahlentasten"
+#~ msgid "Minimum delay"
+#~ msgstr "Minimale Verzögerung"
+#~ msgid "Maximum delay"
+#~ msgstr "Maximale Verzögerung"
+#~ msgid "Recalculate..."
+#~ msgstr "Neuberechnen"
+#~ msgid "Use user delays"
+#~ msgstr "Benutzer Verz."
+#~ msgid "Use calc. delays"
+#~ msgstr "autom. Verz."
+#~ msgid "Key"
+#~ msgstr "Taste"
+#~ msgid "ms"
+#~ msgstr "ms"
+#~ msgid "Bitstream delay:"
+#~ msgstr "Bitstream Verzögerung:"
+#~ msgid "lamedb..."
+#~ msgstr "lamedb..."
+#~ msgid "AC3 Delay: "
+#~ msgstr "AC3 Verzögerung: "
+#~ msgid "PCM Delay: "
+#~ msgstr "PCM Verzögerung: "
+#~ msgid "Save Bitstream delay"
+#~ msgstr "Bitstream Delay speichern"
+#~ msgid "Backup lamedb"
+#~ msgstr "lamedb sichern"
+#~ msgid "Restore lamedb"
+#~ msgstr "lamedb wiederherstellen"
+#~ msgid "Remove lamedb backup"
+#~ msgstr "lamedb- Sicherung löschen"
+#~ msgid "What you want to do with your lamedb"
+#~ msgstr "Welche Aktion wollen Sie durchführen"
+#~ msgid "Saved Bitstream value: "
+#~ msgstr "Gespeicherter Bitstream Wert:"
+#~ msgid ""
+#~ "There is already a backup of the lamedb\n"
+#~ "Do you want to overwrite it?"
+#~ msgstr ""
+#~ "Es gibt bereits eine Sicherung der lamedb\n"
+#~ "Wollen Sie diese überschreiben?"
+#~ msgid "lamedb backup successful"
+#~ msgstr "Sicherung der lamedb erfolgreich"
+#~ msgid "There is no backup of the lamedb. Action canceled"
+#~ msgstr "Es gibt keine Sicherung der lamedb. Aktion abgebrochen"
+#~ msgid "Do you really want to restore the lamedb?"
+#~ msgstr "Wollen Sie die lamedb wirklich wiederherstellen?"
+#~ msgid "lamedb backup successfully restored"
+#~ msgstr "lamedb wurde erfolgreich wiederhergestellt"
+#~ msgid "Do you really want to remove the lamedb- backup?"
+#~ msgstr "Wollen Sie die Sicherung der lamedb wirklich löschen?"
+#~ msgid "lamedb backup successfully removed"
+#~ msgstr "Sicherung der lamedb erfolgreich gelöscht"
+#~ msgid "Set delay"
+#~ msgstr "Verzögerung setzen"
+
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: AudioSync\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-12-18 02:07+0100\n"
+"PO-Revision-Date: \n"
+"Last-Translator: WeeGull <weegull@hotmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: D:\\Dreambox\\Eclipse\\ac3lipsync\\po\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-SearchPath-0: ..\\src\n"
+
+#: src/AC3main.py:57
+msgid "Service delay"
+msgstr "Kanal fördröjning"
+
+#: src/AC3main.py:58
+msgid "Global delay"
+msgstr "Global fördröjning"
+
+#: src/AC3main.py:62
+#: src/AC3main.py:146
+#: src/AC3main.py:236
+#: src/AC3main.py:240
+#: src/AC3main.py:241
+#, python-format
+msgid "%i ms"
+msgstr "%i mS"
+
+#: src/AC3main.py:65
+msgid "Channel audio:"
+msgstr "Kanal ljud:"
+
+#: src/AC3main.py:70
+#: src/AC3setup.py:63
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: src/AC3main.py:71
+msgid "OK"
+msgstr "OK"
+
+#: src/AC3main.py:72
+msgid "Switch audio"
+msgstr "Byt ljud"
+
+#: src/AC3main.py:73
+msgid "Save to key"
+msgstr "Spara till knapp"
+
+#: src/AC3main.py:78
+msgid "Open plugin menu"
+msgstr "Öppna plugin meny"
+
+#: src/AC3main.py:79
+#: src/AC3main.py:86
+msgid "Save values and close plugin"
+msgstr "Spara inställningar och stäng plugin"
+
+#: src/AC3main.py:80
+#: src/AC3main.py:85
+msgid "Discard changes and close plugin"
+msgstr "Spara inte ändringarna och stäng plugin"
+
+#: src/AC3main.py:81
+#: src/AC3main.py:82
+msgid "Change active delay"
+msgstr "Ändra aktiverad fördröjning"
+
+#: src/AC3main.py:83
+msgid "Increase delay"
+msgstr "Öka fördröjning"
+
+#: src/AC3main.py:84
+msgid "Decrease delay"
+msgstr "Minska fördröjning"
+
+#: src/AC3main.py:87
+msgid "Select channel audio"
+msgstr "Välj kanal ljud"
+
+#: src/AC3main.py:88
+msgid "Save current delay to key"
+msgstr "Spara nuvarande fördröjning till knapp"
+
+#: src/AC3main.py:89
+#: src/AC3main.py:91
+#: src/AC3main.py:93
+#, python-format
+msgid "Decrease delay by %i ms (can be set)"
+msgstr "Minska fördröjning med %i mS (kan sättas)"
+
+#: src/AC3main.py:90
+#: src/AC3main.py:92
+#: src/AC3main.py:94
+#, python-format
+msgid "Increase delay by %i ms (can be set)"
+msgstr "Öka fördröjning med %i mS (kan sättas)"
+
+#: src/AC3main.py:95
+#: src/AC3main.py:96
+#: src/AC3main.py:97
+#: src/AC3main.py:98
+#, python-format
+msgid "Set delay to %i ms (can be set)"
+msgstr "Ange fördröjning till %i mS (kan sättas)"
+
+#: src/AC3main.py:211
+msgid "Move plugin screen"
+msgstr "Flytta pluginfönstret"
+
+#: src/AC3main.py:214
+msgid "Menu"
+msgstr "Meny"
+
+#: src/AC3main.py:221
+#: src/AC3main.py:282
+msgid "Invalid selection"
+msgstr "Ogiltigt val"
+
+#: src/AC3main.py:257
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "Välj knapp som du vill sätta till %i mS"
+
+#: src/AC3main.py:263
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "Knapp %(key)s (nuvarande värde: %(value)i mS)"
+
+#: src/AC3main.py:268
+msgid "Setting key canceled"
+msgstr "Inställning knapp avbruten"
+
+#: src/AC3main.py:280
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "Knapp %(Key)s sattes till %(delay)i mS"
+
+#: src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr "Gränsvärde (+/-)"
+
+#: src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr "Steg i mS för pilknapparna"
+
+#: src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr "Väntetid i mS före aktivering:"
+
+#: src/AC3setup.py:45
+#: src/AC3setup.py:46
+#: src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "Steg i mS för knappar '%s'"
+
+#: src/AC3setup.py:48
+#: src/AC3setup.py:49
+#: src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "Steg i mS för knapp %i"
+
+#: src/AC3setup.py:60
+#, python-format
+msgid "Plugin: %(plugin)s , Version: %(version)s"
+msgstr "Plugin: %(plugin)s , Version: %(version)s"
+
+#: src/AC3setup.py:64
+msgid "Save"
+msgstr "Spara"
+
+#: src/AC3setup.py:65
+msgid " "
+msgstr " "
+
+#: src/MovableScreen.py:17
+#: src/MovableScreen.py:24
+msgid "Save values and close screen"
+msgstr "Spara inställningar och stäng fönster"
+
+#: src/MovableScreen.py:18
+#: src/MovableScreen.py:23
+msgid "Discard changes and close screen"
+msgstr "Spara inte ändringarna och stäng fönstret"
+
+#: src/MovableScreen.py:19
+msgid "Move screen to the left"
+msgstr "Flytta fönstret till vänster"
+
+#: src/MovableScreen.py:20
+msgid "Move screen to the right"
+msgstr "Flytta fönstret till höger"
+
+#: src/MovableScreen.py:21
+msgid "Move screen up"
+msgstr "Flytta fönstret uppåt"
+
+#: src/MovableScreen.py:22
+msgid "Move screen down"
+msgstr "Flytta fönstret nedåt"
+
+#: src/MovableScreen.py:25
+msgid "Move screen to the upper left corner"
+msgstr "Flytta fönstret till övre vänstra hörnet"
+
+#: src/MovableScreen.py:26
+msgid "Center screen at the upper border"
+msgstr "Centrera fönstret till övre kanten"
+
+#: src/MovableScreen.py:27
+msgid "Move screen to the upper right corner"
+msgstr "Flytta fönstret till övre högra hörnet"
+
+#: src/MovableScreen.py:28
+msgid "Move screen to the middle of the left border"
+msgstr "Flytta fönstret till mitten av vänster kant"
+
+#: src/MovableScreen.py:29
+msgid "Move screen to the center of your TV"
+msgstr "Flytta fönstret till mitten av din TV"
+
+#: src/MovableScreen.py:30
+msgid "Move screen to the middle of the right border"
+msgstr "Flytta fönstret till mitten av höger kant"
+
+#: src/MovableScreen.py:31
+msgid "Move screen to the lower left corner"
+msgstr "Flytta fönstret till nedre vänstra hörnet"
+
+#: src/MovableScreen.py:32
+msgid "Center screen at the lower border"
+msgstr "Centrera fönstret till nedre kanten"
+
+#: src/MovableScreen.py:33
+msgid "Move screen to the lower right corner"
+msgstr "Flytta fönstret till nedre högra hörnet"
+
+#: src/MovableScreen.py:34
+msgid "Reset saved position"
+msgstr "Återställ sparad position"
+
+#: src/plugin.py:30
+#: src/plugin.py:36
+#: src/plugin.py:38
+msgid "Audio Sync"
+msgstr "Ljud Synk"
+
+#: src/plugin.py:36
+#: src/plugin.py:38
+msgid "sets the Audio Delay (LipSync)"
+msgstr "sätter ljudfrödröjning (LipSync)"
+
+#: src/plugin.py:37
+msgid "Audio Sync Setup"
+msgstr "Audio Sync Inställning"
+
+#: src/plugin.py:37
+msgid "Setup for the Audio Sync Plugin"
+msgstr "Inställning för Audio Sync Plugin"
+
+#~ msgid "%s:"
+#~ msgstr "%s:"
+#~ msgid "Passthrough"
+#~ msgstr "Passthrough"
+#~ msgid "Global Passthr."
+#~ msgstr "Passthr. Global"
+#~ msgid "PCM"
+#~ msgstr "PCM"
+#~ msgid "Delay:"
+#~ msgstr "Verzögerung:"
+#~ msgid "sets the audio Delay (LipSync)"
+#~ msgstr "Setzt die verschiedenen Audio- Verzögerungen (LipSync)"
+
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: enigma2 AC3 Lip Sync Turkish Locale\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-29 01:13+0100\n"
+"PO-Revision-Date: 2009-09-22 13:11+0200\n"
+"Last-Translator: Zülfikar VEYİSOĞLU <z.veyisoglu@hobiagaci.com>\n"
+"Language-Team: http://www.hobiagaci.com <z.veyisoglu@hobiagaci.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Turkish\n"
+"X-Poedit-Country: TURKEY\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: src/plugin.py:28
+#: src/plugin.py:32
+#: src/plugin.py:34
+msgid "AC3 Lip Sync"
+msgstr "AC3 Dudak senkronu"
+
+#: src/plugin.py:32
+#: src/plugin.py:34
+msgid "sets the AC3 audio Delay (LipSync)"
+msgstr "AC3 ses gecikmesini ayarlayın"
+
+#: src/plugin.py:33
+msgid "AC3 Lip Sync Setup"
+msgstr "AC3 Dudak senkron ayarları"
+
+#: src/plugin.py:33
+msgid "Setup for the AC3 Lip Sync Plugin"
+msgstr "AC3 dudak senkron eklentisi"
+
+#: src/AC3main.py:82
+#: src/AC3main.py:85
+#: src/AC3main.py:88
+#: src/AC3main.py:146
+#: src/AC3main.py:152
+#: src/AC3main.py:172
+#: src/AC3main.py:296
+#: src/AC3main.py:298
+#: src/AC3main.py:302
+#: src/AC3main.py:303
+#, python-format
+msgid "%i ms"
+msgstr "%i ms"
+
+#: src/AC3main.py:83
+#: src/AC3main.py:89
+#: src/AC3main.py:173
+#, python-format
+msgid "%s delay:"
+msgstr "%s gecikmesi:"
+
+#: src/AC3main.py:84
+#, python-format
+msgid "%s:"
+msgstr "%s:"
+
+#: src/AC3main.py:92
+msgid "Channel audio:"
+msgstr "Ses izi:"
+
+#: src/AC3main.py:97
+#: src/AC3setup.py:58
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#: src/AC3main.py:98
+msgid "OK"
+msgstr "Tamam"
+
+#: src/AC3main.py:99
+msgid "Switch audio"
+msgstr "Ses izini seç"
+
+#: src/AC3main.py:103
+#: src/AC3setup.py:59
+msgid "Save"
+msgstr "Kaydet"
+
+#: src/AC3main.py:221
+#, python-format
+msgid "Save current %(audio)s delay of %(delay)i ms to key"
+msgstr "Geçerli %(audio)s izi için %(delay)i ms gecikmeyi, tuşa kaydet"
+
+#: src/AC3main.py:224
+msgid "Menu"
+msgstr "Menü"
+
+#: src/AC3main.py:231
+#: src/AC3main.py:285
+#: src/AC3main.py:346
+msgid "Invalid selection"
+msgstr "Geçersiz seçim"
+
+#: src/AC3main.py:244
+#: src/AC3main.py:245
+#, python-format
+msgid "Save %s delay"
+msgstr "%s gecikmesini kaydet"
+
+#: src/AC3main.py:246
+msgid "Save both delays"
+msgstr "İki gecikmeyide kaydet"
+
+#: src/AC3main.py:249
+msgid "Which delays do you want to set"
+msgstr "Hangi gecikmeyi kaydetmek istiyorsunuz?"
+
+#: src/AC3main.py:281
+#, python-format
+msgid "Saved %(audio)s value: %(delay)i ms"
+msgstr "%(audio)s izi için %(delay)i ms gecikme kaydedildi"
+
+#: src/AC3main.py:321
+#, python-format
+msgid "Select the key you want to set to %i ms"
+msgstr "%i ms gecikmeyi atamak istediğiniz tuşu seçin"
+
+#: src/AC3main.py:327
+#, python-format
+msgid "Key %(key)s (current value: %(value)i ms)"
+msgstr "%(key)s tuşu (mevcut değer: %(value)i ms)"
+
+#: src/AC3main.py:332
+msgid "Setting key canceled"
+msgstr "Tuş tanımlama iptal edildi"
+
+#: src/AC3main.py:344
+#, python-format
+msgid "Key %(Key)s successfully set to %(delay)i ms"
+msgstr "%(Key)s tuşuna %(delay)i ms gecikme süresi atandı"
+
+#: src/AC3setup.py:42
+msgid "Outer Bound (+/-)"
+msgstr "Azami Gecikme (+/-)"
+
+#: src/AC3setup.py:43
+msgid "Step in ms for arrow keys"
+msgstr "<> tuşlarına basıldığında atlanacak süre (ms)"
+
+#: src/AC3setup.py:44
+msgid "Wait time in ms before activation:"
+msgstr "Aktivasyondan önce bekleme süresi (ms):"
+
+#: src/AC3setup.py:45
+#: src/AC3setup.py:46
+#: src/AC3setup.py:47
+#, python-format
+msgid "Step in ms for keys '%s'"
+msgstr "'%s' tuşuna basıldığında atlanacak süre (ms)"
+
+#: src/AC3setup.py:48
+#: src/AC3setup.py:49
+#: src/AC3setup.py:50
+#, python-format
+msgid "Step in ms for key %i"
+msgstr "%i tuşuna basıldığında atlanacak süre (ms)"
+
+#: src/AC3setup.py:60
+msgid " "
+msgstr " "
+
+#~ msgid "Switch to user key- delays"
+#~ msgstr "Kullanıcı tuş gecikmelerine geç"
+#~ msgid "Switch to calculated key- delays"
+#~ msgstr "Hesaplanan tuş gecikmelerine geç"
+#~ msgid "Minimum delay"
+#~ msgstr "Minimum gecikme"
+#~ msgid "Maximum delay"
+#~ msgstr "Maksimum gecikme"
+#~ msgid "Recalculate..."
+#~ msgstr "Tekr. hesapla"
+#~ msgid "Use user delays"
+#~ msgstr "Kullanıcı gecikmesini kullan"
+#~ msgid "Use calc. delays"
+#~ msgstr "Hesaplanmış gecikmeyi kullan"
+#~ msgid "ms"
+#~ msgstr "ms"
+#~ msgid "Key"
+#~ msgstr "Tuş"
+
--- /dev/null
+from AC3utils import AC3, PCM, AC3GLOB, PCMGLOB, AC3PCM
+from Components.config import config
+from enigma import eTimer
+from Tools.ISO639 import LanguageCodes
+from Tools.HardwareInfo import HardwareInfo
+import os
+import NavigationInstance
+
+class AC3delay:
+ def __init__(self):
+ self.iService = None
+ self.iServiceReference = None
+ self.iAudioDelay = None
+ self.channelAudio = AC3
+ self.whichAudio = AC3
+ self.bIsRecording = False
+
+ # Current audio- delay
+ self.systemDelay = {}
+
+ self.getAudioInformation()
+
+ self.activateTimer = eTimer()
+ self.activateTimer.callback.append(self.activateDelay)
+ self.activateWait = config.plugins.AC3LipSync.activationDelay.getValue()
+
+ # Current value for movie start behaviour
+ self.movieStart = config.usage.on_movie_start.getValue()
+
+ # find out box type
+ self.oHWInfo = HardwareInfo()
+ self.bHasToRestartService = self.oHWInfo.get_device_name() == "dm7025"
+
+ def initAudio(self):
+ self.iService = NavigationInstance.instance.getCurrentService()
+ self.iServiceReference = NavigationInstance.instance.getCurrentlyPlayingServiceReference()
+ self.iAudioDelay = self.iService and self.iService.audioDelay()
+ self.iSeek = self.iService and self.iService.seek()
+
+ def deleteAudio(self):
+ self.iService = None
+ self.iAudioDelay = None
+ self.iSeek = None
+
+ def setChannelAudio(self, sAudio):
+ self.channelAudio = sAudio
+
+ def delayedActivateDelay(self):
+ if self.activateTimer.isActive:
+ self.activateTimer.stop()
+ self.activateTimer.start(self.activateWait, False)
+
+ def activateDelay(self):
+ # This activation code is only neccessary for DM7025.
+ # DM800, DM8000 and DM500HD directly activate the delay after using "setAC3Delay" and "setPCMDelay", they don't need the service restart
+ if self.activateTimer.isActive:
+ self.activateTimer.stop()
+ if self.bHasToRestartService == True:
+ bInitialized = False
+ if self.iService == None:
+ self.initAudio()
+ bInitialized = True
+ if self.iServiceReference is not None:
+ lCurPosition = self.cueGetCurrentPosition()
+ self.deleteAudio()
+ if self.whichAudio == self.channelAudio:
+ config.usage.on_movie_start.setValue("beginning")
+ NavigationInstance.instance.stopService()
+ NavigationInstance.instance.playService(self.iServiceReference)
+ config.usage.on_movie_start.setValue(self.movieStart)
+ if lCurPosition is not None:
+ self.lCurPosition = lCurPosition
+ self.timer = eTimer()
+ self.timer.callback.append(self.seekAfterWait)
+ self.timer.start(200, False)
+ else:
+ self.deleteAudio()
+
+ def seekAfterWait(self):
+ self.timer.stop()
+ self.initAudio()
+ if self.iSeek is not None:
+ self.iSeek.seekTo(self.lCurPosition)
+ self.deleteAudio()
+
+ def cueGetCurrentPosition(self):
+ if self.iSeek is None:
+ return None
+ r = self.iSeek.getPlayPosition()
+ if r[0]:
+ return None
+ return long(r[1])
+
+ def getSystemDelay(self, sAudio):
+ bInitialized = False
+ if self.iService == None:
+ self.initAudio()
+ bInitialized = True
+ iDelay = 0
+ if self.iAudioDelay is not None:
+ if sAudio == AC3:
+ iDelay = self.iAudioDelay.getAC3Delay()
+ elif sAudio == PCM:
+ iDelay = self.iAudioDelay.getPCMDelay()
+ elif sAudio == AC3GLOB:
+ iDelay = config.av.generalAC3delay.getValue()
+ else:
+ iDelay = config.av.generalPCMdelay.getValue()
+ if bInitialized == True:
+ self.deleteAudio()
+ if iDelay == -1:
+ iDelay = 0
+ return iDelay
+
+ def setSystemDelay(self, sAudio, iDelay, bDelayStart):
+ bInitialized = False
+ if self.iService == None:
+ self.initAudio()
+ bInitialized = True
+ if self.iAudioDelay is not None:
+ iDelayLameDb = iDelay
+ if iDelayLameDb == 0:
+ iDelayLameDb = -1
+ if sAudio == AC3:
+ self.iAudioDelay.setAC3Delay(iDelayLameDb)
+ elif sAudio == PCM:
+ self.iAudioDelay.setPCMDelay(iDelayLameDb)
+ elif sAudio == AC3GLOB:
+ config.av.generalAC3delay.setValue(iDelay)
+ config.av.generalAC3delay.save()
+ #Setting the global delay does not activate it, so now we call setAC3Delay to activate the new delay..
+ self.iAudioDelay.setAC3Delay(self.systemDelay[AC3])
+ else:
+ config.av.generalPCMdelay.setValue(iDelay)
+ config.av.generalPCMdelay.save()
+ #Setting the global delay does not activate it, so now we call setPCMDelay to activate the new delay..
+ self.iAudioDelay.setPCMDelay(self.systemDelay[PCM])
+ if bInitialized == True:
+ self.deleteAudio()
+ if bDelayStart == True:
+ self.delayedActivateDelay()
+ else:
+ self.activateDelay()
+
+ def getAudioInformation(self):
+ bInitialized = False
+ if self.iService == None:
+ self.initAudio()
+ bInitialized = True
+
+ # check if we are in a recording
+ lCurPosition = self.cueGetCurrentPosition()
+ if lCurPosition is not None:
+ self.bIsRecording = True
+
+ # check if downmix is enabled
+ try:
+ bDownmixEnabled = config.av.downmix_ac3.value
+ except:
+ bDownmixEnabled = False
+
+ oAudioTracks = self.iService and self.iService.audioTracks()
+ n = oAudioTracks and oAudioTracks.getNumberOfTracks() or 0
+ tlist = []
+ self.selectedAudioIndex = oAudioTracks.getCurrentTrack()
+ if n >= 0:
+ for x in range(n):
+ i = oAudioTracks.getTrackInfo(x)
+ language = i.getLanguage()
+ description = i.getDescription()
+ if LanguageCodes.has_key(language):
+ language = LanguageCodes[language][0]
+ if len(description):
+ description += " (" + language + ")"
+ else:
+ description = language
+
+ tlist.append((description, x))
+ if x == self.selectedAudioIndex:
+ if ((description.find("AC3") != -1 or description.find("AC-3") != -1) and not bDownmixEnabled) or description.find("DTS") != -1:
+ self.whichAudio = AC3
+ self.channelAudio = AC3
+ else:
+ self.whichAudio = PCM
+ self.channelAudio = PCM
+ self.selectedAudioInfo = (description, x)
+ tlist.sort(key=lambda x: x[0])
+
+ self.audioTrackList = tlist
+ for sAudio in AC3PCM:
+ self.systemDelay[sAudio]=self.getSystemDelay(sAudio)
+ del oAudioTracks
+ if bInitialized == True:
+ self.deleteAudio()
--- /dev/null
+from AC3utils import AC3, PCM, AC3GLOB, PCMGLOB, AC3PCM, SKIN
+from AC3delay import AC3delay
+from enigma import ePoint
+from HelpableNumberActionMap import HelpableNumberActionMap
+from Components.Label import Label,MultiColorLabel
+from Components.Pixmap import MultiPixmap
+from Components.ProgressBar import ProgressBar
+from Components.config import config
+from MovableScreen import MovableScreen
+from Screens.ChoiceBox import ChoiceBox
+from Screens.HelpMenu import HelpableScreen
+from Screens.MessageBox import MessageBox
+from Screens.Screen import Screen
+from __init__ import _
+
+class AC3LipSync(Screen, HelpableScreen, MovableScreen):
+
+ def __init__(self, session, plugin_path):
+ Screen.__init__(self, session)
+ self.onShow.append(self.__onShow)
+ self.skin = SKIN
+ self.skin_path = plugin_path
+
+ # Configuration values
+ self.upperBound = int(config.plugins.AC3LipSync.outerBounds.getValue())
+ self.lowerBound = -1 * self.upperBound
+ self.arrowStepSize = int(config.plugins.AC3LipSync.arrowStepSize.getValue())
+ self.stepSize = {}
+ self.stepSize["3"] = int(config.plugins.AC3LipSync.stepSize13.getValue())
+ self.stepSize["1"] = -1 * self.stepSize["3"]
+ self.stepSize["6"] = int(config.plugins.AC3LipSync.stepSize46.getValue())
+ self.stepSize["4"] = -1 * self.stepSize["6"]
+ self.stepSize["9"] = int(config.plugins.AC3LipSync.stepSize79.getValue())
+ self.stepSize["7"] = -1 * self.stepSize["9"]
+ self.keyStep = {}
+ self.keyStep["0"] = 0
+ self.keyStep["2"] = int(config.plugins.AC3LipSync.absoluteStep2.getValue())
+ self.keyStep["5"] = int(config.plugins.AC3LipSync.absoluteStep5.getValue())
+ self.keyStep["8"] = int(config.plugins.AC3LipSync.absoluteStep8.getValue())
+
+ # AC3delay instance
+ self.AC3delay = AC3delay()
+
+ # Last saved values
+ self.savedValue = {}
+ # Current Values
+ self.currentValue = {}
+
+ #OptionFields
+ self["ChannelImg"] = MultiPixmap()
+ self["GlobalImg"] = MultiPixmap()
+
+ self["ChannelLabel"] = MultiColorLabel( _("Service delay"))
+ self["GlobalLabel"] = MultiColorLabel( _("Global delay"))
+
+ # Slider
+ self["AudioSliderBar"] = ProgressBar()
+ self["AudioSlider"] = Label(_("%i ms")%self.AC3delay.systemDelay[self.AC3delay.whichAudio])
+
+ #Service Information
+ self["ServiceInfoLabel"] = Label(_("Channel audio:"))
+ self["ServiceInfo"] = Label()
+ self.setChannelInfoText()
+
+ # Buttons
+ self["key_red"] = Label(_("Cancel"))
+ self["key_green"] = Label(_("OK"))
+ self["key_blue"] = Label(_("Save to key"))
+
+ # Actions
+ self["actions"] = HelpableNumberActionMap(self, "PluginAudioSyncActions",
+ {
+ "menu": (self.keyMenu, _("Open plugin menu")),
+ "ok": (self.keyOk, _("Save values and close plugin")),
+ "cancel": (self.keyCancel, _("Discard changes and close plugin")),
+ "left": (self.keyLeft, _("Change active delay")),
+ "right": (self.keyRight, _("Change active delay")),
+ "up": (self.keyUp, _("Increase delay")),
+ "down": (self.keyDown, _("Decrease delay")),
+ "red": (self.keyCancel, _("Discard changes and close plugin")),
+ "green": (self.keyOk, _("Save values and close plugin")),
+ "blue": (self.menuSaveDelayToKey, _("Save current delay to key")),
+ "1": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["1"]),
+ "3": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["3"]),
+ "4": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["4"]),
+ "6": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["6"]),
+ "7": (self.keyNumberRelative, _("Decrease delay by %i ms (can be set)")%self.stepSize["7"]),
+ "9": (self.keyNumberRelative, _("Increase delay by %i ms (can be set)")%self.stepSize["9"]),
+ "0": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["0"]),
+ "2": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["2"]),
+ "5": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["5"]),
+ "8": (self.keyNumberAbsolute, _("Set delay to %i ms (can be set)")%self.keyStep["8"])
+ }, -1)
+
+ HelpableScreen.__init__(self)
+ MovableScreen.__init__(self, config.plugins.AC3LipSync, [self["actions"]], 600, 460)
+
+ def __onShow(self):
+ for sAudio in AC3PCM:
+ iDelay = self.AC3delay.getSystemDelay(sAudio)
+ self.savedValue[sAudio] = iDelay
+ self.currentValue[sAudio] = iDelay
+
+ self["AudioSliderBar"].setRange([(self.lowerBound), (self.upperBound)])
+ self.setActiveSlider()
+ self.movePosition()
+
+ def keyLeft(self):
+ if self.AC3delay.whichAudio == PCMGLOB:
+ self.AC3delay.whichAudio = PCM
+ elif self.AC3delay.whichAudio == AC3GLOB:
+ self.AC3delay.whichAudio = AC3
+
+ self.setActiveSlider()
+
+ def keyRight(self):
+ if self.AC3delay.whichAudio == AC3:
+ self.AC3delay.whichAudio = AC3GLOB
+ elif self.AC3delay.whichAudio == PCM:
+ self.AC3delay.whichAudio = PCMGLOB
+
+ self.setActiveSlider()
+
+ def setActiveSlider(self):
+ # Reset colors of all tabs
+ if self.AC3delay.whichAudio in (AC3,PCM):
+ self["ChannelImg"].setPixmapNum(1)
+ self["GlobalImg"].setPixmapNum(0)
+ self["ChannelLabel"].setForegroundColorNum(1)
+ self["GlobalLabel"].setForegroundColorNum(0)
+ else:
+ self["ChannelImg"].setPixmapNum(0)
+ self["GlobalImg"].setPixmapNum(1)
+ self["ChannelLabel"].setForegroundColorNum(0)
+ self["GlobalLabel"].setForegroundColorNum(1)
+
+ iCurDelay = self.currentValue[self.AC3delay.whichAudio]
+ iDelay = iCurDelay - self.lowerBound
+ self["AudioSliderBar"].setValue(iDelay)
+ self["AudioSlider"].setText(_("%i ms")%iCurDelay)
+
+ def keyDown(self):
+ if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
+ iStep = -25
+ else:
+ iStep = -1 * self.arrowStepSize
+ self.changeSliderValue(iStep)
+
+ def keyUp(self):
+ if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
+ iStep = 25
+ else:
+ iStep = self.arrowStepSize
+ self.changeSliderValue(iStep)
+
+ def keyNumberAbsolute(self, number):
+ sAudio = self.AC3delay.whichAudio
+ sNumber = str(number)
+ if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
+ iStep = ( self.keyStep[sNumber] // 25 ) * 25
+ else:
+ iStep = self.keyStep[sNumber]
+ iSliderValue = iStep-self.lowerBound
+ self.setSliderInfo(iSliderValue)
+ self.AC3delay.setSystemDelay(sAudio, self.currentValue[sAudio], True)
+
+ def keyNumberRelative(self, number):
+ sNumber = str(number)
+ if self.AC3delay.whichAudio == AC3GLOB or self.AC3delay.whichAudio == PCMGLOB:
+ iStep = ( self.stepSize[sNumber] // 25 ) * 25
+ else:
+ iStep = self.stepSize[sNumber]
+
+ self.changeSliderValue(iStep)
+
+ def changeSliderValue(self,iValue):
+ sAudio = self.AC3delay.whichAudio
+ iSliderValue = int(self["AudioSliderBar"].getValue())
+ iSliderValue += iValue
+ if iSliderValue < 0:
+ iSliderValue = 0
+ elif iSliderValue > (self.upperBound - self.lowerBound):
+ iSliderValue = (self.upperBound - self.lowerBound)
+ self.setSliderInfo(iSliderValue)
+ self.AC3delay.setSystemDelay(sAudio, self.currentValue[sAudio], True)
+
+ def keyOk(self):
+ self.close()
+
+ def keyCancel(self):
+ for sAudio in AC3PCM:
+ iSliderValue = self.currentValue[sAudio]
+ if iSliderValue <> self.savedValue[sAudio]:
+ self.AC3delay.whichAudio = sAudio
+ self.AC3delay.setSystemDelay(sAudio, self.savedValue[sAudio], False)
+ self.close()
+
+ def keyMenu(self):
+ sAudio = self.AC3delay.whichAudio
+ iDelay = self["AudioSliderBar"].getValue()+self.lowerBound
+ keyList = [
+ (_("Move plugin screen"),"1")
+ ]
+
+ self.session.openWithCallback(self.DoShowMenu,ChoiceBox,_("Menu"),keyList)
+
+ def DoShowMenu(self, answer):
+ if answer is not None:
+ if answer[1] == "1":
+ self.startMoving()
+ else:
+ sResponse = _("Invalid selection")
+ iType = MessageBox.TYPE_ERROR
+ self.session.open(MessageBox, sResponse , iType)
+
+ def menuSaveDelayToKey(self):
+ sAudio = self.AC3delay.whichAudio
+ iDelay = self["AudioSliderBar"].getValue()+self.lowerBound
+
+ AC3SetCustomValue(self.session,iDelay,self.keyStep)
+
+ def setSliderInfo(self, iDelay):
+ sAudio = self.AC3delay.whichAudio
+ self.currentValue[sAudio] = iDelay + self.lowerBound
+ iCurDelay = self.currentValue[sAudio]
+ self["AudioSliderBar"].setValue(iDelay)
+ self["AudioSlider"].setText(_("%i ms")%iCurDelay)
+
+ def setChannelInfoText(self):
+ sActiveAudio = str(self.AC3delay.selectedAudioInfo[0])
+ sBitstreamDelay = _("%i ms") %self.AC3delay.systemDelay[AC3]
+ sPCMDelay = _("%i ms") %self.AC3delay.systemDelay[PCM]
+
+ self["ServiceInfo"].setText(sActiveAudio)
+
+class AC3SetCustomValue:
+ def __init__(self, session, iDelay, keyStep):
+ self.keyStep = keyStep
+ self.session = session
+ self.iDelay = iDelay
+ self.session.openWithCallback(self.DoSetCustomValue,ChoiceBox,_("Select the key you want to set to %i ms") %(iDelay),self.getKeyList())
+
+ def getKeyList(self):
+ keyList = []
+ for i,iValue in self.keyStep.iteritems():
+ if i != "0":
+ keyList.append((_("Key %(key)s (current value: %(value)i ms)") %dict(key=i, value=iValue),i))
+ return keyList
+
+ def DoSetCustomValue(self,answer):
+ if answer is None:
+ self.session.open(MessageBox,_("Setting key canceled"), MessageBox.TYPE_INFO)
+ elif answer[1] in ("2" , "5" , "8"):
+ if answer[1] == "2":
+ config.plugins.AC3LipSync.absoluteStep2.setValue(self.iDelay)
+ config.plugins.AC3LipSync.absoluteStep2.save()
+ elif answer[1] == "5":
+ config.plugins.AC3LipSync.absoluteStep5.setValue(self.iDelay)
+ config.plugins.AC3LipSync.absoluteStep5.save()
+ elif answer[1] == "8":
+ config.plugins.AC3LipSync.absoluteStep8.setValue(self.iDelay)
+ config.plugins.AC3LipSync.absoluteStep8.save()
+ self.keyStep[answer[1]] = self.iDelay
+ self.session.open(MessageBox,_("Key %(Key)s successfully set to %(delay)i ms") %dict(Key=answer[1],delay=self.iDelay), MessageBox.TYPE_INFO, 5)
+ else:
+ self.session.open(MessageBox,_("Invalid selection"), MessageBox.TYPE_ERROR, 5)
--- /dev/null
+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.Label import Label,MultiColorLabel
+from Components.ProgressBar import ProgressBar
+from Components.config import config, getConfigListEntry
+from Screens.ChoiceBox import ChoiceBox
+from Screens.MessageBox import MessageBox
+from Screens.Screen import Screen
+from __init__ import _
+import os
+
+class AC3LipSyncSetup(ConfigListScreen, Screen):
+ skin = """
+ <screen position="center,center" size="560,400" title="AC3 Lip Sync Setup">
+ <ePixmap pixmap="~/img/button-red.png" position="0,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
+ <ePixmap pixmap="~/img/button-green.png" position="140,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
+ <ePixmap pixmap="~/img/button-yellow.png" position="280,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
+ <ePixmap pixmap="~/img/button-blue.png" position="420,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
+ <widget name="key_red" position="0,0" zPosition="1" size="140,40"
+ font="Regular;20" valign="center" halign="center" backgroundColor="#9f1313" transparent="1"
+ shadowColor="#000000" shadowOffset="-1,-1" />
+ <widget name="key_green" position="140,0" zPosition="1" size="140,40"
+ font="Regular;20" valign="center" halign="center" backgroundColor="#1f771f" transparent="1"
+ shadowColor="#000000" shadowOffset="-1,-1" />
+ <widget name="key_yellow" position="280,0" zPosition="1" size="140,40"
+ font="Regular;20" valign="center" halign="center" backgroundColor="#a08500" transparent="1"
+ shadowColor="#000000" shadowOffset="-1,-1" />
+ <widget name="key_blue" position="420,0" zPosition="1" size="140,40"
+ font="Regular;20" valign="center" halign="center" backgroundColor="#18188b" transparent="1"
+ shadowColor="#000000" shadowOffset="-1,-1" />
+ <widget name="config" position="10,40" size="540,320" scrollbarMode="showOnDemand" />
+ <widget name="PluginInfo" position="10,370" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
+ </screen>"""
+
+ def __init__(self, session, plugin_path):
+ Screen.__init__(self, session)
+
+ # Lets get a list of elements for the config list
+ self.list = [
+ getConfigListEntry(_("Outer Bound (+/-)"), config.plugins.AC3LipSync.outerBounds),
+ getConfigListEntry(_("Step in ms for arrow keys"), config.plugins.AC3LipSync.arrowStepSize),
+ getConfigListEntry(_("Wait time in ms before activation:"), config.plugins.AC3LipSync.activationDelay),
+ getConfigListEntry(_("Step in ms for keys '%s'") % ("1/3"), config.plugins.AC3LipSync.stepSize13),
+ getConfigListEntry(_("Step in ms for keys '%s'") % ("4/6"), config.plugins.AC3LipSync.stepSize46),
+ getConfigListEntry(_("Step in ms for keys '%s'") % ("7/9"), config.plugins.AC3LipSync.stepSize79),
+ getConfigListEntry(_("Step in ms for key %i") % (2), config.plugins.AC3LipSync.absoluteStep2),
+ getConfigListEntry(_("Step in ms for key %i") % (5), config.plugins.AC3LipSync.absoluteStep5),
+ getConfigListEntry(_("Step in ms for key %i") % (8), config.plugins.AC3LipSync.absoluteStep8)
+ ]
+
+ ConfigListScreen.__init__(self, self.list)
+
+ self["config"].list = self.list
+
+ self.skin_path = plugin_path
+
+ # Plugin Information
+ self["PluginInfo"] = Label(_("Plugin: %(plugin)s , Version: %(version)s") %dict(plugin=PLUGIN_BASE,version=PLUGIN_VERSION))
+
+ # BUTTONS
+ self["key_red"] = Button(_("Cancel"))
+ self["key_green"] = Button(_("Save"))
+ self["key_yellow"] = Button(_(" "))
+ self["key_blue"] = Button(" ")
+
+ self["setupActions"] = NumberActionMap(["SetupActions", "ColorActions"],
+ {
+ "save": self.save,
+ "cancel": self.cancel,
+ "green": self.save,
+ "red": self.cancel,
+ "ok": self.save,
+ }, -2)
+
+ def save(self):
+ for x in self.list:
+ x[1].save()
+ self.close()
+
+ def cancel(self):
+ for x in self["config"].list:
+ x[1].cancel()
+ self.close()
--- /dev/null
+AC3 = "AC3"
+PCM = "PCM"
+AC3GLOB = "AC3GLOB"
+PCMGLOB = "PCMGLOB"
+AC3PCM = (AC3,PCM,AC3GLOB,PCMGLOB)
+
+PLUGIN_BASE = "AudioSync"
+PLUGIN_VERSION = "1.2"
+
+MOVEPOSITIONSTEP = 10
+
+SKIN = """
+ <screen flags="wfNoBorder" position="30,30" size="600,460" title="Audio Sync" zPosition="1" backgroundColor="#ff000000">
+ <ePixmap pixmap="~/img/AudioSyncBG.png" zPosition="1" position="0,0" size="600,460" alphatest="on" transparent="1" />
+ <widget name="ChannelLabel" zPosition="2" position="33,40" size="130,20" font="Regular;14" halign="center" valign="center" transparent="1" backgroundColor="#232323" foregroundColors="#ffffff,#fe6b1b"/>
+ <widget name="ChannelImg" pixmaps="~/img/OptionButtonOff.png,~/img/OptionButtonOn.png" position="20,43" zPosition="2" size="11,11" transparent="1" alphatest="on"/>
+ <widget name="GlobalLabel" zPosition="2" position="178,40" size="110,20" font="Regular;14" halign="center" valign="center" transparent="1" backgroundColor="#232323" foregroundColors="#ffffff,#fe6b1b"/>
+ <widget name="GlobalImg" pixmaps="~/img/OptionButtonOff.png,~/img/OptionButtonOn.png" position="165,43" zPosition="2" size="11,11" transparent="1" alphatest="on"/>
+ <ePixmap pixmap="~/img/AudioSyncBarBGVert.png" zPosition="2" position="30,70" size="21,370" alphatest="on" transparent="1" />
+ <widget name="AudioSliderBar" pixmap="~/img/AudioSyncBarVert.png" zPosition="3" position="30,70" size="21,370" transparent="1" orientation="orBottomToTop"/>
+ <widget name="AudioSlider" zPosition="4" position="5,245" size="70,20" font="Regular;14" halign="center" valign="center" backgroundColor="#232323" foregroundColor="#eeeeee" transparent="1"/>
+ <widget name="ServiceInfoLabel" zPosition="4" position="20,15" size="65,20" font="Regular;14" backgroundColor="#232323" foregroundColor="#dddddd" transparent="1" />
+ <widget name="ServiceInfo" zPosition="4" position="90,15" size="200,20" font="Regular;14" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1" />
+ <ePixmap pixmap="~/img/key-green.png" position="290,15" zPosition="5" size="20,20" transparent="1" alphatest="on" />
+ <ePixmap pixmap="~/img/key-red.png" position="290,40" zPosition="5" size="20,20" transparent="1" alphatest="on" />
+ <ePixmap pixmap="~/img/key-blue.png" position="400,15" zPosition="5" size="20,20" transparent="1" alphatest="on" />
+ <widget name="key_green" position="315,15" zPosition="4" size="85,20"
+ font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1"/>
+ <widget name="key_red" position="315,40" zPosition="4" size="85,20"
+ font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1"/>
+ <widget name="key_blue" position="425,15" zPosition="4" size="160,20"
+ font="Regular;14" valign="center" halign="left" backgroundColor="#232323" foregroundColor="#ffffff" transparent="1" />
+ </screen>"""
\ No newline at end of file
--- /dev/null
+from Components.ActionMap import HelpableActionMap
+
+class HelpableNumberActionMap(HelpableActionMap):
+ """This Actionmap is a HelpableActionMap and a NumberActionMap at the same time.
+ It does not have any code, just inherits the init-method from HelpableActionMap and the action from the NumberActionMap"""
+ def action(self, contexts, action):
+ numbers = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
+ if (action in numbers and self.actions.has_key(action)):
+ res = self.actions[action](int(action))
+ if res is not None:
+ return res
+ return 1
+ else:
+ return HelpableActionMap.action(self, contexts, action)
+
+ def __init__(self, parent, context, actions = { }, prio=0):
+ HelpableActionMap.__init__(self, parent, context, actions, prio)
--- /dev/null
+All Files of this Software are licensed under the Creative Commons
+Attribution-NonCommercial-ShareAlike 3.0 Unported
+License if not stated otherwise in a Files Head. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
+Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+Alternatively, this plugin may be distributed and executed on hardware which
+is licensed by Dream Multimedia GmbH.
+
+This plugin is NOT free software. It is open source, you are allowed to
+modify it (if you keep the license), but it may not be commercially
+distributed other than under the conditions noted above.
--- /dev/null
+installdir = $(libdir)/enigma2/python/Plugins/Extensions/AudioSync
+install_PYTHON = *.py
+install_DATA = AudioSync.png LICENSE maintainer.info keymap.xml
--- /dev/null
+from HelpableNumberActionMap import HelpableNumberActionMap
+from Components.config import config
+from __init__ import _
+from enigma import ePoint, eTimer, getDesktop
+
+class MovableScreen():
+ def __init__(self, configRoot, disableKeymaps, screenSize_x, screenSize_y, moveMinMargin=30, moveStepSize=10):
+ self.configRoot = configRoot
+ self.disableKeymaps = disableKeymaps
+ self.screenSize_x = screenSize_x
+ self.screenSize_y = screenSize_y
+ self.moveMinMargin = moveMinMargin
+ self.moveStepSize = moveStepSize
+
+ self["MovableScreenActions"] = HelpableNumberActionMap(self, "MovableScreenActions",
+ {
+ "ok": (self.moveKeyOk, _("Save values and close screen")),
+ "cancel": (self.moveKeyCancel, _("Discard changes and close screen")),
+ "left": (self.moveKeyLeft, _("Move screen to the left")),
+ "right": (self.moveKeyRight, _("Move screen to the right")),
+ "up": (self.moveKeyUp, _("Move screen up")),
+ "down": (self.moveKeyDown, _("Move screen down")),
+ "red": (self.moveKeyCancel, _("Discard changes and close screen")),
+ "green": (self.moveKeyOk, _("Save values and close screen")),
+ "1": (self.moveKeyNumber, _("Move screen to the upper left corner")),
+ "2": (self.moveKeyNumber, _("Center screen at the upper border")),
+ "3": (self.moveKeyNumber, _("Move screen to the upper right corner")),
+ "4": (self.moveKeyNumber, _("Move screen to the middle of the left border")),
+ "5": (self.moveKeyNumber, _("Move screen to the center of your TV")),
+ "6": (self.moveKeyNumber, _("Move screen to the middle of the right border")),
+ "7": (self.moveKeyNumber, _("Move screen to the lower left corner")),
+ "8": (self.moveKeyNumber, _("Center screen at the lower border")),
+ "9": (self.moveKeyNumber, _("Move screen to the lower right corner")),
+ "0": (self.moveKeyNumber, _("Reset saved position"))
+ }, -1)
+
+ self["MovableScreenActions"].setEnabled(False)
+
+ desktop = getDesktop(0)
+ self.desktopWidth = desktop.size().width()
+ self.desktopHeight = desktop.size().height()
+
+
+ def startMoving(self):
+ self.setEnableMoveKeymap(True)
+
+ self.moveTimer = eTimer()
+ self.moveTimer.callback.append(self.movePositionTimer)
+ self.moveTimer.start(50, 1)
+
+ def movePositionTimer(self):
+ if self.configRoot.position_x.value == 0 and self.configRoot.position_y.value == 0:
+ self.configRoot.position_x.value = (self.desktopWidth - self.screenSize_x)/2
+ self.configRoot.position_y.value = self.moveMinMargin
+ self.instance.move(ePoint(self.configRoot.position_x.value, self.configRoot.position_y.value))
+
+ self.moveTimer.start(50, 1)
+
+ def movePosition(self):
+ if self.configRoot.position_x.value != 0 or self.configRoot.position_y.value != 0:
+ self.instance.move(ePoint(self.configRoot.position_x.value, self.configRoot.position_y.value))
+
+ def moveKeyLeft(self):
+ value = self.configRoot.position_x.value
+ value -= self.moveStepSize
+ if value < 0:
+ value = 0
+ self.configRoot.position_x.value = value
+
+ def moveKeyUp(self):
+ value = self.configRoot.position_y.value
+ value -= self.moveStepSize
+ if value < 0:
+ value = 0
+ self.configRoot.position_y.value = value
+
+ def moveKeyRight(self):
+ value = self.configRoot.position_x.value
+ value += self.moveStepSize
+ if value > self.desktopWidth:
+ value = self.desktopWidth
+ self.configRoot.position_x.value = value
+
+ def moveKeyDown(self):
+ value = self.configRoot.position_y.value
+ value += self.moveStepSize
+ if value > self.desktopHeight:
+ value = self.desktopHeight
+ self.configRoot.position_y.value = value
+
+ def moveKeyNumber(self, number):
+ #x- Positioning
+ if number in (1,4,7):
+ iPosX = self.moveMinMargin
+ elif number in (2,5,8,0):
+ iPosX = (self.desktopWidth - self.screenSize_x)/2
+ else:
+ iPosX = self.desktopWidth - self.moveMinMargin - self.screenSize_x
+
+ self.configRoot.position_x.value = iPosX
+
+ #y- positioning
+ if number in (0,1,2,3):
+ iPosY = self.moveMinMargin
+ elif number in (4,5,6):
+ iPosY = (self.desktopHeight - self.screenSize_y)/2
+ elif number in (7,8,9):
+ iPosY = self.desktopHeight - self.moveMinMargin - self.screenSize_y
+
+ self.configRoot.position_y.value = iPosY
+
+ def moveKeyOk(self):
+ self.configRoot.position_x.save()
+ self.configRoot.position_y.save()
+ self.setEnableMoveKeymap(False)
+
+ def moveKeyCancel(self):
+ self.configRoot.position_x.cancel()
+ self.configRoot.position_y.cancel()
+ self.setEnableMoveKeymap(False)
+
+ def setEnableMoveKeymap(self,enabled):
+ self["MovableScreenActions"].setEnabled(enabled)
+ for keymap in self.disableKeymaps:
+ keymap.setEnabled(not(enabled))
--- /dev/null
+from Components.Language import language
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE
+import os,gettext
+
+PluginLanguageDomain = "AudioSync"
+PluginLanguagePath = "Extensions/AudioSync/locale"
+
+def localeInit():
+ lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
+ os.environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
+ print "[" + PluginLanguageDomain + "] set language to ", lang
+ gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
+
+def _(txt):
+ t = gettext.dgettext(PluginLanguageDomain, txt)
+ if t == txt:
+ print "[" + PluginLanguageDomain + "] fallback to default translation for ", txt
+ t = gettext.gettext(txt)
+ return t
+
+localeInit()
+language.addCallback(localeInit)
--- /dev/null
+<keymap>
+ <map context="PluginAudioSyncActions">
+ <key id="KEY_MENU" mapto="menu" flags="mr" />
+ <key id="KEY_ENTER" mapto="ok" flags="m" />
+ <key id="KEY_OK" mapto="ok" flags="m" />
+ <key id="KEY_EXIT" mapto="cancel" flags="m" />
+ <key id="KEY_ESC" mapto="cancel" flags="m" />
+ <key id="KEY_LEFT" mapto="left" flags="mr" />
+ <key id="KEY_RIGHT" mapto="right" flags="mr" />
+ <key id="KEY_UP" mapto="up" flags="mr" />
+ <key id="KEY_DOWN" mapto="down" flags="mr" />
+ <key id="KEY_RED" mapto="red" flags="m" />
+ <key id="KEY_GREEN" mapto="green" flags="m" />
+ <key id="KEY_YELLOW" mapto="yellow" flags="m" />
+ <key id="KEY_BLUE" mapto="blue" flags="m" />
+ <key id="KEY_1" mapto="1" flags="m" />
+ <key id="KEY_2" mapto="2" flags="m" />
+ <key id="KEY_3" mapto="3" flags="m" />
+ <key id="KEY_4" mapto="4" flags="m" />
+ <key id="KEY_5" mapto="5" flags="m" />
+ <key id="KEY_6" mapto="6" flags="m" />
+ <key id="KEY_7" mapto="7" flags="m" />
+ <key id="KEY_8" mapto="8" flags="m" />
+ <key id="KEY_9" mapto="9" flags="m" />
+ <key id="KEY_0" mapto="0" flags="m" />
+ </map>
+ <map context="MovableScreenActions">
+ <key id="KEY_ENTER" mapto="ok" flags="m" />
+ <key id="KEY_OK" mapto="ok" flags="m" />
+ <key id="KEY_EXIT" mapto="cancel" flags="m" />
+ <key id="KEY_ESC" mapto="cancel" flags="m" />
+ <key id="KEY_LEFT" mapto="left" flags="mr" />
+ <key id="KEY_RIGHT" mapto="right" flags="mr" />
+ <key id="KEY_UP" mapto="up" flags="mr" />
+ <key id="KEY_DOWN" mapto="down" flags="mr" />
+ <key id="KEY_RED" mapto="red" flags="m" />
+ <key id="KEY_GREEN" mapto="green" flags="m" />
+ <key id="KEY_1" mapto="1" flags="m" />
+ <key id="KEY_2" mapto="2" flags="m" />
+ <key id="KEY_3" mapto="3" flags="m" />
+ <key id="KEY_4" mapto="4" flags="m" />
+ <key id="KEY_5" mapto="5" flags="m" />
+ <key id="KEY_6" mapto="6" flags="m" />
+ <key id="KEY_7" mapto="7" flags="m" />
+ <key id="KEY_8" mapto="8" flags="m" />
+ <key id="KEY_9" mapto="9" flags="m" />
+ <key id="KEY_0" mapto="0" flags="m" />
+ </map>
+</keymap>
--- /dev/null
+sagichnet@gmx.net
+AudioSync
--- /dev/null
+from Components.config import config, ConfigSubsection, ConfigInteger, ConfigSubList
+from Plugins.Plugin import PluginDescriptor
+from Screens.MessageBox import MessageBox
+import AC3main
+import AC3setup
+
+config.plugins.AC3LipSync = ConfigSubsection()
+config.plugins.AC3LipSync.outerBounds = ConfigInteger(default = 1000, limits = (-10000,10000))
+config.plugins.AC3LipSync.arrowStepSize = ConfigInteger(default = 5, limits = (-10000,10000))
+config.plugins.AC3LipSync.activationDelay = ConfigInteger(default = 800, limits = (-10000,10000))
+config.plugins.AC3LipSync.stepSize13 = ConfigInteger(default = 50, limits = (-10000,10000))
+config.plugins.AC3LipSync.stepSize46 = ConfigInteger(default = 200, limits = (-10000,10000))
+config.plugins.AC3LipSync.stepSize79 = ConfigInteger(default = 500, limits = (-10000,10000))
+config.plugins.AC3LipSync.absoluteStep2 = ConfigInteger(default = 0, limits = (-10000,10000))
+config.plugins.AC3LipSync.absoluteStep5 = ConfigInteger(default = 0, limits = (-10000,10000))
+config.plugins.AC3LipSync.absoluteStep8 = ConfigInteger(default = 0, limits = (-10000,10000))
+config.plugins.AC3LipSync.position_x = ConfigInteger(default=0)
+config.plugins.AC3LipSync.position_y = ConfigInteger(default=0)
+
+def main(session, **kwargs):
+# reload(AC3main)
+ session.open(AC3main.AC3LipSync, plugin_path)
+
+def setup(session, **kwargs):
+# reload(AC3setup)
+ session.open(AC3setup.AC3LipSyncSetup, plugin_path)
+
+def audioMenu(session, **kwargs):
+# reload(AC3setup)
+ session.open(AC3main.AC3LipSync, plugin_path)
+
+def Plugins(path,**kwargs):
+ global plugin_path
+ plugin_path = path
+ return [ PluginDescriptor(name=_("Audio Sync Setup"), description=_("Setup for the Audio Sync Plugin"), icon = "AudioSync.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=setup),
+ PluginDescriptor(name=_("Audio Sync"), description=_("sets the Audio Delay (LipSync)"), where = PluginDescriptor.WHERE_AUDIOMENU, fnc=audioMenu)]
AC_CONFIG_FILES([
Makefile
-ac3lipsync/Makefile
-ac3lipsync/img/Makefile
-ac3lipsync/meta/Makefile
-ac3lipsync/po/Makefile
-ac3lipsync/src/Makefile
-
aihdcontrol/Makefile
aihdcontrol/meta/Makefile
aihdcontrol/src/Makefile
antiscrollbar/meta/Makefile
antiscrollbar/src/Makefile
+audiosync/Makefile
+audiosync/img/Makefile
+audiosync/meta/Makefile
+audiosync/po/Makefile
+audiosync/src/Makefile
+
automatictimerlistcleanup/Makefile
automatictimerlistcleanup/meta/Makefile
automatictimerlistcleanup/po/Makefile