connection.execute('CREATE TABLE IF NOT EXISTS CurrentSongList (ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, song_id INTEGER, filename TEXT NOT NULL, title TEXT, artist TEXT, album TEXT, genre TEXT, bitrate TEXT, length TEXT, track TEXT, date TEXT, PTS INTEGER);')
return connection
+def getEncodedString(value):
+ returnValue = ""
+ try:
+ returnValue = value.encode("utf-8", 'ignore')
+ except UnicodeDecodeError:
+ try:
+ returnValue = value.encode("iso8859-1", 'ignore')
+ except UnicodeDecodeError:
+ returnValue = "n/a"
+ return returnValue
+
def getID3Tags(root,filename):
audio = None
isFlac = False
else:
isAudio = False
if audio:
- title = audio.get('title', [filename])[0]
+ title = getEncodedString(audio.get('title', [filename])[0])
try:
# list index out of range workaround
- genre = audio.get('genre', ['n/a'])[0]
+ genre = getEncodedString(audio.get('genre', ['n/a'])[0])
except:
genre = "n/a"
- artist = audio.get('artist', ['n/a'])[0]
- album = audio.get('album', ['n/a'])[0]
+ artist = getEncodedString(audio.get('artist', ['n/a'])[0])
+ album = getEncodedString(audio.get('album', ['n/a'])[0])
try:
tracknr = int(audio.get('tracknumber', ['-1'])[0].split("/")[0])
except:
tracknr = -1
- track = audio.get('tracknumber', [None])[0]
- date = audio.get('date', [None])[0]
-
- length = str(datetime_timedelta(seconds=int(audio.info.length)))
+ track = getEncodedString(audio.get('tracknumber', ['n/a'])[0])
+ date = getEncodedString(audio.get('date', ['n/a'])[0])
+ try:
+ length = str(datetime_timedelta(seconds=int(audio.info.length))).encode("utf-8", 'ignore')
+ except:
+ length = -1
if not isFlac:
bitrate = audio.info.bitrate / 1000
else:
length = ""
bitrate = None
- return audio, isAudio, title.encode("utf-8", 'ignore'), genre.encode("utf-8", 'ignore'),artist.encode("utf-8", 'ignore'),album.encode("utf-8", 'ignore'),tracknr,track,date,length.encode("utf-8", 'ignore'),bitrate
-
+ return audio, isAudio, title, genre ,artist, album, tracknr, track, date, length, bitrate
+
class MerlinMusicPlayerScreenSaver(Screen):
sz_w = getDesktop(0).size().width()
{
"cancel": self.close,
"ok": self.showHide,
- "right": self.nextService,\r
+ "right": self.nextService,
"left": self.prevService,
"nextBouquet": self.nextBouquet,
"prevBouquet": self.prevBouquet,
else:
skin = """
<screen name="MerlinMusicPlayerScreen" position="0,0" size="720,576" flags="wfNoBorder" backgroundColor="#00000000" title="iDream">
- <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>\r
- <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>\r
+ <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>
+ <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>
<eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="420,40" size="250,20" text="WWW.DREAMBOX-TOOLS.INFO" valign="center" zPosition="2"/>
<ePixmap alphatest="on" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/MerlinMusicPlayer/images/mmp3p.png" position="120,350" size="33,162"/>
<widget name="coverArt" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/MerlinMusicPlayer/images/no_coverArt.png" position="106,130" size="180,180" transparent="1" alphatest="blend" />
else:
skin = """
<screen name="MerlinMusicPlayerLyrics" position="0,0" size="720,576" flags="wfNoBorder" backgroundColor="#00000000" title="Merlin Music Player Lyrics">
- <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>\r
- <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>\r
+ <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>
+ <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>
<eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="420,40" size="250,20" text="WWW.DREAMBOX-TOOLS.INFO" valign="center" zPosition="2"/>
<widget name="headertext" position="50,73" zPosition="1" size="620,23" font="Regular;20" transparent="1" foregroundColor="#fcc000" backgroundColor="#00000000"/>
<widget name="resulttext" position="50,100" zPosition="1" size="620,20" font="Regular;16" transparent="1" backgroundColor="#00000000"/>
else:
skin = """
<screen name="MerlinMusicPlayerSongList" position="0,0" size="720,576" flags="wfNoBorder" backgroundColor="#00000000" title="Songlist">
- <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>\r
- <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>\r
+ <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>
+ <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>
<eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="420,40" size="250,20" text="WWW.DREAMBOX-TOOLS.INFO" valign="center" zPosition="2"/>
<widget name="headertext" position="50,73" zPosition="1" size="620,23" font="Regular;20" transparent="1" foregroundColor="#fcc000" backgroundColor="#00000000"/>
<widget name="list" position="50,110" zPosition="2" size="620,350" scrollbarMode="showOnDemand" transparent="0" backgroundColor="#00000000"/>
else:
skin = """
<screen name="MerlinMusicPlayerFileList" position="0,0" size="720,576" flags="wfNoBorder" backgroundColor="#00000000" title="iDream">
- <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>\r
- <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>\r
+ <eLabel backgroundColor="#999999" position="50,50" size="620,2" zPosition="1"/>
+ <eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="50,40" size="250,20" text="MERLIN MUSIC PLAYER" valign="center" zPosition="2"/>
<eLabel backgroundColor="#999999" font="Regular;16" foregroundColor="#0f0f0f" halign="center" position="420,40" size="250,20" text="WWW.DREAMBOX-TOOLS.INFO" valign="center" zPosition="2"/>
<widget name="headertext" position="50,73" zPosition="1" size="620,23" font="Regular;20" transparent="1" foregroundColor="#fcc000" backgroundColor="#00000000"/>