allow MediaPlayer AudioCD playback only for what appear to be AudioCDs
authorAndreas Frisch <andreas.frisch@multimedia-labs.de>
Thu, 2 Oct 2008 11:31:54 +0000 (11:31 +0000)
committerAndreas Frisch <andreas.frisch@multimedia-labs.de>
Thu, 2 Oct 2008 11:31:54 +0000 (11:31 +0000)
lib/python/Components/Scanner.py
lib/python/Plugins/Extensions/MediaPlayer/plugin.py

index 69237bc..f7e307b 100644 (file)
@@ -126,6 +126,14 @@ def scanDevice(mountpoint):
 
        # convert to list
        paths_to_scan = list(paths_to_scan)
 
        # convert to list
        paths_to_scan = list(paths_to_scan)
+       
+       from Components.Harddisk import HarddiskManager 
+       class CdromManager(HarddiskManager):
+               def __init__(self):
+                       pass
+       cdaman = CdromManager()
+       blockdev = mountpoint.split('/')[2]
+       error, blacklisted, removable, is_cdrom, partitions = cdaman.getBlockDevInfo(blockdev)
 
        # now scan the paths
        for p in paths_to_scan:
 
        # now scan the paths
        for p in paths_to_scan:
@@ -133,7 +141,11 @@ def scanDevice(mountpoint):
 
                for root, dirs, files in os_walk(path):
                        for f in files:
 
                for root, dirs, files in os_walk(path):
                        for f in files:
-                               sfile = ScanFile(os_path.join(root, f))
+                               path = os_path.join(root, f)
+                               if is_cdrom and path.endswith(".wav") and path[-13:-6] == ("/track-"):
+                                       sfile = ScanFile(path,"audio/x-cda")
+                               else:
+                                       sfile = ScanFile(path)
                                for s in scanner:
                                        s.handleFile(res, sfile)
 
                                for s in scanner:
                                        s.handleFile(res, sfile)
 
index f819d78..752a036 100644 (file)
@@ -848,7 +848,8 @@ def filescan(**kwargs):
                )]
        try:
                from Plugins.Extensions.CDInfo.plugin import Query
                )]
        try:
                from Plugins.Extensions.CDInfo.plugin import Query
-               mediatypes.insert(0,Scanner(mimetypes = ["audio/x-cda", "audio/x-wav"],
+               mediatypes.append(
+               Scanner(mimetypes = ["audio/x-cda"],
                        paths_to_scan =
                                [
                                        ScanPath(path = "", with_subdirs = False),
                        paths_to_scan =
                                [
                                        ScanPath(path = "", with_subdirs = False),