Hallo,
ich habe meine Mediaplayererweiterung.
etwas besser benutzbarer Mediaplayer mit LCD Ausgabe
um einige Funktionen erweitert.
Ich habe die folgenden Erweiterungen/Änderungen vorgenommen:
0 - Zum Listenanfang springen
9 - Zum Listenende springen
VIDEO - Eintrag aus Playliste entfernen
ok - Eintrag zu Playliste hinzufuegen
nextBouquet - wechseln zur FileList
prevBouquet - wechseln zur PlayList
Shift TV - Playliste loeschen
Shift Radio - Shuffel: Wiedergabeliste mischen
Audio - Tonspurwahl
Info - die Infos zu einem TS-File anzeigen
Help - Hilfefenster
1 - Sprung zum nächsten Marker
3 - Sprung zum vorherigen Marker
2 - Marker einfügen/entfernen
4 - seek-Funktion rückwärts (auch bei mp3- und mpeg-Dateien)
6 - seek-Funktion vorwärts (auch bei mp3- und mpeg-Dateien)
Alles anzeigen
Außerdem kann die Playliste mit Nameneingabe gespeichert und mit einer Auswahlbox wieder geladen werden.
Ausblenden des Mediaplayers beim Drücken auf die OK- und Play-Taste.
Option zum wiederaufnehmen von TS-Dateien wie unter Movieliste/Video Taste.
Auf dem LCD werden der ausgewählte und die beiden folgenden Einträge der Play- und Fileliste angezeigt.
In dieser Version sind noch 2 Fehler die ich nicht alleine beheben kann:
- Beim Drücken auf die Info-Taste wird der gerade selektierte Playlisteneintrag unsichtbar. Er wird durch drücken auf die OK- oder auf eine farbige Taste wieder sichtbar.
Der Fehler ist vermutlich in der Python-Funktion "getEvent".
-Die folgende Funktion ist seit 02.10.06 im CVS:
Zuerst die "5" drücken, dann kann mit "4" der grüne Positionszeiger nach links und mit "6" nach rechts bewegt werden.
Wenn die "5" erneut gedrückt wird, dann wird die neue Position übernommen und das Abspielen der mp3- oder mpeg Datei an der neuen Postion fortgesetzt.
Bei mir bewegt sich aber der grüne Positionszeiger nicht, wenn ich "4" oder "6" drückte.
Der Positionszeiger geht erst in die neue Position nachdem ich die "5" drücke.
Zur Installation kommt die "MediaPlayer.py" nach
/usr/lib/enigma2/python/Screens/
Außerdem müssen noch die folgenden Dateien geändert werden:
/usr/share/enigma2/keymap.xml
--- keymap_org.xml 2007-04-06 23:59:08.000000000 +0200
+++ keymap.xml 2007-05-07 19:59:15.000000000 +0200
@@ -483,6 +483,13 @@
<device name="dreambox remote control (native)">
<key id="KEY_YELLOW" mapto="pause" flags="m" />
<key id="KEY_GREEN" mapto="play" flags="m" />
+# ------- Mediaplayer erweiterung von ralfk -------------------------------------
+ <key id="KEY_CHANNELUP" mapto="nextBouquet" flags="m" />
+ <key id="KEY_CHANNELDOWN" mapto="prevBouquet" flags="m" />
+ <key id="KEY_VIDEO" mapto="delete" flags="m" />
+ <key id="KEY_STOP" mapto="shift_stop" flags="m" />
+ <key id="KEY_RECORD" mapto="shift_record" flags="m" />
+# ------- Mediaplayer erweiterung von ralfk -------------------------------------
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PLAYPAUSE" mapto="pause" flags="m" />
Alles anzeigen
/usr/lib/enigma2/python/Components/FileList.py
--- cvs/components/FileList_cvs.py 2007-05-07 19:26:06.000000000 +0200
+++ components/FileList.py 2007-05-07 20:32:18.000000000 +0200
@@ -64,7 +64,10 @@
if self.l.getCurrentSelection() is None:
return None
return self.l.getCurrentSelection()[0]
-
+
+ def getSelectionIndex(self):
+ return self.l.getCurrentSelectionIndex()
+
def getFileList(self):
return self.list
Alles anzeigen
/usr/lib/enigma2/python/Components/MediaPlayer.py
--- cvs/components/MediaPlayer_cvs.py 2007-05-07 19:26:29.000000000 +0200
+++ components/MediaPlayer.py 2007-05-06 23:05:20.000000000 +0200
@@ -6,7 +6,7 @@
from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
from os import path
-from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, loadPNG, gFont
+from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, loadPNG, gFont, iServiceInformation, eServiceReference, eServiceCenter
@@ -108,9 +108,23 @@
def getCurrentIndex(self):
return self.currPlaying
+
+ def getCurrentEvent(self):
+ l = self.l.getCurrentSelection()
+ self.serviceHandler = eServiceCenter.getInstance()
+ info = self.serviceHandler.info(l[0])
+ l[1] = info
+ return l and l[0] and l[1] and l[1].getEvent(l[0])
+
+ def getCurrent(self):
+ l = self.l.getCurrentSelection()
+ return l and l[0]
Alles anzeigen
Außerdem muß mit
# cd /etc/enigma2
# mkdir playlist
das Verzeichnis "playlist" angelegt werden, damit die playlisten gespeichert werden können.
Damit die Änderungen wirksam sind, muß noch ein enigma2 Neustart durchgeführt werden:
# killall -9 enigma2
In "3 geaenderte Files.zip " sind die folgenden fertigen geänderten files:
/usr/lib/enigma2/python/Components/MediaPlayer.py
/usr/lib/enigma2/python/Components/FileList.py
/usr/share/enigma2/keymap.xml
Gruß Ralf