})
self.onClose.append(self.__onClose)
-
+ self.physicalDVD = False
+ self.dvd_device = None
if dvd_device:
self.dvd_device = dvd_device
self.physicalDVD = True
else:
- if fileExists(harddiskmanager.getCD()):
- print "physical dvd found:", harddiskmanager.getCD()
- self.dvd_device = harddiskmanager.getCD()
- self.physicalDVD = True
- else:
- self.dvd_device = None
- self.physicalDVD = False
+ devicepath = harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())
+ if pathExists(devicepath):
+ from Components.Scanner import scanDevice
+ res = scanDevice(devicepath)
+ list = [ (r.description, r, res[r], self.session) for r in res ]
+ if list:
+ (desc, scanner, files, session) = list[0]
+ for file in files:
+ print file
+ if file.mimetype == "video/x-dvd":
+ self.dvd_device = devicepath
+ print "physical dvd found:", self.dvd_device
+ self.physicalDVD = True
self.dvd_filelist = dvd_filelist
self.onFirstExecBegin.append(self.showFileBrowser)
def showFileBrowser(self):
if self.physicalDVD and len(self.dvd_filelist) == 0:
- if self.dvd_device == harddiskmanager.getCD():
+ if self.dvd_device == harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD()):
self.session.openWithCallback(self.DVDdriveCB, MessageBox, text=_("Do you want to play DVD in drive?"), timeout=5 )
else:
self.DVDdriveCB(True)
from ServiceReference import ServiceReference
from Screens.ChoiceBox import ChoiceBox
from Screens.HelpMenu import HelpableScreen
+from Components.Harddisk import harddiskmanager
+from Tools.Directories import fileExists, pathExists
import random
class MyPlayList(PlayList):
path = path[:-1]
pngname = path + "folder.png"
- if not os_path.exists(pngname):
+ if not fileExists(pngname):
pngname = self["coverArt"].default_pixmap
if self.coverArtFileName != pngname:
self.coverArtFileName = pngname
menu.append((_("load playlist"), "loadplaylist"));
menu.append((_("delete saved playlist"), "deleteplaylist"));
menu.append((_("repeat playlist"), "repeat"));
+ self.cdAudioTrackFiles = []
+ drivepath = harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())
+ if pathExists(drivepath):
+ from Components.Scanner import scanDevice
+ res = scanDevice(drivepath)
+ list = [ (r.description, r, res[r], self.session) for r in res ]
+ if list:
+ (desc, scanner, files, session) = list[0]
+ for file in files:
+ if file.mimetype == "audio/x-cda":
+ self.cdAudioTrackFiles.append(file.path)
+ if len(self.cdAudioTrackFiles):
+ menu.insert(0,(_("Play Audio-CD..."), "audiocd"))
self.session.openWithCallback(self.menuCallback, ChoiceBox, title="", list=menu)
def menuCallback(self, choice):
else:
self.repeat = True
self["repeat"].setPixmapNum(1)
+ elif choice[1] == "audiocd":
+ self.playAudioCD()
+
+ def playAudioCD(self):
+ from enigma import eServiceReference
+ from Plugins.Extensions.CDInfo.plugin import Query
+ self.playlist.clear()
+ self.savePlaylistOnExit = False
+ self.isAudioCD = True
+ for file in self.cdAudioTrackFiles:
+ ref = eServiceReference(4097, 0, file)
+ self.playlist.addFile(ref)
+ cdinfo = Query(self)
+ cdinfo.scan()
+ self.changeEntry(0)
+ self.switchToPlayList()
def showEventInformation(self):
from Screens.EventView import EventViewSimple
from enigma import eServiceReference
mp = session.open(MediaPlayer)
-
- mp.playlist.clear()
- mp.savePlaylistOnExit = False
- mp.isAudioCD = True
-
+ mp.cdAudioTrackFiles = []
for file in list:
- ref = eServiceReference(4097, 0, file.path)
- mp.playlist.addFile(ref)
- from Plugins.Extensions.CDInfo.plugin import Query
- cdinfo = Query(mp)
- cdinfo.scan()
-
- mp.changeEntry(0)
- mp.switchToPlayList()
+ mp.cdAudioTrackFiles.append(file.path)
+ mp.playAudioCD()
def filescan(**kwargs):
from Components.Scanner import Scanner, ScanPath