diff options
62 files changed, 33 insertions, 4544 deletions
diff --git a/Kodi.xcodeproj/project.pbxproj b/Kodi.xcodeproj/project.pbxproj index 24865a86a2..8de4619527 100644 --- a/Kodi.xcodeproj/project.pbxproj +++ b/Kodi.xcodeproj/project.pbxproj @@ -130,15 +130,10 @@ 18B7C7FC1294222E009E7A26 /* XBTF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C7A71294222E009E7A26 /* XBTF.cpp */; }; 18B7C7FD1294222E009E7A26 /* XBTFReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C7A81294222E009E7A26 /* XBTFReader.cpp */; }; 18B7C890129423A7009E7A26 /* MusicInfoTag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C85E129423A7009E7A26 /* MusicInfoTag.cpp */; }; - 18B7C893129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C864129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp */; }; 18B7C894129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C866129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp */; }; 18B7C895129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C868129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp */; }; 18B7C896129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86A129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp */; }; - 18B7C898129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86E129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp */; }; - 18B7C89D129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C878129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp */; }; 18B7C89F129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87C129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp */; }; - 18B7C8A0129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87E129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp */; }; - 18B7C8A4129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C886129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp */; }; 18B7C8D712942546009E7A26 /* ButtonTranslator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C8CB12942546009E7A26 /* ButtonTranslator.cpp */; }; 18B7C8D912942546009E7A26 /* KeyboardStat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C8CF12942546009E7A26 /* KeyboardStat.cpp */; }; 18B7C8DA12942546009E7A26 /* MouseStat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C8D112942546009E7A26 /* MouseStat.cpp */; }; @@ -743,8 +738,6 @@ 8883CEA70DD81807004E8B72 /* DVDSubtitleParserSSA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8883CEA30DD81807004E8B72 /* DVDSubtitleParserSSA.cpp */; }; 8883CEA80DD81807004E8B72 /* DVDSubtitlesLibass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8883CEA50DD81807004E8B72 /* DVDSubtitlesLibass.cpp */; }; 889B4D8E0E0EF86C00FAD25E /* RSSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 889B4D8C0E0EF86C00FAD25E /* RSSDirectory.cpp */; }; - 88ACB01B0DCF40800083CFDF /* ASAPFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB0190DCF40800083CFDF /* ASAPFileDirectory.cpp */; }; - 88ACB01F0DCF409E0083CFDF /* ASAPCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB01C0DCF409E0083CFDF /* ASAPCodec.cpp */; }; AE32174218313ADF0003FAFC /* XSLTUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE4E87A517354C4A00D15206 /* XSLTUtils.cpp */; }; AE32174318313AE10003FAFC /* XSLTUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE4E87A517354C4A00D15206 /* XSLTUtils.cpp */; }; AE4E87A717354C4A00D15206 /* XSLTUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE4E87A517354C4A00D15206 /* XSLTUtils.cpp */; }; @@ -1198,20 +1191,10 @@ DFF0F19D17528350002DA3A4 /* DVDTSCorrection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CDAE9030FFCA3520040B25F /* DVDTSCorrection.cpp */; }; DFF0F19E17528350002DA3A4 /* Edl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AA1107747CD00F859CF /* Edl.cpp */; }; DFF0F19F17528350002DA3A4 /* ExternalPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C5608C40F1754930056433A /* ExternalPlayer.cpp */; }; - DFF0F1A117528350002DA3A4 /* ASAPCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB01C0DCF409E0083CFDF /* ASAPCodec.cpp */; }; DFF0F1A217528350002DA3A4 /* AudioDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E30D25F9FA00618676 /* AudioDecoder.cpp */; }; DFF0F1A317528350002DA3A4 /* CodecFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E80D25F9FA00618676 /* CodecFactory.cpp */; }; DFF0F1A417528350002DA3A4 /* DVDPlayerCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E36578860D3AA7B40033CC1C /* DVDPlayerCodec.cpp */; }; - DFF0F1A617528350002DA3A4 /* ModplugCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DC8800110A46C700EE1B15 /* ModplugCodec.cpp */; }; - DFF0F1A817528350002DA3A4 /* NSFCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E161B0D25F9FA00618676 /* NSFCodec.cpp */; }; - DFF0F1A917528350002DA3A4 /* OggCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E560BB10770F9F006E788A /* OggCallback.cpp */; }; - DFF0F1AA17528350002DA3A4 /* OGGcodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16230D25F9FA00618676 /* OGGcodec.cpp */; }; DFF0F1AB17528350002DA3A4 /* PAPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5987FDA0FBE2DFD008EF4FB /* PAPlayer.cpp */; }; - DFF0F1AD17528350002DA3A4 /* SIDCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16310D25F9FA00618676 /* SIDCodec.cpp */; }; - DFF0F1AE17528350002DA3A4 /* SPCCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16350D25F9FA00618676 /* SPCCodec.cpp */; }; - DFF0F1AF17528350002DA3A4 /* TimidityCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16370D25F9FA00618676 /* TimidityCodec.cpp */; }; - DFF0F1B017528350002DA3A4 /* VGMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F8E1D90E427E8000A8E96F /* VGMCodec.cpp */; }; - DFF0F1B217528350002DA3A4 /* YMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16410D25F9FA00618676 /* YMCodec.cpp */; }; DFF0F1B317528350002DA3A4 /* PlayerCoreFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AA81077486D00F859CF /* PlayerCoreFactory.cpp */; }; DFF0F1B417528350002DA3A4 /* PlayerSelectionRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AAA1077486D00F859CF /* PlayerSelectionRule.cpp */; }; DFF0F1B517528350002DA3A4 /* ConvolutionKernels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F592568710FBF2E100D2C91D /* ConvolutionKernels.cpp */; }; @@ -1264,7 +1247,6 @@ DFF0F1E417528350002DA3A4 /* GUIDialogVolumeBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17EA0D25F9FA00618676 /* GUIDialogVolumeBar.cpp */; }; DFF0F1E517528350002DA3A4 /* GUIDialogYesNo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17EC0D25F9FA00618676 /* GUIDialogYesNo.cpp */; }; DFF0F1E617528350002DA3A4 /* AddonsDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A7B42B113CBB950059D6AA /* AddonsDirectory.cpp */; }; - DFF0F1E917528350002DA3A4 /* ASAPFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB0190DCF40800083CFDF /* ASAPFileDirectory.cpp */; }; DFF0F1EA17528350002DA3A4 /* BlurayDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5ED8D6A1551F91400842059 /* BlurayDirectory.cpp */; }; DFF0F1EB17528350002DA3A4 /* CacheStrategy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16990D25F9FA00618676 /* CacheStrategy.cpp */; }; DFF0F1EC17528350002DA3A4 /* CDDADirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E169B0D25F9FA00618676 /* CDDADirectory.cpp */; }; @@ -1330,8 +1312,6 @@ DFF0F22F17528350002DA3A4 /* NFSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF0DF15913A3ADA7008ED511 /* NFSDirectory.cpp */; }; DFF0F23017528350002DA3A4 /* NFSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67D1444A8B0007C6459 /* NFSFile.cpp */; }; DFF0F23117528350002DA3A4 /* NptXbmcFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4E91BB70E7F7338001F0546 /* NptXbmcFile.cpp */; settings = {COMPILER_FLAGS = "-I$SRCROOT/lib/libUPnP -I$SRCROOT/lib/libUPnP/Neptune/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Platinum -I$SRCROOT/lib/libUPnP/Platinum/Source/Extras -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaServer -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaRenderer"; }; }; - DFF0F23217528350002DA3A4 /* NSFFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173C0D25F9FA00618676 /* NSFFileDirectory.cpp */; }; - DFF0F23317528350002DA3A4 /* OGGFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173E0D25F9FA00618676 /* OGGFileDirectory.cpp */; }; DFF0F23417528350002DA3A4 /* PipeFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67F1444A8B0007C6459 /* PipeFile.cpp */; }; DFF0F23517528350002DA3A4 /* PipesManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF44845B140048C80069344B /* PipesManager.cpp */; }; DFF0F23617528350002DA3A4 /* PlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17400D25F9FA00618676 /* PlaylistDirectory.cpp */; }; @@ -1350,7 +1330,6 @@ DFF0F24317528350002DA3A4 /* SFTPDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A7B37C113AFB900059D6AA /* SFTPDirectory.cpp */; }; DFF0F24417528350002DA3A4 /* SFTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6851444A8B0007C6459 /* SFTPFile.cpp */; }; DFF0F24517528350002DA3A4 /* ShoutcastFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6871444A8B0007C6459 /* ShoutcastFile.cpp */; }; - DFF0F24617528350002DA3A4 /* SIDFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17510D25F9FA00618676 /* SIDFileDirectory.cpp */; }; DFF0F24717528350002DA3A4 /* SlingboxDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D65C1444A7A3007C6459 /* SlingboxDirectory.cpp */; }; DFF0F24817528350002DA3A4 /* SlingboxFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6891444A8B0007C6459 /* SlingboxFile.cpp */; }; DFF0F24917528350002DA3A4 /* SmartPlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */; }; @@ -1536,15 +1515,10 @@ DFF0F30517528350002DA3A4 /* karaokevideobackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF07252C168734D7008DCAAD /* karaokevideobackground.cpp */; }; DFF0F30617528350002DA3A4 /* karaokewindowbackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56A084A0F4A18FB003F9F87 /* karaokewindowbackground.cpp */; }; DFF0F30717528350002DA3A4 /* MusicInfoTag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C85E129423A7009E7A26 /* MusicInfoTag.cpp */; }; - DFF0F30817528350002DA3A4 /* MusicInfoTagLoaderASAP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C864129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp */; }; DFF0F30917528350002DA3A4 /* MusicInfoTagLoaderCDDA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C866129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp */; }; DFF0F30A17528350002DA3A4 /* MusicInfoTagLoaderDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C868129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp */; }; DFF0F30B17528350002DA3A4 /* MusicInfoTagLoaderFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86A129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp */; }; - DFF0F30C17528350002DA3A4 /* MusicInfoTagLoaderMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86E129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp */; }; - DFF0F30D17528350002DA3A4 /* MusicInfoTagLoaderNSF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C878129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp */; }; DFF0F30E17528350002DA3A4 /* MusicInfoTagLoaderShn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87C129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp */; }; - DFF0F30F17528350002DA3A4 /* MusicInfoTagLoaderSPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87E129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp */; }; - DFF0F31117528350002DA3A4 /* MusicInfoTagLoaderYM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C886129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp */; }; DFF0F31217528350002DA3A4 /* TagLibVFSStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE84CB5915A5B8A600A3810E /* TagLibVFSStream.cpp */; }; DFF0F31317528350002DA3A4 /* TagLoaderTagLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AEC0083015ACAC6E0099888C /* TagLoaderTagLib.cpp */; }; DFF0F31417528350002DA3A4 /* GUIWindowMusicBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E180D0D25F9FA00618676 /* GUIWindowMusicBase.cpp */; }; @@ -1973,12 +1947,6 @@ E38E1FAF0D25F9FD00618676 /* DVDSubtitleStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15960D25F9FA00618676 /* DVDSubtitleStream.cpp */; }; E38E1FC50D25F9FD00618676 /* AudioDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E30D25F9FA00618676 /* AudioDecoder.cpp */; }; E38E1FC70D25F9FD00618676 /* CodecFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E80D25F9FA00618676 /* CodecFactory.cpp */; }; - E38E1FD10D25F9FD00618676 /* NSFCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E161B0D25F9FA00618676 /* NSFCodec.cpp */; }; - E38E1FD20D25F9FD00618676 /* OGGcodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16230D25F9FA00618676 /* OGGcodec.cpp */; }; - E38E1FD90D25F9FD00618676 /* SIDCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16310D25F9FA00618676 /* SIDCodec.cpp */; }; - E38E1FDA0D25F9FD00618676 /* SPCCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16350D25F9FA00618676 /* SPCCodec.cpp */; }; - E38E1FDB0D25F9FD00618676 /* TimidityCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16370D25F9FA00618676 /* TimidityCodec.cpp */; }; - E38E1FDF0D25F9FD00618676 /* YMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16410D25F9FA00618676 /* YMCodec.cpp */; }; E38E1FE90D25F9FD00618676 /* LinuxRendererGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E165F0D25F9FA00618676 /* LinuxRendererGL.cpp */; }; E38E1FEC0D25F9FD00618676 /* RenderManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16650D25F9FA00618676 /* RenderManager.cpp */; }; E38E1FF00D25F9FD00618676 /* VideoFilterShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E166F0D25F9FA00618676 /* VideoFilterShader.cpp */; }; @@ -2028,15 +1996,12 @@ E38E20490D25F9FD00618676 /* QueryParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17350D25F9FA00618676 /* QueryParams.cpp */; }; E38E204A0D25F9FD00618676 /* MusicDatabaseDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17370D25F9FA00618676 /* MusicDatabaseDirectory.cpp */; }; E38E204B0D25F9FD00618676 /* MusicSearchDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17390D25F9FA00618676 /* MusicSearchDirectory.cpp */; }; - E38E204D0D25F9FD00618676 /* NSFFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173C0D25F9FA00618676 /* NSFFileDirectory.cpp */; }; - E38E204E0D25F9FD00618676 /* OGGFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173E0D25F9FA00618676 /* OGGFileDirectory.cpp */; }; E38E204F0D25F9FD00618676 /* PlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17400D25F9FA00618676 /* PlaylistDirectory.cpp */; }; E38E20500D25F9FD00618676 /* PlaylistFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17420D25F9FA00618676 /* PlaylistFileDirectory.cpp */; }; E38E20510D25F9FD00618676 /* PluginDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17440D25F9FA00618676 /* PluginDirectory.cpp */; }; E38E20520D25F9FD00618676 /* RarDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17460D25F9FA00618676 /* RarDirectory.cpp */; }; E38E20530D25F9FD00618676 /* RarManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17480D25F9FA00618676 /* RarManager.cpp */; }; E38E20540D25F9FD00618676 /* RTVDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E174B0D25F9FA00618676 /* RTVDirectory.cpp */; }; - E38E20570D25F9FD00618676 /* SIDFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17510D25F9FA00618676 /* SIDFileDirectory.cpp */; }; E38E20580D25F9FD00618676 /* SmartPlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */; }; E38E205B0D25F9FD00618676 /* StackDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17590D25F9FA00618676 /* StackDirectory.cpp */; }; E38E205C0D25F9FD00618676 /* UPnPDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E175B0D25F9FA00618676 /* UPnPDirectory.cpp */; settings = {COMPILER_FLAGS = "-I$SRCROOT/lib/libUPnP -I$SRCROOT/lib/libUPnP/Neptune/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Platinum -I$SRCROOT/lib/libUPnP/Platinum/Source/Extras -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaServer -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaRenderer"; }; }; @@ -2417,20 +2382,10 @@ E4991205174E5D4500741B6D /* DVDTSCorrection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CDAE9030FFCA3520040B25F /* DVDTSCorrection.cpp */; }; E4991206174E5D4500741B6D /* Edl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AA1107747CD00F859CF /* Edl.cpp */; }; E4991207174E5D4A00741B6D /* ExternalPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C5608C40F1754930056433A /* ExternalPlayer.cpp */; }; - E4991209174E5D5A00741B6D /* ASAPCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB01C0DCF409E0083CFDF /* ASAPCodec.cpp */; }; E499120A174E5D5A00741B6D /* AudioDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E30D25F9FA00618676 /* AudioDecoder.cpp */; }; E499120B174E5D5A00741B6D /* CodecFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E15E80D25F9FA00618676 /* CodecFactory.cpp */; }; E499120C174E5D5A00741B6D /* DVDPlayerCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E36578860D3AA7B40033CC1C /* DVDPlayerCodec.cpp */; }; - E499120E174E5D5A00741B6D /* ModplugCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DC8800110A46C700EE1B15 /* ModplugCodec.cpp */; }; - E4991210174E5D5A00741B6D /* NSFCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E161B0D25F9FA00618676 /* NSFCodec.cpp */; }; - E4991211174E5D5A00741B6D /* OggCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E560BB10770F9F006E788A /* OggCallback.cpp */; }; - E4991212174E5D5A00741B6D /* OGGcodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16230D25F9FA00618676 /* OGGcodec.cpp */; }; E4991213174E5D5A00741B6D /* PAPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5987FDA0FBE2DFD008EF4FB /* PAPlayer.cpp */; }; - E4991215174E5D5A00741B6D /* SIDCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16310D25F9FA00618676 /* SIDCodec.cpp */; }; - E4991216174E5D5A00741B6D /* SPCCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16350D25F9FA00618676 /* SPCCodec.cpp */; }; - E4991217174E5D5A00741B6D /* TimidityCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16370D25F9FA00618676 /* TimidityCodec.cpp */; }; - E4991218174E5D5A00741B6D /* VGMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F8E1D90E427E8000A8E96F /* VGMCodec.cpp */; }; - E499121A174E5D5A00741B6D /* YMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16410D25F9FA00618676 /* YMCodec.cpp */; }; E499121B174E5D5A00741B6D /* PlayerCoreFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AA81077486D00F859CF /* PlayerCoreFactory.cpp */; }; E499121C174E5D5A00741B6D /* PlayerSelectionRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43348AAA1077486D00F859CF /* PlayerSelectionRule.cpp */; }; E499121D174E5D5A00741B6D /* ConvolutionKernels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F592568710FBF2E100D2C91D /* ConvolutionKernels.cpp */; }; @@ -2483,7 +2438,6 @@ E499124D174E5D7E00741B6D /* GUIDialogVolumeBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17EA0D25F9FA00618676 /* GUIDialogVolumeBar.cpp */; }; E499124E174E5D7E00741B6D /* GUIDialogYesNo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17EC0D25F9FA00618676 /* GUIDialogYesNo.cpp */; }; E499124F174E5D8F00741B6D /* AddonsDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A7B42B113CBB950059D6AA /* AddonsDirectory.cpp */; }; - E4991252174E5D8F00741B6D /* ASAPFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 88ACB0190DCF40800083CFDF /* ASAPFileDirectory.cpp */; }; E4991253174E5D8F00741B6D /* BlurayDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5ED8D6A1551F91400842059 /* BlurayDirectory.cpp */; }; E4991254174E5D8F00741B6D /* CacheStrategy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E16990D25F9FA00618676 /* CacheStrategy.cpp */; }; E4991255174E5D8F00741B6D /* CDDADirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E169B0D25F9FA00618676 /* CDDADirectory.cpp */; }; @@ -2549,8 +2503,6 @@ E4991298174E5D9900741B6D /* NFSDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF0DF15913A3ADA7008ED511 /* NFSDirectory.cpp */; }; E4991299174E5D9900741B6D /* NFSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67D1444A8B0007C6459 /* NFSFile.cpp */; }; E499129A174E5D9900741B6D /* NptXbmcFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4E91BB70E7F7338001F0546 /* NptXbmcFile.cpp */; settings = {COMPILER_FLAGS = "-I$SRCROOT/lib/libUPnP -I$SRCROOT/lib/libUPnP/Neptune/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Core -I$SRCROOT/lib/libUPnP/Platinum/Source/Platinum -I$SRCROOT/lib/libUPnP/Platinum/Source/Extras -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaServer -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaConnect -I$SRCROOT/lib/libUPnP/Platinum/Source/Devices/MediaRenderer"; }; }; - E499129B174E5D9900741B6D /* NSFFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173C0D25F9FA00618676 /* NSFFileDirectory.cpp */; }; - E499129C174E5D9900741B6D /* OGGFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E173E0D25F9FA00618676 /* OGGFileDirectory.cpp */; }; E499129D174E5D9900741B6D /* PipeFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D67F1444A8B0007C6459 /* PipeFile.cpp */; }; E499129E174E5D9900741B6D /* PipesManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF44845B140048C80069344B /* PipesManager.cpp */; }; E499129F174E5D9900741B6D /* PlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17400D25F9FA00618676 /* PlaylistDirectory.cpp */; }; @@ -2569,7 +2521,6 @@ E49912AC174E5D9900741B6D /* SFTPDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A7B37C113AFB900059D6AA /* SFTPDirectory.cpp */; }; E49912AD174E5D9900741B6D /* SFTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6851444A8B0007C6459 /* SFTPFile.cpp */; }; E49912AE174E5D9900741B6D /* ShoutcastFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6871444A8B0007C6459 /* ShoutcastFile.cpp */; }; - E49912AF174E5D9900741B6D /* SIDFileDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17510D25F9FA00618676 /* SIDFileDirectory.cpp */; }; E49912B0174E5D9900741B6D /* SlingboxDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D65C1444A7A3007C6459 /* SlingboxDirectory.cpp */; }; E49912B1174E5D9900741B6D /* SlingboxFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF93D6891444A8B0007C6459 /* SlingboxFile.cpp */; }; E49912B2174E5D9900741B6D /* SmartPlaylistDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */; }; @@ -2755,15 +2706,10 @@ E4991386174E5F0E00741B6D /* karaokevideobackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF07252C168734D7008DCAAD /* karaokevideobackground.cpp */; }; E4991387174E5F0E00741B6D /* karaokewindowbackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56A084A0F4A18FB003F9F87 /* karaokewindowbackground.cpp */; }; E4991388174E5F0E00741B6D /* MusicInfoTag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C85E129423A7009E7A26 /* MusicInfoTag.cpp */; }; - E4991389174E5F0E00741B6D /* MusicInfoTagLoaderASAP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C864129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp */; }; E499138A174E5F0E00741B6D /* MusicInfoTagLoaderCDDA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C866129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp */; }; E499138B174E5F0E00741B6D /* MusicInfoTagLoaderDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C868129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp */; }; E499138C174E5F0E00741B6D /* MusicInfoTagLoaderFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86A129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp */; }; - E499138D174E5F0E00741B6D /* MusicInfoTagLoaderMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C86E129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp */; }; - E499138E174E5F0E00741B6D /* MusicInfoTagLoaderNSF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C878129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp */; }; E499138F174E5F0E00741B6D /* MusicInfoTagLoaderShn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87C129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp */; }; - E4991390174E5F0E00741B6D /* MusicInfoTagLoaderSPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C87E129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp */; }; - E4991392174E5F0E00741B6D /* MusicInfoTagLoaderYM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18B7C886129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp */; }; E4991393174E5F0E00741B6D /* TagLibVFSStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AE84CB5915A5B8A600A3810E /* TagLibVFSStream.cpp */; }; E4991394174E5F0E00741B6D /* TagLoaderTagLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AEC0083015ACAC6E0099888C /* TagLoaderTagLib.cpp */; }; E4991395174E5F0E00741B6D /* GUIWindowMusicBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E180D0D25F9FA00618676 /* GUIWindowMusicBase.cpp */; }; @@ -3237,7 +3183,6 @@ F5D8EF5B103912A4004A11AB /* DVDSubtitleParserVplayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D8EF59103912A4004A11AB /* DVDSubtitleParserVplayer.cpp */; }; F5DB700217322DBB00D4DF21 /* FavouritesOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DB700017322DBB00D4DF21 /* FavouritesOperations.cpp */; }; F5DC87E2110A287400EE1B15 /* RingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DC87E1110A287400EE1B15 /* RingBuffer.cpp */; }; - F5DC8801110A46C700EE1B15 /* ModplugCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5DC8800110A46C700EE1B15 /* ModplugCodec.cpp */; }; F5E10537140AA38100175026 /* PeripheralBusUSB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E10513140AA38000175026 /* PeripheralBusUSB.cpp */; }; F5E10538140AA38100175026 /* PeripheralBus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E10515140AA38000175026 /* PeripheralBus.cpp */; }; F5E1053B140AA38100175026 /* Peripheral.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E1051C140AA38000175026 /* Peripheral.cpp */; }; @@ -3254,7 +3199,6 @@ F5E55B5D10741272006E788A /* DVDPlayerTeletext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E55B5B10741272006E788A /* DVDPlayerTeletext.cpp */; }; F5E55B66107412DE006E788A /* GUIDialogTeletext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E55B65107412DE006E788A /* GUIDialogTeletext.cpp */; }; F5E55B7010741340006E788A /* Teletext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E55B6E10741340006E788A /* Teletext.cpp */; }; - F5E560BC10770F9F006E788A /* OggCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E560BB10770F9F006E788A /* OggCallback.cpp */; }; F5E5697310803FC3006E788A /* fastmemcpy.c in Sources */ = {isa = PBXBuildFile; fileRef = F5E5697210803FC3006E788A /* fastmemcpy.c */; }; F5E56BA61082A675006E788A /* PosixMountProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E56BA51082A675006E788A /* PosixMountProvider.cpp */; }; F5EA02260F6DA990005C2EC5 /* CocoaPowerSyscall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5EA02200F6DA85C005C2EC5 /* CocoaPowerSyscall.cpp */; }; @@ -3270,7 +3214,6 @@ F5F244651110DC6B009126C6 /* FileOperationJob.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F244641110DC6B009126C6 /* FileOperationJob.cpp */; }; F5F245EE1112C9AB009126C6 /* FileUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F245EC1112C9AB009126C6 /* FileUtils.cpp */; }; F5F2EF4B0E593E0D0092C37F /* DVDFileInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F2EF4A0E593E0D0092C37F /* DVDFileInfo.cpp */; }; - F5F8E1DA0E427E8000A8E96F /* VGMCodec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F8E1D90E427E8000A8E96F /* VGMCodec.cpp */; }; F5F8E1E80E427F6700A8E96F /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5F8E1E60E427F6700A8E96F /* md5.cpp */; }; F5FDF51D0E7218950005B0A6 /* AsyncFileCopy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5FDF51C0E7218950005B0A6 /* AsyncFileCopy.cpp */; }; /* End PBXBuildFile section */ @@ -3510,24 +3453,14 @@ 18B7C85C129423A7009E7A26 /* ImusicInfoTagLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImusicInfoTagLoader.h; sourceTree = "<group>"; }; 18B7C85E129423A7009E7A26 /* MusicInfoTag.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTag.cpp; sourceTree = "<group>"; }; 18B7C85F129423A7009E7A26 /* MusicInfoTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTag.h; sourceTree = "<group>"; }; - 18B7C864129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderASAP.cpp; sourceTree = "<group>"; }; - 18B7C865129423A7009E7A26 /* MusicInfoTagLoaderASAP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderASAP.h; sourceTree = "<group>"; }; 18B7C866129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderCDDA.cpp; sourceTree = "<group>"; }; 18B7C867129423A7009E7A26 /* MusicInfoTagLoaderCDDA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderCDDA.h; sourceTree = "<group>"; }; 18B7C868129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderDatabase.cpp; sourceTree = "<group>"; }; 18B7C869129423A7009E7A26 /* MusicInfoTagLoaderDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderDatabase.h; sourceTree = "<group>"; }; 18B7C86A129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderFactory.cpp; sourceTree = "<group>"; }; 18B7C86B129423A7009E7A26 /* MusicInfoTagLoaderFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderFactory.h; sourceTree = "<group>"; }; - 18B7C86E129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderMidi.cpp; sourceTree = "<group>"; }; - 18B7C86F129423A7009E7A26 /* MusicInfoTagLoaderMidi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderMidi.h; sourceTree = "<group>"; }; - 18B7C878129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderNSF.cpp; sourceTree = "<group>"; }; - 18B7C879129423A7009E7A26 /* MusicInfoTagLoaderNSF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderNSF.h; sourceTree = "<group>"; }; 18B7C87C129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderShn.cpp; sourceTree = "<group>"; }; 18B7C87D129423A7009E7A26 /* MusicInfoTagLoaderShn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderShn.h; sourceTree = "<group>"; }; - 18B7C87E129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderSPC.cpp; sourceTree = "<group>"; }; - 18B7C87F129423A7009E7A26 /* MusicInfoTagLoaderSPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderSPC.h; sourceTree = "<group>"; }; - 18B7C886129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicInfoTagLoaderYM.cpp; sourceTree = "<group>"; }; - 18B7C887129423A7009E7A26 /* MusicInfoTagLoaderYM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicInfoTagLoaderYM.h; sourceTree = "<group>"; }; 18B7C8CB12942546009E7A26 /* ButtonTranslator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ButtonTranslator.cpp; sourceTree = "<group>"; }; 18B7C8CC12942546009E7A26 /* ButtonTranslator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ButtonTranslator.h; sourceTree = "<group>"; }; 18B7C8CF12942546009E7A26 /* KeyboardStat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyboardStat.cpp; sourceTree = "<group>"; }; @@ -4271,11 +4204,6 @@ 8883CEA60DD81807004E8B72 /* DVDSubtitlesLibass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVDSubtitlesLibass.h; sourceTree = "<group>"; }; 889B4D8C0E0EF86C00FAD25E /* RSSDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RSSDirectory.cpp; sourceTree = "<group>"; }; 889B4D8D0E0EF86C00FAD25E /* RSSDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSSDirectory.h; sourceTree = "<group>"; }; - 88ACB0190DCF40800083CFDF /* ASAPFileDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASAPFileDirectory.cpp; sourceTree = "<group>"; }; - 88ACB01A0DCF40800083CFDF /* ASAPFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASAPFileDirectory.h; sourceTree = "<group>"; }; - 88ACB01C0DCF409E0083CFDF /* ASAPCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASAPCodec.cpp; sourceTree = "<group>"; }; - 88ACB01D0DCF409E0083CFDF /* ASAPCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASAPCodec.h; sourceTree = "<group>"; }; - 88ACB01E0DCF409E0083CFDF /* DllASAP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllASAP.h; sourceTree = "<group>"; }; 88ECB6580DE013C4003396A7 /* DiskArbitration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiskArbitration.framework; path = /System/Library/Frameworks/DiskArbitration.framework; sourceTree = "<absolute>"; }; 8DD76F7E0486A8DE00D96B5E /* Kodi */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Kodi; sourceTree = BUILT_PRODUCTS_DIR; }; AE4E87A517354C4A00D15206 /* XSLTUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUtils.cpp; sourceTree = "<group>"; }; @@ -4960,24 +4888,7 @@ E38E15E50D25F9FA00618676 /* CachingCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachingCodec.h; sourceTree = "<group>"; }; E38E15E80D25F9FA00618676 /* CodecFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodecFactory.cpp; sourceTree = "<group>"; }; E38E15E90D25F9FA00618676 /* CodecFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodecFactory.h; sourceTree = "<group>"; }; - E38E15FA0D25F9FA00618676 /* DllNosefart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllNosefart.h; sourceTree = "<group>"; }; - E38E15FB0D25F9FA00618676 /* DllSidplay2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllSidplay2.h; sourceTree = "<group>"; }; - E38E15FC0D25F9FA00618676 /* DllStSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllStSound.h; sourceTree = "<group>"; }; - E38E15FD0D25F9FA00618676 /* DllTimidity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllTimidity.h; sourceTree = "<group>"; }; - E38E15FE0D25F9FA00618676 /* DllVorbisfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllVorbisfile.h; sourceTree = "<group>"; }; E38E160E0D25F9FA00618676 /* ICodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ICodec.h; sourceTree = "<group>"; }; - E38E161B0D25F9FA00618676 /* NSFCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NSFCodec.cpp; sourceTree = "<group>"; }; - E38E161C0D25F9FA00618676 /* NSFCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSFCodec.h; sourceTree = "<group>"; }; - E38E16230D25F9FA00618676 /* OGGcodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OGGcodec.cpp; sourceTree = "<group>"; }; - E38E16240D25F9FA00618676 /* OGGcodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OGGcodec.h; sourceTree = "<group>"; }; - E38E16310D25F9FA00618676 /* SIDCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SIDCodec.cpp; sourceTree = "<group>"; }; - E38E16320D25F9FA00618676 /* SIDCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SIDCodec.h; sourceTree = "<group>"; }; - E38E16350D25F9FA00618676 /* SPCCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPCCodec.cpp; sourceTree = "<group>"; }; - E38E16360D25F9FA00618676 /* SPCCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPCCodec.h; sourceTree = "<group>"; }; - E38E16370D25F9FA00618676 /* TimidityCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimidityCodec.cpp; sourceTree = "<group>"; }; - E38E16380D25F9FA00618676 /* TimidityCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimidityCodec.h; sourceTree = "<group>"; }; - E38E16410D25F9FA00618676 /* YMCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = YMCodec.cpp; sourceTree = "<group>"; }; - E38E16420D25F9FA00618676 /* YMCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMCodec.h; sourceTree = "<group>"; }; E38E165F0D25F9FA00618676 /* LinuxRendererGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinuxRendererGL.cpp; sourceTree = "<group>"; }; E38E16600D25F9FA00618676 /* LinuxRendererGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinuxRendererGL.h; sourceTree = "<group>"; }; E38E16650D25F9FA00618676 /* RenderManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderManager.cpp; sourceTree = "<group>"; }; @@ -5080,10 +4991,6 @@ E38E17380D25F9FA00618676 /* MusicDatabaseDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicDatabaseDirectory.h; sourceTree = "<group>"; }; E38E17390D25F9FA00618676 /* MusicSearchDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicSearchDirectory.cpp; sourceTree = "<group>"; }; E38E173A0D25F9FA00618676 /* MusicSearchDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicSearchDirectory.h; sourceTree = "<group>"; }; - E38E173C0D25F9FA00618676 /* NSFFileDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NSFFileDirectory.cpp; sourceTree = "<group>"; }; - E38E173D0D25F9FA00618676 /* NSFFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSFFileDirectory.h; sourceTree = "<group>"; }; - E38E173E0D25F9FA00618676 /* OGGFileDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OGGFileDirectory.cpp; sourceTree = "<group>"; }; - E38E173F0D25F9FA00618676 /* OGGFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OGGFileDirectory.h; sourceTree = "<group>"; }; E38E17400D25F9FA00618676 /* PlaylistDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlaylistDirectory.cpp; sourceTree = "<group>"; }; E38E17410D25F9FA00618676 /* PlaylistDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlaylistDirectory.h; sourceTree = "<group>"; }; E38E17420D25F9FA00618676 /* PlaylistFileDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlaylistFileDirectory.cpp; sourceTree = "<group>"; }; @@ -5096,8 +5003,6 @@ E38E17490D25F9FA00618676 /* RarManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RarManager.h; sourceTree = "<group>"; }; E38E174B0D25F9FA00618676 /* RTVDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTVDirectory.cpp; sourceTree = "<group>"; }; E38E174C0D25F9FA00618676 /* RTVDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTVDirectory.h; sourceTree = "<group>"; }; - E38E17510D25F9FA00618676 /* SIDFileDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SIDFileDirectory.cpp; sourceTree = "<group>"; }; - E38E17520D25F9FA00618676 /* SIDFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SIDFileDirectory.h; sourceTree = "<group>"; }; E38E17530D25F9FA00618676 /* SmartPlaylistDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SmartPlaylistDirectory.cpp; sourceTree = "<group>"; }; E38E17540D25F9FA00618676 /* SmartPlaylistDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmartPlaylistDirectory.h; sourceTree = "<group>"; }; E38E17560D25F9FA00618676 /* SMBDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMBDirectory.h; sourceTree = "<group>"; }; @@ -5819,8 +5724,6 @@ F5DB700117322DBB00D4DF21 /* FavouritesOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavouritesOperations.h; sourceTree = "<group>"; }; F5DC87E0110A287400EE1B15 /* RingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RingBuffer.h; sourceTree = "<group>"; }; F5DC87E1110A287400EE1B15 /* RingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RingBuffer.cpp; sourceTree = "<group>"; }; - F5DC87FF110A46C700EE1B15 /* ModplugCodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModplugCodec.h; sourceTree = "<group>"; }; - F5DC8800110A46C700EE1B15 /* ModplugCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ModplugCodec.cpp; sourceTree = "<group>"; }; F5E10513140AA38000175026 /* PeripheralBusUSB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PeripheralBusUSB.cpp; sourceTree = "<group>"; }; F5E10514140AA38000175026 /* PeripheralBusUSB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PeripheralBusUSB.h; sourceTree = "<group>"; }; F5E10515140AA38000175026 /* PeripheralBus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PeripheralBus.cpp; sourceTree = "<group>"; }; @@ -5855,8 +5758,6 @@ F5E55B6D10741340006E788A /* Teletext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Teletext.h; sourceTree = "<group>"; }; F5E55B6E10741340006E788A /* Teletext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Teletext.cpp; sourceTree = "<group>"; }; F5E55B6F10741340006E788A /* TeletextDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeletextDefines.h; sourceTree = "<group>"; }; - F5E560BA10770F9F006E788A /* OggCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OggCallback.h; sourceTree = "<group>"; }; - F5E560BB10770F9F006E788A /* OggCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OggCallback.cpp; sourceTree = "<group>"; }; F5E5697210803FC3006E788A /* fastmemcpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fastmemcpy.c; sourceTree = "<group>"; }; F5E56BA41082A675006E788A /* PosixMountProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PosixMountProvider.h; sourceTree = "<group>"; }; F5E56BA51082A675006E788A /* PosixMountProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PosixMountProvider.cpp; sourceTree = "<group>"; }; @@ -5880,8 +5781,6 @@ F5F245ED1112C9AB009126C6 /* FileUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileUtils.h; sourceTree = "<group>"; }; F5F2EF490E593E0D0092C37F /* DVDFileInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DVDFileInfo.h; sourceTree = "<group>"; }; F5F2EF4A0E593E0D0092C37F /* DVDFileInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DVDFileInfo.cpp; sourceTree = "<group>"; }; - F5F8E1D80E427E8000A8E96F /* VGMCodec.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = VGMCodec.h; sourceTree = "<group>"; }; - F5F8E1D90E427E8000A8E96F /* VGMCodec.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = VGMCodec.cpp; sourceTree = "<group>"; }; F5F8E1E60E427F6700A8E96F /* md5.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = md5.cpp; sourceTree = "<group>"; }; F5F8E1E70E427F6700A8E96F /* md5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; }; F5FDF51B0E7218950005B0A6 /* AsyncFileCopy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AsyncFileCopy.h; sourceTree = "<group>"; }; @@ -6306,24 +6205,14 @@ 18B7C85C129423A7009E7A26 /* ImusicInfoTagLoader.h */, 18B7C85E129423A7009E7A26 /* MusicInfoTag.cpp */, 18B7C85F129423A7009E7A26 /* MusicInfoTag.h */, - 18B7C864129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp */, - 18B7C865129423A7009E7A26 /* MusicInfoTagLoaderASAP.h */, 18B7C866129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp */, 18B7C867129423A7009E7A26 /* MusicInfoTagLoaderCDDA.h */, 18B7C868129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp */, 18B7C869129423A7009E7A26 /* MusicInfoTagLoaderDatabase.h */, 18B7C86A129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp */, 18B7C86B129423A7009E7A26 /* MusicInfoTagLoaderFactory.h */, - 18B7C86E129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp */, - 18B7C86F129423A7009E7A26 /* MusicInfoTagLoaderMidi.h */, - 18B7C878129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp */, - 18B7C879129423A7009E7A26 /* MusicInfoTagLoaderNSF.h */, 18B7C87C129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp */, 18B7C87D129423A7009E7A26 /* MusicInfoTagLoaderShn.h */, - 18B7C87E129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp */, - 18B7C87F129423A7009E7A26 /* MusicInfoTagLoaderSPC.h */, - 18B7C886129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp */, - 18B7C887129423A7009E7A26 /* MusicInfoTagLoaderYM.h */, 5EF800FE1A97892A0035AA4D /* ReplayGain.cpp */, 5EF800FF1A97892A0035AA4D /* ReplayGain.h */, AE84CB5915A5B8A600A3810E /* TagLibVFSStream.cpp */, @@ -8708,8 +8597,6 @@ E38E15D20D25F9FA00618676 /* paplayer */ = { isa = PBXGroup; children = ( - 88ACB01C0DCF409E0083CFDF /* ASAPCodec.cpp */, - 88ACB01D0DCF409E0083CFDF /* ASAPCodec.h */, E38E15E30D25F9FA00618676 /* AudioDecoder.cpp */, E38E15E40D25F9FA00618676 /* AudioDecoder.h */, E38E15E50D25F9FA00618676 /* CachingCodec.h */, @@ -8718,26 +8605,8 @@ E36578860D3AA7B40033CC1C /* DVDPlayerCodec.cpp */, E36578870D3AA7B40033CC1C /* DVDPlayerCodec.h */, E38E160E0D25F9FA00618676 /* ICodec.h */, - F5DC8800110A46C700EE1B15 /* ModplugCodec.cpp */, - F5DC87FF110A46C700EE1B15 /* ModplugCodec.h */, - E38E161B0D25F9FA00618676 /* NSFCodec.cpp */, - E38E161C0D25F9FA00618676 /* NSFCodec.h */, - F5E560BB10770F9F006E788A /* OggCallback.cpp */, - F5E560BA10770F9F006E788A /* OggCallback.h */, - E38E16230D25F9FA00618676 /* OGGcodec.cpp */, - E38E16240D25F9FA00618676 /* OGGcodec.h */, F5987FDA0FBE2DFD008EF4FB /* PAPlayer.cpp */, F5987FD90FBE2DFD008EF4FB /* PAPlayer.h */, - E38E16310D25F9FA00618676 /* SIDCodec.cpp */, - E38E16320D25F9FA00618676 /* SIDCodec.h */, - E38E16350D25F9FA00618676 /* SPCCodec.cpp */, - E38E16360D25F9FA00618676 /* SPCCodec.h */, - E38E16370D25F9FA00618676 /* TimidityCodec.cpp */, - E38E16380D25F9FA00618676 /* TimidityCodec.h */, - F5F8E1D90E427E8000A8E96F /* VGMCodec.cpp */, - F5F8E1D80E427E8000A8E96F /* VGMCodec.h */, - E38E16410D25F9FA00618676 /* YMCodec.cpp */, - E38E16420D25F9FA00618676 /* YMCodec.h */, ); path = paplayer; sourceTree = "<group>"; @@ -8791,8 +8660,6 @@ children = ( F5A7B42B113CBB950059D6AA /* AddonsDirectory.cpp */, F5A7B42A113CBB950059D6AA /* AddonsDirectory.h */, - 88ACB0190DCF40800083CFDF /* ASAPFileDirectory.cpp */, - 88ACB01A0DCF40800083CFDF /* ASAPFileDirectory.h */, F5ED8D6A1551F91400842059 /* BlurayDirectory.cpp */, F5ED8D6B1551F91400842059 /* BlurayDirectory.h */, B5101B5719DFF8DD00294D1E /* BlurayFile.cpp */, @@ -8886,10 +8753,6 @@ DF93D67D1444A8B0007C6459 /* NFSFile.cpp */, DF93D67E1444A8B0007C6459 /* NFSFile.h */, E4E91BB70E7F7338001F0546 /* NptXbmcFile.cpp */, - E38E173C0D25F9FA00618676 /* NSFFileDirectory.cpp */, - E38E173D0D25F9FA00618676 /* NSFFileDirectory.h */, - E38E173E0D25F9FA00618676 /* OGGFileDirectory.cpp */, - E38E173F0D25F9FA00618676 /* OGGFileDirectory.h */, DF6A0D7D1A4584E80075BBFC /* OverrideDirectory.cpp */, DF6A0D7E1A4584E80075BBFC /* OverrideDirectory.h */, DF6A0D7F1A4584E80075BBFC /* OverrideFile.cpp */, @@ -8935,8 +8798,6 @@ DF93D6861444A8B0007C6459 /* SFTPFile.h */, DF93D6871444A8B0007C6459 /* ShoutcastFile.cpp */, DF93D6881444A8B0007C6459 /* ShoutcastFile.h */, - E38E17510D25F9FA00618676 /* SIDFileDirectory.cpp */, - E38E17520D25F9FA00618676 /* SIDFileDirectory.h */, DF93D65C1444A7A3007C6459 /* SlingboxDirectory.cpp */, DF93D65B1444A7A3007C6459 /* SlingboxDirectory.h */, DF93D6891444A8B0007C6459 /* SlingboxFile.cpp */, @@ -9081,12 +8942,6 @@ E38E1A550D25F9FB00618676 /* libUPnP */, E38E1C840D25F9FC00618676 /* libXDAAP */, E38E1CE40D25F9FC00618676 /* UnrarXLib */, - 88ACB01E0DCF409E0083CFDF /* DllASAP.h */, - E38E15FA0D25F9FA00618676 /* DllNosefart.h */, - E38E15FB0D25F9FA00618676 /* DllSidplay2.h */, - E38E15FC0D25F9FA00618676 /* DllStSound.h */, - E38E15FD0D25F9FA00618676 /* DllTimidity.h */, - E38E15FE0D25F9FA00618676 /* DllVorbisfile.h */, ); path = lib; sourceTree = "<group>"; @@ -10356,12 +10211,6 @@ E38E1FAF0D25F9FD00618676 /* DVDSubtitleStream.cpp in Sources */, E38E1FC50D25F9FD00618676 /* AudioDecoder.cpp in Sources */, E38E1FC70D25F9FD00618676 /* CodecFactory.cpp in Sources */, - E38E1FD10D25F9FD00618676 /* NSFCodec.cpp in Sources */, - E38E1FD20D25F9FD00618676 /* OGGcodec.cpp in Sources */, - E38E1FD90D25F9FD00618676 /* SIDCodec.cpp in Sources */, - E38E1FDA0D25F9FD00618676 /* SPCCodec.cpp in Sources */, - E38E1FDB0D25F9FD00618676 /* TimidityCodec.cpp in Sources */, - E38E1FDF0D25F9FD00618676 /* YMCodec.cpp in Sources */, E38E1FE90D25F9FD00618676 /* LinuxRendererGL.cpp in Sources */, E38E1FEC0D25F9FD00618676 /* RenderManager.cpp in Sources */, E38E1FF00D25F9FD00618676 /* VideoFilterShader.cpp in Sources */, @@ -10413,8 +10262,6 @@ E38E20490D25F9FD00618676 /* QueryParams.cpp in Sources */, E38E204A0D25F9FD00618676 /* MusicDatabaseDirectory.cpp in Sources */, E38E204B0D25F9FD00618676 /* MusicSearchDirectory.cpp in Sources */, - E38E204D0D25F9FD00618676 /* NSFFileDirectory.cpp in Sources */, - E38E204E0D25F9FD00618676 /* OGGFileDirectory.cpp in Sources */, E38E204F0D25F9FD00618676 /* PlaylistDirectory.cpp in Sources */, E38E20500D25F9FD00618676 /* PlaylistFileDirectory.cpp in Sources */, E38E20510D25F9FD00618676 /* PluginDirectory.cpp in Sources */, @@ -10422,7 +10269,6 @@ E38E20530D25F9FD00618676 /* RarManager.cpp in Sources */, E38E20540D25F9FD00618676 /* RTVDirectory.cpp in Sources */, 395C29C51A98A0E100EBC7AD /* ILanguageInvoker.cpp in Sources */, - E38E20570D25F9FD00618676 /* SIDFileDirectory.cpp in Sources */, E38E20580D25F9FD00618676 /* SmartPlaylistDirectory.cpp in Sources */, E38E205B0D25F9FD00618676 /* StackDirectory.cpp in Sources */, E38E205C0D25F9FD00618676 /* UPnPDirectory.cpp in Sources */, @@ -10641,8 +10487,6 @@ E36C29EC0DA72486001F0C9D /* Fanart.cpp in Sources */, 880DBE4E0DC223FF00E26B71 /* MediaSource.cpp in Sources */, 880DBE550DC224A100E26B71 /* MusicFileDirectory.cpp in Sources */, - 88ACB01B0DCF40800083CFDF /* ASAPFileDirectory.cpp in Sources */, - 88ACB01F0DCF409E0083CFDF /* ASAPCodec.cpp in Sources */, 8883CEA10DD817D1004E8B72 /* DVDOverlayCodecSSA.cpp in Sources */, 8883CEA70DD81807004E8B72 /* DVDSubtitleParserSSA.cpp in Sources */, 8883CEA80DD81807004E8B72 /* DVDSubtitlesLibass.cpp in Sources */, @@ -10653,7 +10497,6 @@ 8863281F0E07B37200BB3DAB /* GUIViewStatePrograms.cpp in Sources */, 889B4D8E0E0EF86C00FAD25E /* RSSDirectory.cpp in Sources */, 815EE6350E17F1DC009FBE3C /* DVDInputStreamRTMP.cpp in Sources */, - F5F8E1DA0E427E8000A8E96F /* VGMCodec.cpp in Sources */, F5F8E1E80E427F6700A8E96F /* md5.cpp in Sources */, F506297A0E57B9680066625A /* MultiPathFile.cpp in Sources */, DFEB902819E9337200728978 /* AEResampleFactory.cpp in Sources */, @@ -10718,7 +10561,6 @@ F5E55B5D10741272006E788A /* DVDPlayerTeletext.cpp in Sources */, F5E55B66107412DE006E788A /* GUIDialogTeletext.cpp in Sources */, F5E55B7010741340006E788A /* Teletext.cpp in Sources */, - F5E560BC10770F9F006E788A /* OggCallback.cpp in Sources */, 43348AA4107747CD00F859CF /* Edl.cpp in Sources */, 43348AAE1077486D00F859CF /* PlayerCoreFactory.cpp in Sources */, 43348AAF1077486D00F859CF /* PlayerSelectionRule.cpp in Sources */, @@ -10735,7 +10577,6 @@ 7C45DBE910F325C400D4BBF3 /* DAVDirectory.cpp in Sources */, F592568810FBF2E100D2C91D /* ConvolutionKernels.cpp in Sources */, F5DC87E2110A287400EE1B15 /* RingBuffer.cpp in Sources */, - F5DC8801110A46C700EE1B15 /* ModplugCodec.cpp in Sources */, F5F244651110DC6B009126C6 /* FileOperationJob.cpp in Sources */, F5F245EE1112C9AB009126C6 /* FileUtils.cpp in Sources */, F5A7A702112893E50059D6AA /* AnnouncementManager.cpp in Sources */, @@ -10854,15 +10695,10 @@ 18B7C7FC1294222E009E7A26 /* XBTF.cpp in Sources */, 18B7C7FD1294222E009E7A26 /* XBTFReader.cpp in Sources */, 18B7C890129423A7009E7A26 /* MusicInfoTag.cpp in Sources */, - 18B7C893129423A7009E7A26 /* MusicInfoTagLoaderASAP.cpp in Sources */, 18B7C894129423A7009E7A26 /* MusicInfoTagLoaderCDDA.cpp in Sources */, 18B7C895129423A7009E7A26 /* MusicInfoTagLoaderDatabase.cpp in Sources */, 18B7C896129423A7009E7A26 /* MusicInfoTagLoaderFactory.cpp in Sources */, - 18B7C898129423A7009E7A26 /* MusicInfoTagLoaderMidi.cpp in Sources */, - 18B7C89D129423A7009E7A26 /* MusicInfoTagLoaderNSF.cpp in Sources */, 18B7C89F129423A7009E7A26 /* MusicInfoTagLoaderShn.cpp in Sources */, - 18B7C8A0129423A7009E7A26 /* MusicInfoTagLoaderSPC.cpp in Sources */, - 18B7C8A4129423A7009E7A26 /* MusicInfoTagLoaderYM.cpp in Sources */, 18B7C8D712942546009E7A26 /* ButtonTranslator.cpp in Sources */, 18B7C8D912942546009E7A26 /* KeyboardStat.cpp in Sources */, 18B7C8DA12942546009E7A26 /* MouseStat.cpp in Sources */, @@ -11517,20 +11353,10 @@ B5011E4319AF3B56005ADF89 /* PosixFile.cpp in Sources */, DFF0F19E17528350002DA3A4 /* Edl.cpp in Sources */, DFF0F19F17528350002DA3A4 /* ExternalPlayer.cpp in Sources */, - DFF0F1A117528350002DA3A4 /* ASAPCodec.cpp in Sources */, DFF0F1A217528350002DA3A4 /* AudioDecoder.cpp in Sources */, DFF0F1A317528350002DA3A4 /* CodecFactory.cpp in Sources */, DFF0F1A417528350002DA3A4 /* DVDPlayerCodec.cpp in Sources */, - DFF0F1A617528350002DA3A4 /* ModplugCodec.cpp in Sources */, - DFF0F1A817528350002DA3A4 /* NSFCodec.cpp in Sources */, - DFF0F1A917528350002DA3A4 /* OggCallback.cpp in Sources */, - DFF0F1AA17528350002DA3A4 /* OGGcodec.cpp in Sources */, DFF0F1AB17528350002DA3A4 /* PAPlayer.cpp in Sources */, - DFF0F1AD17528350002DA3A4 /* SIDCodec.cpp in Sources */, - DFF0F1AE17528350002DA3A4 /* SPCCodec.cpp in Sources */, - DFF0F1AF17528350002DA3A4 /* TimidityCodec.cpp in Sources */, - DFF0F1B017528350002DA3A4 /* VGMCodec.cpp in Sources */, - DFF0F1B217528350002DA3A4 /* YMCodec.cpp in Sources */, DFF0F1B317528350002DA3A4 /* PlayerCoreFactory.cpp in Sources */, DFF0F1B417528350002DA3A4 /* PlayerSelectionRule.cpp in Sources */, DFF0F1B517528350002DA3A4 /* ConvolutionKernels.cpp in Sources */, @@ -11584,7 +11410,6 @@ DFF0F1E417528350002DA3A4 /* GUIDialogVolumeBar.cpp in Sources */, DFF0F1E517528350002DA3A4 /* GUIDialogYesNo.cpp in Sources */, DFF0F1E617528350002DA3A4 /* AddonsDirectory.cpp in Sources */, - DFF0F1E917528350002DA3A4 /* ASAPFileDirectory.cpp in Sources */, DFF0F1EA17528350002DA3A4 /* BlurayDirectory.cpp in Sources */, DFF0F1EB17528350002DA3A4 /* CacheStrategy.cpp in Sources */, DFF0F1EC17528350002DA3A4 /* CDDADirectory.cpp in Sources */, @@ -11652,8 +11477,6 @@ DFF0F23017528350002DA3A4 /* NFSFile.cpp in Sources */, DFF0F23117528350002DA3A4 /* NptXbmcFile.cpp in Sources */, 395C29D71A98A11C00EBC7AD /* WsgiErrorStream.cpp in Sources */, - DFF0F23217528350002DA3A4 /* NSFFileDirectory.cpp in Sources */, - DFF0F23317528350002DA3A4 /* OGGFileDirectory.cpp in Sources */, DFF0F23417528350002DA3A4 /* PipeFile.cpp in Sources */, DFF0F23517528350002DA3A4 /* PipesManager.cpp in Sources */, DFF0F23617528350002DA3A4 /* PlaylistDirectory.cpp in Sources */, @@ -11673,7 +11496,6 @@ 395C29C71A98A0E100EBC7AD /* ILanguageInvoker.cpp in Sources */, DFF0F24417528350002DA3A4 /* SFTPFile.cpp in Sources */, DFF0F24517528350002DA3A4 /* ShoutcastFile.cpp in Sources */, - DFF0F24617528350002DA3A4 /* SIDFileDirectory.cpp in Sources */, DFF0F24717528350002DA3A4 /* SlingboxDirectory.cpp in Sources */, DFF0F24817528350002DA3A4 /* SlingboxFile.cpp in Sources */, DFF0F24917528350002DA3A4 /* SmartPlaylistDirectory.cpp in Sources */, @@ -11870,15 +11692,10 @@ DFF0F30517528350002DA3A4 /* karaokevideobackground.cpp in Sources */, DFF0F30617528350002DA3A4 /* karaokewindowbackground.cpp in Sources */, DFF0F30717528350002DA3A4 /* MusicInfoTag.cpp in Sources */, - DFF0F30817528350002DA3A4 /* MusicInfoTagLoaderASAP.cpp in Sources */, DFF0F30917528350002DA3A4 /* MusicInfoTagLoaderCDDA.cpp in Sources */, DFF0F30A17528350002DA3A4 /* MusicInfoTagLoaderDatabase.cpp in Sources */, DFF0F30B17528350002DA3A4 /* MusicInfoTagLoaderFactory.cpp in Sources */, - DFF0F30C17528350002DA3A4 /* MusicInfoTagLoaderMidi.cpp in Sources */, - DFF0F30D17528350002DA3A4 /* MusicInfoTagLoaderNSF.cpp in Sources */, DFF0F30E17528350002DA3A4 /* MusicInfoTagLoaderShn.cpp in Sources */, - DFF0F30F17528350002DA3A4 /* MusicInfoTagLoaderSPC.cpp in Sources */, - DFF0F31117528350002DA3A4 /* MusicInfoTagLoaderYM.cpp in Sources */, DFF0F31217528350002DA3A4 /* TagLibVFSStream.cpp in Sources */, DFF0F31317528350002DA3A4 /* TagLoaderTagLib.cpp in Sources */, DFF0F31417528350002DA3A4 /* GUIWindowMusicBase.cpp in Sources */, @@ -12571,21 +12388,11 @@ E4991205174E5D4500741B6D /* DVDTSCorrection.cpp in Sources */, E4991206174E5D4500741B6D /* Edl.cpp in Sources */, E4991207174E5D4A00741B6D /* ExternalPlayer.cpp in Sources */, - E4991209174E5D5A00741B6D /* ASAPCodec.cpp in Sources */, 395C29FC1A9CD20C00EBC7AD /* ContextMenuManager.cpp in Sources */, E499120A174E5D5A00741B6D /* AudioDecoder.cpp in Sources */, E499120B174E5D5A00741B6D /* CodecFactory.cpp in Sources */, E499120C174E5D5A00741B6D /* DVDPlayerCodec.cpp in Sources */, - E499120E174E5D5A00741B6D /* ModplugCodec.cpp in Sources */, - E4991210174E5D5A00741B6D /* NSFCodec.cpp in Sources */, - E4991211174E5D5A00741B6D /* OggCallback.cpp in Sources */, - E4991212174E5D5A00741B6D /* OGGcodec.cpp in Sources */, E4991213174E5D5A00741B6D /* PAPlayer.cpp in Sources */, - E4991215174E5D5A00741B6D /* SIDCodec.cpp in Sources */, - E4991216174E5D5A00741B6D /* SPCCodec.cpp in Sources */, - E4991217174E5D5A00741B6D /* TimidityCodec.cpp in Sources */, - E4991218174E5D5A00741B6D /* VGMCodec.cpp in Sources */, - E499121A174E5D5A00741B6D /* YMCodec.cpp in Sources */, E499121B174E5D5A00741B6D /* PlayerCoreFactory.cpp in Sources */, E499121C174E5D5A00741B6D /* PlayerSelectionRule.cpp in Sources */, E499121D174E5D5A00741B6D /* ConvolutionKernels.cpp in Sources */, @@ -12642,7 +12449,6 @@ E499124D174E5D7E00741B6D /* GUIDialogVolumeBar.cpp in Sources */, E499124E174E5D7E00741B6D /* GUIDialogYesNo.cpp in Sources */, E499124F174E5D8F00741B6D /* AddonsDirectory.cpp in Sources */, - E4991252174E5D8F00741B6D /* ASAPFileDirectory.cpp in Sources */, E4991253174E5D8F00741B6D /* BlurayDirectory.cpp in Sources */, E4991254174E5D8F00741B6D /* CacheStrategy.cpp in Sources */, E4991255174E5D8F00741B6D /* CDDADirectory.cpp in Sources */, @@ -12712,8 +12518,6 @@ E4991298174E5D9900741B6D /* NFSDirectory.cpp in Sources */, E4991299174E5D9900741B6D /* NFSFile.cpp in Sources */, E499129A174E5D9900741B6D /* NptXbmcFile.cpp in Sources */, - E499129B174E5D9900741B6D /* NSFFileDirectory.cpp in Sources */, - E499129C174E5D9900741B6D /* OGGFileDirectory.cpp in Sources */, E499129D174E5D9900741B6D /* PipeFile.cpp in Sources */, E499129E174E5D9900741B6D /* PipesManager.cpp in Sources */, E499129F174E5D9900741B6D /* PlaylistDirectory.cpp in Sources */, @@ -12733,7 +12537,6 @@ E49912AC174E5D9900741B6D /* SFTPDirectory.cpp in Sources */, E49912AD174E5D9900741B6D /* SFTPFile.cpp in Sources */, E49912AE174E5D9900741B6D /* ShoutcastFile.cpp in Sources */, - E49912AF174E5D9900741B6D /* SIDFileDirectory.cpp in Sources */, E49912B0174E5D9900741B6D /* SlingboxDirectory.cpp in Sources */, 395C29C21A98A0A000EBC7AD /* Webinterface.cpp in Sources */, E49912B1174E5D9900741B6D /* SlingboxFile.cpp in Sources */, @@ -12935,15 +12738,10 @@ E4991386174E5F0E00741B6D /* karaokevideobackground.cpp in Sources */, E4991387174E5F0E00741B6D /* karaokewindowbackground.cpp in Sources */, E4991388174E5F0E00741B6D /* MusicInfoTag.cpp in Sources */, - E4991389174E5F0E00741B6D /* MusicInfoTagLoaderASAP.cpp in Sources */, E499138A174E5F0E00741B6D /* MusicInfoTagLoaderCDDA.cpp in Sources */, E499138B174E5F0E00741B6D /* MusicInfoTagLoaderDatabase.cpp in Sources */, E499138C174E5F0E00741B6D /* MusicInfoTagLoaderFactory.cpp in Sources */, - E499138D174E5F0E00741B6D /* MusicInfoTagLoaderMidi.cpp in Sources */, - E499138E174E5F0E00741B6D /* MusicInfoTagLoaderNSF.cpp in Sources */, E499138F174E5F0E00741B6D /* MusicInfoTagLoaderShn.cpp in Sources */, - E4991390174E5F0E00741B6D /* MusicInfoTagLoaderSPC.cpp in Sources */, - E4991392174E5F0E00741B6D /* MusicInfoTagLoaderYM.cpp in Sources */, E4991393174E5F0E00741B6D /* TagLibVFSStream.cpp in Sources */, E4991394174E5F0E00741B6D /* TagLoaderTagLib.cpp in Sources */, E4991395174E5F0E00741B6D /* GUIWindowMusicBase.cpp in Sources */, diff --git a/Makefile.in b/Makefile.in index 690c4629ac..652b90efca 100644 --- a/Makefile.in +++ b/Makefile.in @@ -186,19 +186,6 @@ ifeq (@USE_OMXPLAYER@,1) DIRECTORY_ARCHIVES += xbmc/cores/omxplayer/omxplayer.a endif -PAPCODECS_DIRS= \ - lib/nosefart \ - lib/timidity \ - lib/libsidplay2 \ - lib/stsound/StSoundLibrary \ - lib/snesapu/SNES/SNESAPU \ - lib/vgmstream - -ifeq (@USE_ASAP_CODEC@,1) -PAPCODECS_DIRS+= \ - lib/asap -endif - LIB_DIRS=\ lib/cximage-6.0 \ lib/libexif \ @@ -333,7 +320,7 @@ all : $(FINAL_TARGETS) include Makefile.include -.PHONY : dllloader exports visualizations screensavers eventclients papcodecs \ +.PHONY : dllloader exports visualizations screensavers eventclients \ dvdpcodecs dvdpextcodecs imagelib codecs externals force skins libaddon check \ testframework testsuite @@ -357,7 +344,7 @@ skins: endif # Setup some dependencies for subdir makes -xbmc/cores/paplayer/paplayer.a: papcodecs +xbmc/cores/paplayer/paplayer.a: $(DVDPLAYER_ARCHIVES) : dvdpcodecs lib/cpluff/libcpluff/.libs/libcpluff.a: force @@ -420,27 +407,11 @@ libexif: dllloader $(MAKE) -C lib/libexif libhdhomerun: dllloader $(MAKE) -C lib/libhdhomerun -papcodecs: dllloader dvdpcodecs - test -d system/players/paplayer || mkdir system/players/paplayer - $(MAKE) -C lib/vgmstream - $(MAKE) -C lib/timidity - $(MAKE) -C lib/nosefart -ifneq ($(findstring arm-osx,@ARCH@), arm-osx) - $(MAKE) -C lib/libsidplay2 -endif -ifeq (@USE_ASAP_CODEC@,1) - ifneq ($(findstring osx,@ARCH@), osx) - $(MAKE) -C lib/asap asap-xbmc - endif -endif - $(MAKE) -C lib/stsound/StSoundLibrary -ifeq ($(or $(findstring powerpc,@ARCH@),$(findstring x86_64-linux,@ARCH@),$(findstring arm, @ARCH@),$(findstring freebsd,@ARCH@),$(findstring mips,@ARCH@)),) - $(MAKE) -C lib/snesapu/SNES/SNESAPU -endif + imagelib: dllloader $(MAKE) -C lib/cximage-6.0 -codecs: papcodecs dvdpcodecs dvdpextcodecs +codecs: dvdpcodecs dvdpextcodecs libs: $(LIBSSE4) libhdhomerun imagelib libexif system/libcpluff-@ARCH@.so @@ -495,7 +466,7 @@ OBJSXBMC:=$(filter-out $(DYNOBJSXBMC), $(OBJSXBMC)) BIN_DIRS = $(dir $(DIRECTORY_ARCHIVES)) $(dir $(NWAOBJSXBMC)) $(dir $(MAINOBJS)) -DIRS= $(BIN_DIRS) $(EC_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \ +DIRS= $(BIN_DIRS) $(EC_DIRS) $(DVDPCODECS_DIRS) \ $(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(LIBADDON_DIRS) $(SKIN_DIRS) xbmc/main $(NWAOBJSXBMC) $(DIRECTORY_ARCHIVES) $(MAINOBJS): force @@ -675,8 +646,6 @@ clean-eventclients: for d in $(EC_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done clean-dvdpcodecs: for d in $(DVDPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done -clean-papcodecs: - for d in $(PAPCODECS_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done clean-libs: for d in $(LIB_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done clean-screensavers: @@ -686,7 +655,7 @@ clean-visualisations: clean-libaddons: for d in $(LIBADDON_DIRS); do if test -f $$d/Makefile; then $(MAKE) -C $$d clean; fi; done -clean-codecs: clean-dvdpcodecs clean-papcodecs +clean-codecs: clean-dvdpcodecs clean-externals: clean-codecs clean-eventclients clean-libs \ clean-screensavers clean-visualisations clean-libaddons diff --git a/configure.ac b/configure.ac index 6a491b40d8..b377e8c1d2 100644 --- a/configure.ac +++ b/configure.ac @@ -1070,7 +1070,6 @@ AC_CHECK_HEADER([mpeg2dec/mpeg2convert.h],, AC_MSG_ERROR($missing_library), AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library)) -AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([LIBCURL], [libcurl],, AC_MSG_ERROR([libcurl not found])) XB_FIND_SONAME([CURL], [curl]) @@ -1282,7 +1281,6 @@ fi XB_FIND_SONAME([OGG], [ogg]) XB_FIND_SONAME([VORBIS], [vorbis]) XB_FIND_SONAME([VORBISFILE], [vorbisfile]) -XB_FIND_SONAME([MODPLUG], [modplug]) XB_FIND_SONAME([ASS], [ass]) XB_FIND_SONAME([MPEG2], [mpeg2]) @@ -2474,13 +2472,6 @@ OUTPUT_FILES="Makefile \ xbmc/cores/AudioEngine/Makefile \ xbmc/cores/paplayer/Makefile \ xbmc/cores/omxplayer/Makefile \ - lib/timidity/Makefile \ - lib/asap/Makefile \ - lib/nosefart/Makefile \ - lib/libsidplay2/Makefile \ - lib/vgmstream/Makefile \ - lib/snesapu/SNES/SNESAPU/Makefile \ - lib/stsound/StSoundLibrary/Makefile \ xbmc/cores/playercorefactory/Makefile \ xbmc/music/karaoke/Makefile \ xbmc/osx/Makefile \ @@ -2603,7 +2594,6 @@ AC_SUBST(HAVE_XBMC_NONFREE) AC_SUBST(USE_ASAP_CODEC) AC_SUBST(LIBCURL_BASENAME) AC_SUBST(LIBVORBISFILE_BASENAME) -AC_SUBST(LIBMODPLUG_BASENAME) AC_SUBST(LIBOGG_BASENAME) AC_SUBST(LIBVORBIS_BASENAME) AC_SUBST(LIBASS_BASENAME) diff --git a/lib/DllASAP.h b/lib/DllASAP.h deleted file mode 100644 index 14f0468241..0000000000 --- a/lib/DllASAP.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -typedef int abool; - -typedef struct { - char author[128]; - char name[128]; - int year; - int month; - int day; - int channels; - int duration; -} ASAP_SongInfo; - -class DllASAPInterface -{ -public: - virtual ~DllASAPInterface() {} - virtual int asapGetSongs(const char *filename)=0; - virtual abool asapGetInfo(const char *filename, int song, ASAP_SongInfo *songInfo)=0; - virtual abool asapLoad(const char *filename, int song, int *channels, int *duration)=0; - virtual void asapSeek(int position)=0; - virtual int asapGenerate(void *buffer, int buffer_len)=0; -}; - -class DllASAP : public DllDynamic, DllASAPInterface -{ - DECLARE_DLL_WRAPPER(DllASAP, DLL_PATH_ASAP_CODEC) - DEFINE_METHOD1(int, asapGetSongs, (const char *p1)) - DEFINE_METHOD3(abool, asapGetInfo, (const char *p1, int p2, ASAP_SongInfo *p3)) - DEFINE_METHOD4(abool, asapLoad, (const char *p1, int p2, int *p3, int *p4)) - DEFINE_METHOD1(void, asapSeek, (int p1)) - DEFINE_METHOD2(int, asapGenerate, (void *p1, int p2)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD(asapGetSongs) - RESOLVE_METHOD(asapGetInfo) - RESOLVE_METHOD(asapLoad) - RESOLVE_METHOD(asapSeek) - RESOLVE_METHOD(asapGenerate) - END_METHOD_RESOLVE() -}; diff --git a/lib/DllModplug.h b/lib/DllModplug.h deleted file mode 100644 index 0096afb8b4..0000000000 --- a/lib/DllModplug.h +++ /dev/null @@ -1,127 +0,0 @@ -#pragma once -/* - * Copyright (C) 2009-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#if (defined HAVE_CONFIG_H) && (!defined WIN32) - #include "config.h" -#endif -#include "DynamicDll.h" -#include "utils/log.h" - -#ifdef __linux__ -#include <libmodplug/modplug.h> -#else -#include "lib/libmodplug/src/modplug.h" -#endif - -class DllModplugInterface -{ -public: - virtual ~DllModplugInterface() {} - virtual ModPlugFile* ModPlug_Load(const void* data, int size)=0; - virtual void ModPlug_Unload(ModPlugFile* file)=0; - virtual int ModPlug_Read(ModPlugFile* file, void* buffer, int size)=0; - virtual const char* ModPlug_GetName(ModPlugFile* file)=0; - virtual int ModPlug_GetLength(ModPlugFile* file)=0; - virtual void ModPlug_Seek(ModPlugFile* file, int millisecond)=0; - virtual void ModPlug_GetSettings(ModPlug_Settings* settings)=0; - virtual void ModPlug_SetSettings(const ModPlug_Settings* settings)=0; -/* These don't exist in libmodplug under Ubuntu 8.04 (Hardy), libmodplug does not have versioning but we don't use them anyway - virtual unsigned int ModPlug_GetMasterVolume(ModPlugFile* file)=0; - virtual void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol)=0; - virtual int ModPlug_GetCurrentSpeed(ModPlugFile* file)=0; - virtual int ModPlug_GetCurrentTempo(ModPlugFile* file)=0; - virtual int ModPlug_GetCurrentOrder(ModPlugFile* file)=0; - virtual int ModPlug_GetCurrentPattern(ModPlugFile* file)=0; - virtual int ModPlug_GetCurrentRow(ModPlugFile* file)=0; - virtual int ModPlug_GetPlayingChannels(ModPlugFile* file)=0; - virtual void ModPlug_SeekOrder(ModPlugFile* file,int order)=0; - virtual int ModPlug_GetModuleType(ModPlugFile* file)=0; - virtual char* ModPlug_GetMessage(ModPlugFile* file)=0; - virtual unsigned int ModPlug_NumInstruments(ModPlugFile* file)=0; - virtual unsigned int ModPlug_NumSamples(ModPlugFile* file)=0; - virtual unsigned int ModPlug_NumPatterns(ModPlugFile* file)=0; - virtual unsigned int ModPlug_NumChannels(ModPlugFile* file)=0; - virtual unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff)=0; - virtual unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff)=0; -*/ -}; - -class DllModplug : public DllDynamic, DllModplugInterface -{ - DECLARE_DLL_WRAPPER(DllModplug, DLL_PATH_MODPLUG_CODEC) - DEFINE_METHOD2(ModPlugFile*, ModPlug_Load, (const void* p1, int p2)) - DEFINE_METHOD1(void, ModPlug_Unload, (ModPlugFile* p1)) - DEFINE_METHOD3(int, ModPlug_Read, (ModPlugFile* p1, void* p2, int p3)) - DEFINE_METHOD1(const char*, ModPlug_GetName, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetLength, (ModPlugFile* p1)) - DEFINE_METHOD2(void, ModPlug_Seek, (ModPlugFile* p1, int p2)) - DEFINE_METHOD1(void, ModPlug_GetSettings, (ModPlug_Settings* p1)) - DEFINE_METHOD1(void, ModPlug_SetSettings, (const ModPlug_Settings* p1)) -/* - DEFINE_METHOD1(unsigned int, ModPlug_GetMasterVolume, (ModPlugFile* p1)) - DEFINE_METHOD2(void, ModPlug_SetMasterVolume, (ModPlugFile* p1, unsigned int p2)) - DEFINE_METHOD1(int, ModPlug_GetCurrentSpeed, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetCurrentTempo, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetCurrentOrder, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetCurrentPattern, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetCurrentRow, (ModPlugFile* p1)) - DEFINE_METHOD1(int, ModPlug_GetPlayingChannels, (ModPlugFile* p1)) - DEFINE_METHOD2(void, ModPlug_SeekOrder, (ModPlugFile* p1, int p2)) - DEFINE_METHOD1(int, ModPlug_GetModuleType, (ModPlugFile* p1)) - DEFINE_METHOD1(char*, ModPlug_GetMessage, (ModPlugFile* p1)) - DEFINE_METHOD1(unsigned int, ModPlug_NumInstruments, (ModPlugFile* p1)) - DEFINE_METHOD1(unsigned int, ModPlug_NumSamples, (ModPlugFile* p1)) - DEFINE_METHOD1(unsigned int, ModPlug_NumPatterns, (ModPlugFile* p1)) - DEFINE_METHOD1(unsigned int, ModPlug_NumChannels, (ModPlugFile* p1)) - DEFINE_METHOD3(unsigned int, ModPlug_SampleName, (ModPlugFile* p1, unsigned int p2, char* p3)) - DEFINE_METHOD3(unsigned int, ModPlug_InstrumentName, (ModPlugFile* p1, unsigned int p2, char* p3)) -*/ - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD(ModPlug_Load) - RESOLVE_METHOD(ModPlug_Unload) - RESOLVE_METHOD(ModPlug_Read) - RESOLVE_METHOD(ModPlug_GetName) - RESOLVE_METHOD(ModPlug_GetLength) - RESOLVE_METHOD(ModPlug_Seek) - RESOLVE_METHOD(ModPlug_GetSettings) - RESOLVE_METHOD(ModPlug_SetSettings) -/* - RESOLVE_METHOD(ModPlug_GetMasterVolume) - RESOLVE_METHOD(ModPlug_SetMasterVolume) - RESOLVE_METHOD(ModPlug_GetCurrentSpeed) - RESOLVE_METHOD(ModPlug_GetCurrentTempo) - RESOLVE_METHOD(ModPlug_GetCurrentOrder) - RESOLVE_METHOD(ModPlug_GetCurrentPattern) - RESOLVE_METHOD(ModPlug_GetCurrentRow) - RESOLVE_METHOD(ModPlug_GetPlayingChannels) - RESOLVE_METHOD(ModPlug_SeekOrder) - RESOLVE_METHOD(ModPlug_GetModuleType) - RESOLVE_METHOD(ModPlug_GetMessage) - RESOLVE_METHOD(ModPlug_NumInstruments) - RESOLVE_METHOD(ModPlug_NumSamples) - RESOLVE_METHOD(ModPlug_NumPatterns) - RESOLVE_METHOD(ModPlug_NumChannels) - RESOLVE_METHOD(ModPlug_SampleName) - RESOLVE_METHOD(ModPlug_InstrumentName) -*/ - END_METHOD_RESOLVE() -}; - diff --git a/lib/DllNosefart.h b/lib/DllNosefart.h deleted file mode 100644 index cd0f1be5a4..0000000000 --- a/lib/DllNosefart.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -class DllNosefartInterface -{ -public: - virtual ~DllNosefartInterface() {} - virtual void* LoadNSF(const char* szFileName)=0; - virtual void FreeNSF(void*)=0; - virtual int StartPlayback(void* nsf, int track)=0; - virtual long FillBuffer(void* nsf, char* buffer, int size)=0; - virtual void FrameAdvance(void* nsf)=0; - virtual int GetPlaybackRate(void* nsf)=0; - virtual int GetNumberOfSongs(void* nsf)=0; - virtual char* GetTitle(void* nsf)=0; - virtual char* GetArtist(void* nsf)=0; -}; - -class DllNosefart : public DllDynamic, DllNosefartInterface -{ - DECLARE_DLL_WRAPPER(DllNosefart, DLL_PATH_NSF_CODEC) - DEFINE_METHOD1(void*, LoadNSF, (const char* p1)) - DEFINE_METHOD1(void, FreeNSF, (void* p1)) - DEFINE_METHOD2(int, StartPlayback, (void* p1, int p2)) - DEFINE_METHOD3(long, FillBuffer, (void* p1, char* p2, int p3)) - DEFINE_METHOD1(void, FrameAdvance, (void* p1)) - DEFINE_METHOD1(int, GetPlaybackRate, (void* p1)) - DEFINE_METHOD1(int, GetNumberOfSongs, (void* p1)) - DEFINE_METHOD1(char*, GetTitle, (void* p1)) - DEFINE_METHOD1(char*, GetArtist, (void* p1)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD_RENAME(DLL_LoadNSF, LoadNSF) - RESOLVE_METHOD_RENAME(DLL_FreeNSF, FreeNSF) - RESOLVE_METHOD_RENAME(DLL_StartPlayback, StartPlayback) - RESOLVE_METHOD_RENAME(DLL_FillBuffer, FillBuffer) - RESOLVE_METHOD_RENAME(DLL_FrameAdvance, FrameAdvance) - RESOLVE_METHOD_RENAME(DLL_GetPlaybackRate, GetPlaybackRate) - RESOLVE_METHOD_RENAME(DLL_GetNumberOfSongs, GetNumberOfSongs) - RESOLVE_METHOD_RENAME(DLL_GetTitle, GetTitle) - RESOLVE_METHOD_RENAME(DLL_GetArtist, GetArtist) - END_METHOD_RESOLVE() -}; diff --git a/lib/DllSidplay2.h b/lib/DllSidplay2.h deleted file mode 100644 index bfaba8ce0e..0000000000 --- a/lib/DllSidplay2.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -class DllSidplay2Interface -{ -public: - virtual ~DllSidplay2Interface() {} - virtual int Init()=0; - virtual void* LoadSID(const char* szFileName)=0; - virtual void FreeSID(void* sid)=0; - virtual void StartPlayback(void* sid, int track)=0; - virtual int FillBuffer(void* sid, void* buffer, int length)=0; - virtual int GetNumberOfSongs(const char* szFileName)=0; - virtual void SetSpeed(void* sid, int speed)=0; -}; - -class DllSidplay2 : public DllDynamic, DllSidplay2Interface -{ - DECLARE_DLL_WRAPPER(DllSidplay2, DLL_PATH_SID_CODEC) - DEFINE_METHOD0(int, Init) - DEFINE_METHOD1(void*, LoadSID, (const char* p1)) - DEFINE_METHOD1(void, FreeSID, (void* p1)) - DEFINE_METHOD2(void, StartPlayback,(void* p1, int p2)) - DEFINE_METHOD3(int, FillBuffer, (void* p1, void* p2, int p3)) - DEFINE_METHOD1(int, GetNumberOfSongs, (const char* p1)) - DEFINE_METHOD2(void, SetSpeed, (void* p1, int p2)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD_RENAME(DLL_Init, Init) - RESOLVE_METHOD_RENAME(DLL_LoadSID, LoadSID) - RESOLVE_METHOD_RENAME(DLL_FreeSID, FreeSID) - RESOLVE_METHOD_RENAME(DLL_StartPlayback,StartPlayback) - RESOLVE_METHOD_RENAME(DLL_FillBuffer, FillBuffer) - RESOLVE_METHOD_RENAME(DLL_GetNumberOfSongs, GetNumberOfSongs) - RESOLVE_METHOD_RENAME(DLL_SetSpeed, SetSpeed) - END_METHOD_RESOLVE() -}; - diff --git a/lib/DllStSound.h b/lib/DllStSound.h deleted file mode 100644 index 967f552e5d..0000000000 --- a/lib/DllStSound.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -class DllStSoundInterface -{ -public: - virtual ~DllStSoundInterface() {} - virtual void* LoadYM(const char* szFileName)=0; - virtual void FreeYM(void* ym)=0; - virtual int FillBuffer(void* ym, char* buffer, unsigned long length)=0; - virtual unsigned long Seek(void* ym, unsigned long iTimePos)=0; - virtual const char* GetTitle(void* ym)=0; - virtual const char* GetArtist(void* ym)=0; - virtual unsigned long GetLength(void* ym)=0; -}; - -class DllStSound : public DllDynamic, DllStSoundInterface -{ - DECLARE_DLL_WRAPPER(DllStSound, DLL_PATH_YM_CODEC) - DEFINE_METHOD1(void*, LoadYM, (const char* p1)) - DEFINE_METHOD1(void, FreeYM, (void* p1)) - DEFINE_METHOD3(int, FillBuffer, (void* p1, char* p2, unsigned long p3)) - DEFINE_METHOD2(unsigned long, Seek, (void* p1, unsigned long p2)) - DEFINE_METHOD1(const char*, GetTitle, (void* p1)) - DEFINE_METHOD1(const char*, GetArtist, (void* p1)) - DEFINE_METHOD1(unsigned long, GetLength, (void* p1)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD_RENAME(DLL_LoadYM, LoadYM) - RESOLVE_METHOD_RENAME(DLL_FreeYM, FreeYM) - RESOLVE_METHOD_RENAME(DLL_FillBuffer, FillBuffer) - RESOLVE_METHOD_RENAME(DLL_Seek, Seek) - RESOLVE_METHOD_RENAME(DLL_GetTitle, GetTitle) - RESOLVE_METHOD_RENAME(DLL_GetArtist, GetArtist) - RESOLVE_METHOD_RENAME(DLL_GetLength, GetLength) - END_METHOD_RESOLVE() -}; - diff --git a/lib/DllTimidity.h b/lib/DllTimidity.h deleted file mode 100644 index b1c77ebe21..0000000000 --- a/lib/DllTimidity.h +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -class DllTimidityInterface -{ -public: - virtual ~DllTimidityInterface() {} - virtual int Init()=0; - virtual int LoadMID(const char* szFileName)=0; - virtual void FreeMID(int mid)=0; - virtual int FillBuffer(int mid, char* buffer, int length)=0; - virtual unsigned long Seek(int mid, unsigned long iTimePos)=0; - virtual const char* GetTitle(int mid)=0; - virtual const char* GetArtist(int mid)=0; - virtual unsigned long GetLength(int mid)=0; -}; - -class DllTimidity : public DllDynamic, DllTimidityInterface -{ - DECLARE_DLL_WRAPPER(DllTimidity, DLL_PATH_MID_CODEC) - DEFINE_METHOD0(int, Init) - DEFINE_METHOD1(int, LoadMID, (const char* p1)) - DEFINE_METHOD1(void, FreeMID, (int p1)) - DEFINE_METHOD3(int, FillBuffer, (int p1, char* p2, int p3)) - DEFINE_METHOD2(unsigned long, Seek, (int p1, unsigned long p2)) - DEFINE_METHOD1(const char*, GetTitle, (int p1)) - DEFINE_METHOD1(const char*, GetArtist, (int p1)) - DEFINE_METHOD1(unsigned long, GetLength, (int p1)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD_RENAME(DLL_Init, Init) - RESOLVE_METHOD_RENAME(DLL_LoadMID, LoadMID) - RESOLVE_METHOD_RENAME(DLL_FreeMID, FreeMID) - RESOLVE_METHOD_RENAME(DLL_FillBuffer, FillBuffer) - RESOLVE_METHOD_RENAME(DLL_Seek, Seek) - RESOLVE_METHOD_RENAME(DLL_GetTitle, GetTitle) - RESOLVE_METHOD_RENAME(DLL_GetArtist, GetArtist) - RESOLVE_METHOD_RENAME(DLL_GetLength, GetLength) - END_METHOD_RESOLVE() -}; - diff --git a/lib/DllVGMStream.h b/lib/DllVGMStream.h deleted file mode 100644 index f69f4948e5..0000000000 --- a/lib/DllVGMStream.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DynamicDll.h" - -class DllVGMInterface -{ -public: - virtual ~DllVGMInterface() {} - virtual long Init()=0; - virtual long LoadVGM(const char* szFileName, int* sampleRate, int* samleSize, int* channels)=0; - virtual void FreeVGM(long vgm)=0; - virtual int FillBuffer(long vgm, char* buffer, int length)=0; - virtual unsigned long Seek(long vgm, unsigned long iTimePos)=0; - virtual unsigned long GetLength(long vgm)=0; -}; - -class DllVGM : public DllDynamic, DllVGMInterface -{ - DECLARE_DLL_WRAPPER(DllVGM, DLL_PATH_VGM_CODEC) - DEFINE_METHOD0(long, Init) - DEFINE_METHOD4(long, LoadVGM, (const char* p1, int* p2, int* p3, int* p4 )) - DEFINE_METHOD1(void, FreeVGM, (long p1)) - DEFINE_METHOD3(int, FillBuffer, (long p1, char* p2, int p3)) - DEFINE_METHOD2(unsigned long, Seek, (long p1, unsigned long p2)) - DEFINE_METHOD1(unsigned long, GetLength, (long p1)) - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD_RENAME(DLL_Init, Init) - RESOLVE_METHOD_RENAME(DLL_LoadVGM, LoadVGM) - RESOLVE_METHOD_RENAME(DLL_FreeVGM, FreeVGM) - RESOLVE_METHOD_RENAME(DLL_FillBuffer, FillBuffer) - RESOLVE_METHOD_RENAME(DLL_Seek, Seek) - RESOLVE_METHOD_RENAME(DLL_GetLength, GetLength) - END_METHOD_RESOLVE() -}; - diff --git a/lib/DllVorbisfile.h b/lib/DllVorbisfile.h deleted file mode 100644 index d4ab9c2135..0000000000 --- a/lib/DllVorbisfile.h +++ /dev/null @@ -1,131 +0,0 @@ -#pragma once - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#if (defined HAVE_CONFIG_H) && (!defined WIN32) - #include "config.h" -#endif -#if defined(_LINUX) || defined(__APPLE__) || defined(WIN32) - // avoid unused symbol warnings from the static callbacks - // defined in vorbisfile.h on 1.2.3 and above - #define OV_EXCLUDE_STATIC_CALLBACKS - - #include <vorbis/vorbisfile.h> - #include "utils/log.h" -#else - #include "cdrip/oggvorbis/vorbisfile.h" -#endif -#include "DynamicDll.h" - -// Note: the vorbisfile.dll has the ogg.dll and vorbis.dll statically linked - -class DllVorbisfileInterface -{ -public: - virtual ~DllVorbisfileInterface() {} - virtual int ov_clear(OggVorbis_File *vf)=0; - virtual int ov_open(FILE *f,OggVorbis_File *vf,char *initial,long ibytes)=0; - virtual int ov_open_callbacks(void *datasource, OggVorbis_File *vf, - char *initial, long ibytes, ov_callbacks callbacks)=0; - virtual int ov_test(FILE *f,OggVorbis_File *vf,char *initial,long ibytes)=0; - virtual int ov_test_callbacks(void *datasource, OggVorbis_File *vf, - char *initial, long ibytes, ov_callbacks callbacks)=0; - virtual int ov_test_open(OggVorbis_File *vf)=0; - virtual long ov_bitrate(OggVorbis_File *vf,int i)=0; - virtual long ov_bitrate_instant(OggVorbis_File *vf)=0; - virtual long ov_streams(OggVorbis_File *vf)=0; - virtual long ov_seekable(OggVorbis_File *vf)=0; - virtual long ov_serialnumber(OggVorbis_File *vf,int i)=0; - virtual ogg_int64_t ov_raw_total(OggVorbis_File *vf,int i)=0; - virtual ogg_int64_t ov_pcm_total(OggVorbis_File *vf,int i)=0; - virtual double ov_time_total(OggVorbis_File *vf,int i)=0; - virtual int ov_raw_seek(OggVorbis_File *vf,ogg_int64_t pos)=0; - virtual int ov_pcm_seek(OggVorbis_File *vf,ogg_int64_t pos)=0; - virtual int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos)=0; - virtual int ov_time_seek(OggVorbis_File *vf,double pos)=0; - virtual int ov_time_seek_page(OggVorbis_File *vf,double pos)=0; - virtual ogg_int64_t ov_raw_tell(OggVorbis_File *vf)=0; - virtual ogg_int64_t ov_pcm_tell(OggVorbis_File *vf)=0; - virtual double ov_time_tell(OggVorbis_File *vf)=0; - virtual vorbis_info *ov_info(OggVorbis_File *vf,int link)=0; - virtual vorbis_comment *ov_comment(OggVorbis_File *vf,int link)=0; - virtual long ov_read(OggVorbis_File *vf,char *buffer,int length, - int bigendianp,int word,int sgned,int *bitstream)=0; -}; - -class DllVorbisfile : public DllDynamic, DllVorbisfileInterface -{ - DECLARE_DLL_WRAPPER(DllVorbisfile, DLL_PATH_OGG_CODEC) - DEFINE_METHOD1(int, ov_clear, (OggVorbis_File *p1)) - DEFINE_METHOD4(int, ov_open, (FILE *p1,OggVorbis_File *p2,char *p3,long p4)) - DEFINE_METHOD5(int, ov_open_callbacks, (void *p1, OggVorbis_File *p2, char *p3, long p4, ov_callbacks p5)) - DEFINE_METHOD4(int, ov_test, (FILE *p1,OggVorbis_File *p2,char *p3,long p4)) - DEFINE_METHOD5(int, ov_test_callbacks, (void *p1, OggVorbis_File *p2, char *p3, long p4, ov_callbacks p5)) - DEFINE_METHOD1(int, ov_test_open, (OggVorbis_File *p1)) - DEFINE_METHOD2(long, ov_bitrate, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD1(long, ov_bitrate_instant, (OggVorbis_File *p1)) - DEFINE_METHOD1(long, ov_streams, (OggVorbis_File *p1)) - DEFINE_METHOD1(long, ov_seekable, (OggVorbis_File *p1)) - DEFINE_METHOD2(long, ov_serialnumber, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD2(ogg_int64_t, ov_raw_total, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD2(ogg_int64_t, ov_pcm_total, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD2(double, ov_time_total, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD2(int, ov_raw_seek, (OggVorbis_File *p1,ogg_int64_t p2)) - DEFINE_METHOD2(int, ov_pcm_seek, (OggVorbis_File *p1,ogg_int64_t p2)) - DEFINE_METHOD2(int, ov_pcm_seek_page, (OggVorbis_File *p1,ogg_int64_t p2)) - DEFINE_METHOD2(int, ov_time_seek, (OggVorbis_File *p1,double p2)) - DEFINE_METHOD2(int, ov_time_seek_page, (OggVorbis_File *p1,double p2)) - DEFINE_METHOD1(ogg_int64_t, ov_raw_tell, (OggVorbis_File *p1)) - DEFINE_METHOD1(ogg_int64_t, ov_pcm_tell, (OggVorbis_File *p1)) - DEFINE_METHOD1(double, ov_time_tell, (OggVorbis_File *p1)) - DEFINE_METHOD2(vorbis_info *, ov_info, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD2(vorbis_comment *, ov_comment, (OggVorbis_File *p1,int p2)) - DEFINE_METHOD7(long, ov_read, (OggVorbis_File *p1,char *p2,int p3, int p4,int p5,int p6,int *p7)) - - BEGIN_METHOD_RESOLVE() - RESOLVE_METHOD(ov_clear) - RESOLVE_METHOD(ov_open) - RESOLVE_METHOD(ov_open_callbacks) - RESOLVE_METHOD(ov_test) - RESOLVE_METHOD(ov_test_callbacks) - RESOLVE_METHOD(ov_test_open) - RESOLVE_METHOD(ov_bitrate) - RESOLVE_METHOD(ov_bitrate_instant) - RESOLVE_METHOD(ov_streams) - RESOLVE_METHOD(ov_seekable) - RESOLVE_METHOD(ov_serialnumber) - RESOLVE_METHOD(ov_raw_total) - RESOLVE_METHOD(ov_pcm_total) - RESOLVE_METHOD(ov_time_total) - RESOLVE_METHOD(ov_raw_seek) - RESOLVE_METHOD(ov_pcm_seek) - RESOLVE_METHOD(ov_pcm_seek_page) - RESOLVE_METHOD(ov_time_seek) - RESOLVE_METHOD(ov_time_seek_page) - RESOLVE_METHOD(ov_raw_tell) - RESOLVE_METHOD(ov_pcm_tell) - RESOLVE_METHOD(ov_time_tell) - RESOLVE_METHOD(ov_info) - RESOLVE_METHOD(ov_comment) - RESOLVE_METHOD(ov_read) - END_METHOD_RESOLVE() -}; - diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj index 000aeaabc4..abb13c5c32 100644 --- a/project/VS2010Express/XBMC.vcxproj +++ b/project/VS2010Express/XBMC.vcxproj @@ -286,7 +286,6 @@ <ClCompile Include="..\..\xbmc\FileItem.cpp" /> <ClCompile Include="..\..\xbmc\FileItemListModification.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\AddonsDirectory.cpp" /> - <ClCompile Include="..\..\xbmc\filesystem\ASAPFileDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\BlurayDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\BlurayFile.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\CacheStrategy.cpp" /> @@ -334,8 +333,6 @@ <ClCompile Include="..\..\xbmc\filesystem\NFSDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\NFSFile.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\NptXbmcFile.cpp" /> - <ClCompile Include="..\..\xbmc\filesystem\NSFFileDirectory.cpp" /> - <ClCompile Include="..\..\xbmc\filesystem\OGGFileDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\OverrideDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\OverrideFile.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\PipeFile.cpp" /> @@ -358,7 +355,6 @@ <ClCompile Include="..\..\xbmc\filesystem\SFTPDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\SFTPFile.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\ShoutcastFile.cpp" /> - <ClCompile Include="..\..\xbmc\filesystem\SIDFileDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\SlingboxDirectory.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\SlingboxFile.cpp" /> <ClCompile Include="..\..\xbmc\filesystem\SmartPlaylistDirectory.cpp" /> @@ -615,15 +611,10 @@ <ClCompile Include="..\..\xbmc\music\MusicInfoLoader.cpp" /> <ClCompile Include="..\..\xbmc\music\Song.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTag.cpp" /> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderASAP.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderCDDA.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderDatabase.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderFactory.cpp" /> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderMidi.cpp" /> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderNSF.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderShn.cpp" /> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderSPC.cpp" /> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderYM.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\ReplayGain.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\TagLibVFSStream.cpp" /> <ClCompile Include="..\..\xbmc\music\tags\TagLoaderTagLib.cpp" /> @@ -1073,7 +1064,6 @@ <ClInclude Include="..\..\xbmc\filesystem\FileCache.h" /> <ClInclude Include="..\..\xbmc\filesystem\MemBufferCache.h" /> <ClInclude Include="..\..\xbmc\filesystem\AddonsDirectory.h" /> - <ClInclude Include="..\..\xbmc\filesystem\ASAPFileDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\BlurayDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\CacheStrategy.h" /> <ClInclude Include="..\..\xbmc\filesystem\CDDADirectory.h" /> @@ -1110,10 +1100,7 @@ <ClInclude Include="..\..\xbmc\filesystem\MusicDatabaseFile.h" /> <ClInclude Include="..\..\xbmc\filesystem\MusicFileDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\MusicSearchDirectory.h" /> - <ClInclude Include="..\..\xbmc\filesystem\NFSDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\NFSFile.h" /> - <ClInclude Include="..\..\xbmc\filesystem\NSFFileDirectory.h" /> - <ClInclude Include="..\..\xbmc\filesystem\OGGFileDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\PipeFile.h" /> <ClInclude Include="..\..\xbmc\filesystem\PipesManager.h" /> <ClInclude Include="..\..\xbmc\filesystem\PlaylistDirectory.h" /> @@ -1130,7 +1117,6 @@ <ClInclude Include="..\..\xbmc\filesystem\SFTPDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\SFTPFile.h" /> <ClInclude Include="..\..\xbmc\filesystem\ShoutcastFile.h" /> - <ClInclude Include="..\..\xbmc\filesystem\SIDFileDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\SlingboxDirectory.h" /> <ClInclude Include="..\..\xbmc\filesystem\SlingboxFile.h" /> <ClInclude Include="..\..\xbmc\filesystem\SmartPlaylistDirectory.h" /> @@ -1553,20 +1539,10 @@ <ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleStream.cpp" /> <ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleTagMicroDVD.cpp" /> <ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleTagSami.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\ASAPCodec.cpp" /> <ClCompile Include="..\..\xbmc\cores\paplayer\AudioDecoder.cpp" /> <ClCompile Include="..\..\xbmc\cores\paplayer\CodecFactory.cpp" /> <ClCompile Include="..\..\xbmc\cores\paplayer\DVDPlayerCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\ModplugCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\NSFCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\OggCallback.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\OGGcodec.cpp" /> <ClCompile Include="..\..\xbmc\cores\paplayer\PAPlayer.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\SIDCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\SPCCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\TimidityCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\VGMCodec.cpp" /> - <ClCompile Include="..\..\xbmc\cores\paplayer\YMCodec.cpp" /> <ClCompile Include="..\..\xbmc\cores\DllLoader\coff.cpp" /> <ClCompile Include="..\..\xbmc\cores\DllLoader\dll.cpp" /> <ClCompile Include="..\..\xbmc\cores\DllLoader\dll_tracker.cpp" /> @@ -1920,15 +1896,10 @@ <ClInclude Include="..\..\xbmc\music\Song.h" /> <ClInclude Include="..\..\xbmc\music\tags\ImusicInfoTagLoader.h" /> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTag.h" /> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderASAP.h" /> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderCDDA.h" /> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderDatabase.h" /> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderFactory.h" /> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderMidi.h" /> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderNSF.h" /> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderShn.h" /> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderSPC.h" /> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderYM.h" /> <ClInclude Include="..\..\xbmc\music\windows\GUIWindowMusicBase.h" /> <ClInclude Include="..\..\xbmc\music\windows\GUIWindowMusicNav.h" /> <ClInclude Include="..\..\xbmc\music\windows\GUIWindowMusicPlaylist.h" /> @@ -2259,27 +2230,11 @@ <ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleStream.h" /> <ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleTagMicroDVD.h" /> <ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleTagSami.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\ASAPCodec.h" /> <ClInclude Include="..\..\xbmc\cores\paplayer\AudioDecoder.h" /> <ClInclude Include="..\..\xbmc\cores\paplayer\CodecFactory.h" /> - <ClInclude Include="..\..\lib\DllASAP.h" /> - <ClInclude Include="..\..\lib\DllNosefart.h" /> - <ClInclude Include="..\..\lib\DllSidplay2.h" /> - <ClInclude Include="..\..\lib\DllStSound.h" /> - <ClInclude Include="..\..\lib\DllTimidity.h" /> - <ClInclude Include="..\..\lib\DllVorbisfile.h" /> <ClInclude Include="..\..\xbmc\cores\paplayer\DVDPlayerCodec.h" /> <ClInclude Include="..\..\xbmc\cores\paplayer\ICodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\ModplugCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\NSFCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\OggCallback.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\OGGcodec.h" /> <ClInclude Include="..\..\xbmc\cores\paplayer\PAPlayer.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\SIDCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\SPCCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\TimidityCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\VGMCodec.h" /> - <ClInclude Include="..\..\xbmc\cores\paplayer\YMCodec.h" /> <ClInclude Include="..\..\xbmc\cores\DllLoader\coff.h" /> <ClInclude Include="..\..\xbmc\cores\DllLoader\coffldr.h" /> <ClInclude Include="..\..\xbmc\cores\DllLoader\dll.h" /> diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters index b107ae9120..e7d99df078 100644 --- a/project/VS2010Express/XBMC.vcxproj.filters +++ b/project/VS2010Express/XBMC.vcxproj.filters @@ -516,9 +516,6 @@ <ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleStream.cpp"> <Filter>cores\dvdplayer\DVDSubtitles</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\ASAPCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\cores\paplayer\AudioDecoder.cpp"> <Filter>cores\paplayer</Filter> </ClCompile> @@ -528,36 +525,9 @@ <ClCompile Include="..\..\xbmc\cores\paplayer\DVDPlayerCodec.cpp"> <Filter>cores\paplayer</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\ModplugCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\NSFCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\OggCallback.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\OGGcodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\cores\paplayer\PAPlayer.cpp"> <Filter>cores\paplayer</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\SIDCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\SPCCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\TimidityCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\VGMCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\cores\paplayer\YMCodec.cpp"> - <Filter>cores\paplayer</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\cores\DllLoader\coff.cpp"> <Filter>cores\DllLoader</Filter> </ClCompile> @@ -1234,9 +1204,6 @@ <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTag.cpp"> <Filter>music\tags</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderASAP.cpp"> - <Filter>music\tags</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderCDDA.cpp"> <Filter>music\tags</Filter> </ClCompile> @@ -1246,21 +1213,9 @@ <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderFactory.cpp"> <Filter>music\tags</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderMidi.cpp"> - <Filter>music\tags</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderNSF.cpp"> - <Filter>music\tags</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderShn.cpp"> <Filter>music\tags</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderSPC.cpp"> - <Filter>music\tags</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\music\tags\MusicInfoTagLoaderYM.cpp"> - <Filter>music\tags</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\network\cddb.cpp"> <Filter>network</Filter> </ClCompile> @@ -1957,9 +1912,6 @@ <ClCompile Include="..\..\xbmc\network\httprequesthandler\IHTTPRequestHandler.cpp"> <Filter>network\httprequesthandler</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\filesystem\ASAPFileDirectory.cpp"> - <Filter>filesystem</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\filesystem\BlurayDirectory.cpp"> <Filter>filesystem</Filter> </ClCompile> @@ -2059,21 +2011,12 @@ <ClCompile Include="..\..\xbmc\filesystem\MusicSearchDirectory.cpp"> <Filter>filesystem</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\filesystem\NFSDirectory.cpp"> - <Filter>filesystem</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\filesystem\NFSFile.cpp"> <Filter>filesystem</Filter> </ClCompile> <ClCompile Include="..\..\xbmc\filesystem\NptXbmcFile.cpp"> <Filter>filesystem</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\filesystem\NSFFileDirectory.cpp"> - <Filter>filesystem</Filter> - </ClCompile> - <ClCompile Include="..\..\xbmc\filesystem\OGGFileDirectory.cpp"> - <Filter>filesystem</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\filesystem\PipeFile.cpp"> <Filter>filesystem</Filter> </ClCompile> @@ -2122,9 +2065,6 @@ <ClCompile Include="..\..\xbmc\filesystem\ShoutcastFile.cpp"> <Filter>filesystem</Filter> </ClCompile> - <ClCompile Include="..\..\xbmc\filesystem\SIDFileDirectory.cpp"> - <Filter>filesystem</Filter> - </ClCompile> <ClCompile Include="..\..\xbmc\filesystem\SlingboxDirectory.cpp"> <Filter>filesystem</Filter> </ClCompile> @@ -3400,69 +3340,21 @@ <ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDSubtitles\DVDSubtitleStream.h"> <Filter>cores\dvdplayer\DVDSubtitles</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\ASAPCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\cores\paplayer\AudioDecoder.h"> <Filter>cores\paplayer</Filter> </ClInclude> <ClInclude Include="..\..\xbmc\cores\paplayer\CodecFactory.h"> <Filter>cores\paplayer</Filter> </ClInclude> - <ClInclude Include="..\..\lib\DllASAP.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\lib\DllNosefart.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\lib\DllSidplay2.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\lib\DllStSound.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\lib\DllTimidity.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\lib\DllVorbisfile.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\cores\paplayer\DVDPlayerCodec.h"> <Filter>cores\paplayer</Filter> </ClInclude> <ClInclude Include="..\..\xbmc\cores\paplayer\ICodec.h"> <Filter>cores\paplayer</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\ModplugCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\NSFCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\OggCallback.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\OGGcodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\cores\paplayer\PAPlayer.h"> <Filter>cores\paplayer</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\SIDCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\SPCCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\TimidityCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\VGMCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\cores\paplayer\YMCodec.h"> - <Filter>cores\paplayer</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\cores\DllLoader\coff.h"> <Filter>cores\DllLoader</Filter> </ClInclude> @@ -4212,9 +4104,6 @@ <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTag.h"> <Filter>music\tags</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderASAP.h"> - <Filter>music\tags</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderCDDA.h"> <Filter>music\tags</Filter> </ClInclude> @@ -4224,21 +4113,9 @@ <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderFactory.h"> <Filter>music\tags</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderMidi.h"> - <Filter>music\tags</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderNSF.h"> - <Filter>music\tags</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderShn.h"> <Filter>music\tags</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderSPC.h"> - <Filter>music\tags</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\music\tags\MusicInfoTagLoaderYM.h"> - <Filter>music\tags</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\network\cddb.h"> <Filter>network</Filter> </ClInclude> @@ -4950,9 +4827,6 @@ <ClInclude Include="..\..\xbmc\filesystem\AddonsDirectory.h"> <Filter>filesystem</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\filesystem\ASAPFileDirectory.h"> - <Filter>filesystem</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\filesystem\CacheStrategy.h"> <Filter>filesystem</Filter> </ClInclude> @@ -5058,18 +4932,9 @@ <ClInclude Include="..\..\xbmc\filesystem\MusicSearchDirectory.h"> <Filter>filesystem</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\filesystem\NFSDirectory.h"> - <Filter>filesystem</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\filesystem\NFSFile.h"> <Filter>filesystem</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\filesystem\NSFFileDirectory.h"> - <Filter>filesystem</Filter> - </ClInclude> - <ClInclude Include="..\..\xbmc\filesystem\OGGFileDirectory.h"> - <Filter>filesystem</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\filesystem\PipeFile.h"> <Filter>filesystem</Filter> </ClInclude> @@ -5118,9 +4983,6 @@ <ClInclude Include="..\..\xbmc\filesystem\ShoutcastFile.h"> <Filter>filesystem</Filter> </ClInclude> - <ClInclude Include="..\..\xbmc\filesystem\SIDFileDirectory.h"> - <Filter>filesystem</Filter> - </ClInclude> <ClInclude Include="..\..\xbmc\filesystem\SlingboxDirectory.h"> <Filter>filesystem</Filter> </ClInclude> diff --git a/tools/buildsteps/win32/make-mingwlibs.sh b/tools/buildsteps/win32/make-mingwlibs.sh index 417a69522e..c78f73e670 100644 --- a/tools/buildsteps/win32/make-mingwlibs.sh +++ b/tools/buildsteps/win32/make-mingwlibs.sh @@ -100,23 +100,6 @@ setfilepath /xbmc/system/players/dvdplayer checkfiles libmpeg2-0.dll echo "##### building of libmpeg2 dlls done #####" -echo "##### building timidity dlls #####" -cd /xbmc/lib/timidity/ -if [ "$MAKECLEAN" == "clean" ]; then - make -f Makefile.win32 clean -fi -make -f Makefile.win32 $MAKEFLAGS -setfilepath /xbmc/system/players/paplayer -checkfiles timidity.dll -echo "##### building of timidity dlls done #####" - -echo "##### building asap dlls #####" -cd /xbmc/lib/asap/win32 -runBackgroundProcess "./build_xbmc_win32.sh $MAKECLEAN" -setfilepath /xbmc/system/players/paplayer -checkfiles xbmc_asap.dll -echo "##### building of asap dlls done #####" - # wait for key press if [ $NOPROMPT == 0 ]; then echo press a key to close the window diff --git a/xbmc/DllPaths_generated.h.in b/xbmc/DllPaths_generated.h.in index 2d96c35dc0..453af0ee8d 100644 --- a/xbmc/DllPaths_generated.h.in +++ b/xbmc/DllPaths_generated.h.in @@ -41,27 +41,6 @@ #define DLL_PATH_LIBCURL "@CURL_SONAME@" #endif -/* paplayer */ -#define DLL_PATH_AAC_CODEC "special://xbmcbin/system/players/paplayer/AACCodec-@ARCH@.so" -#define DLL_PATH_ADPLUG_CODEC "special://xbmcbin/system/players/paplayer/adplug-@ARCH@.so" -#define DLL_PATH_APE_CODEC "special://xbmcbin/system/players/paplayer/MACDll-@ARCH@.so" -#define DLL_PATH_ASAP_CODEC "special://xbmcbin/system/players/paplayer/xbmc_asap-@ARCH@.so" -#define DLL_PATH_DCA_CODEC "special://xbmcbin/system/players/paplayer/dcacodec-@ARCH@.so" -#define DLL_PATH_GYM_CODEC "special://xbmcbin/system/players/paplayer/gensapu-@ARCH@.so" -#define DLL_PATH_MID_CODEC "special://xbmcbin/system/players/paplayer/timidity-@ARCH@.so" -#define DLL_PATH_MODULE_CODEC "special://xbmcbin/system/players/paplayer/dumb-@ARCH@.so" -#define DLL_PATH_MPC_CODEC "special://xbmcbin/system/players/paplayer/libmpcdec-@ARCH@.so" -#define DLL_PATH_NSF_CODEC "special://xbmcbin/system/players/paplayer/nosefart-@ARCH@.so" -#define DLL_PATH_SID_CODEC "special://xbmcbin/system/players/paplayer/libsidplay2-@ARCH@.so" -#define DLL_PATH_SPC_CODEC "special://xbmcbin/system/players/paplayer/SNESAPU-@ARCH@.so" -#define DLL_PATH_VGM_CODEC "special://xbmcbin/system/players/paplayer/vgmstream-@ARCH@.so" -#define DLL_PATH_WAVPACK_CODEC "@WAVPACK_SONAME@" -#define DLL_PATH_YM_CODEC "special://xbmcbin/system/players/paplayer/stsoundlibrary-@ARCH@.so" - -#define DLL_PATH_FLAC_CODEC "@FLAC_SONAME@" -#define DLL_PATH_MODPLUG_CODEC "@MODPLUG_SONAME@" -#define DLL_PATH_OGG_CODEC "@VORBISFILE_SONAME@" - /* dvdplayer */ #define DLL_PATH_LIBASS "@ASS_SONAME@" #define DLL_PATH_LIBDVDNAV "special://xbmcbin/system/players/dvdplayer/libdvdnav-@ARCH@.so" diff --git a/xbmc/DllPaths_win32.h b/xbmc/DllPaths_win32.h index eafa9b52c0..c5026ac2a1 100644 --- a/xbmc/DllPaths_win32.h +++ b/xbmc/DllPaths_win32.h @@ -32,19 +32,6 @@ #define DLL_PATH_LIBSHAIRPLAY "special://xbmcbin/system/airplay/libshairplay-1.dll" #define DLL_PATH_LIBCEC "special://xbmcbin/system/libcec.dll" -/* paplayer */ -#define DLL_PATH_ADPCM_CODEC "special://xbmcbin/system/players/paplayer/adpcm.dll" -#define DLL_PATH_ASAP_CODEC "special://xbmcbin/system/players/paplayer/xbmc_asap.dll" -#define DLL_PATH_FLAC_CODEC "special://xbmcbin/system/players/paplayer/libFLAC.dll" -#define DLL_PATH_MID_CODEC "special://xbmcbin/system/players/paplayer/timidity.dll" -#define DLL_PATH_NSF_CODEC "special://xbmcbin/system/players/paplayer/nosefart.dll" -#define DLL_PATH_OGG_CODEC "special://xbmcbin/system/players/paplayer/vorbisfile.dll" -#define DLL_PATH_SID_CODEC "special://xbmcbin/system/players/paplayer/libsidplay2.dll" -#define DLL_PATH_SPC_CODEC "special://xbmcbin/system/players/paplayer/SNESAPU.dll" -#define DLL_PATH_VGM_CODEC "special://xbmcbin/system/players/paplayer/vgmstream.dll" -#define DLL_PATH_YM_CODEC "special://xbmcbin/system/players/paplayer/stsoundlibrary.dll" -#define DLL_PATH_MODPLUG_CODEC "special://xbmcbin/system/players/paplayer/libmodplug.dll" - /* dvdplayer */ #define DLL_PATH_LIBASS "special://xbmcbin/system/players/dvdplayer/libass.dll" #define DLL_PATH_LIBMPEG2 "special://xbmcbin/system/players/dvdplayer/libmpeg2-0.dll" diff --git a/xbmc/FileItem.cpp b/xbmc/FileItem.cpp index 65661fba9d..773ac20851 100644 --- a/xbmc/FileItem.cpp +++ b/xbmc/FileItem.cpp @@ -58,9 +58,6 @@ #include "utils/Variant.h" #include "music/karaoke/karaokelyricsfactory.h" #include "utils/Mime.h" -#ifdef HAS_ASAP_CODEC -#include "cores/paplayer/ASAPCodec.h" -#endif #include <assert.h> #include <algorithm> @@ -855,9 +852,6 @@ bool CFileItem::IsFileFolder(EFileFolderType types) const #if defined(TARGET_ANDROID) || IsType(".apk") #endif -#ifdef HAS_ASAP_CODEC - || ASAPCodec::IsSupportedFormat(URIUtils::GetExtension(m_strPath)) -#endif ) return true; } diff --git a/xbmc/cores/paplayer/ASAPCodec.cpp b/xbmc/cores/paplayer/ASAPCodec.cpp deleted file mode 100644 index 977869223c..0000000000 --- a/xbmc/cores/paplayer/ASAPCodec.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ASAPCodec.h" -#include "utils/URIUtils.h" -#include "filesystem/File.h" - - -ASAPCodec::ASAPCodec() -{ - m_CodecName = "asap"; -} - -ASAPCodec::~ASAPCodec() -{ -} - -bool ASAPCodec::Init(const std::string &strFile, unsigned int filecache) -{ - if (!m_dll.Load()) - return false; - - std::string strFileToLoad = strFile; - int song = -1; - if (URIUtils::HasExtension(strFile, ".asapstream")) - { - std::string strFileName = URIUtils::GetFileName(strFile); - size_t iStart = strFileName.rfind('-') + 1; - song = atoi(strFileName.substr(iStart, strFileName.size() - iStart - 11).c_str()) - 1; - strFileToLoad = URIUtils::GetDirectory(strFile); - URIUtils::RemoveSlashAtEnd(strFileToLoad); - } - - int duration; - if (!m_dll.asapLoad(strFileToLoad.c_str(), song, &m_Channels, &duration)) - return false; - m_TotalTime = duration; - m_SampleRate = 44100; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - return true; -} - -void ASAPCodec::DeInit() -{ -} - -int64_t ASAPCodec::Seek(int64_t iSeekTime) -{ - m_dll.asapSeek((int) iSeekTime); - return iSeekTime; -} - -int ASAPCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - *actualsize = m_dll.asapGenerate(pBuffer, size); - if (*actualsize < size) - return READ_EOF; - return READ_SUCCESS; -} - -bool ASAPCodec::CanInit() -{ - return m_dll.CanLoad(); -} - -bool ASAPCodec::IsSupportedFormat(const std::string &strExt) -{ - if(strExt.empty()) - return false; - std::string ext = strExt; - if (ext[0] == '.') - ext.erase(0, 1); - return ext == "sap" - || ext == "cmc" || ext == "cmr" || ext == "dmc" - || ext == "mpt" || ext == "mpd" || ext == "rmt" - || ext == "tmc" || ext == "tm8" || ext == "tm2" - || ext == "cms" || ext == "cm3" || ext == "dlt"; -} - diff --git a/xbmc/cores/paplayer/ASAPCodec.h b/xbmc/cores/paplayer/ASAPCodec.h deleted file mode 100644 index bf4e126043..0000000000 --- a/xbmc/cores/paplayer/ASAPCodec.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef ASAP_CODEC_H_ -#define ASAP_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllASAP.h" - -class ASAPCodec : public ICodec -{ -public: - ASAPCodec(); - virtual ~ASAPCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - - static bool IsSupportedFormat(const std::string &strExt); - -private: - DllASAP m_dll; -}; - -#endif diff --git a/xbmc/cores/paplayer/CodecFactory.cpp b/xbmc/cores/paplayer/CodecFactory.cpp index 28baa533d5..b2924a7fd4 100644 --- a/xbmc/cores/paplayer/CodecFactory.cpp +++ b/xbmc/cores/paplayer/CodecFactory.cpp @@ -20,19 +20,6 @@ #include "system.h" #include "CodecFactory.h" -#include "OGGcodec.h" -#include "ModplugCodec.h" -#include "NSFCodec.h" -#ifdef HAS_SPC_CODEC -#include "SPCCodec.h" -#endif -#include "SIDCodec.h" -#include "VGMCodec.h" -#include "YMCodec.h" -#include "TimidityCodec.h" -#ifdef HAS_ASAP_CODEC -#include "ASAPCodec.h" -#endif #include "URL.h" #include "DVDPlayerCodec.h" #include "utils/StringUtils.h" @@ -41,7 +28,7 @@ using namespace ADDON; -ICodec* CodecFactory::CreateCodec(const std::string& strFileType) +ICodec* CodecFactory::CreateCodec(const std::string &strFileType) { std::string fileType = strFileType; StringUtils::ToLower(fileType); @@ -57,79 +44,9 @@ ICodec* CodecFactory::CreateCodec(const std::string& strFileType) return result; } } - if (fileType == "mp3" || fileType == "mp2") - return new DVDPlayerCodec(); - else if (fileType == "pcm" || fileType == "l16") - return new DVDPlayerCodec(); - else if (fileType == "ape" || fileType == "mac") - return new DVDPlayerCodec(); - else if (fileType == "cdda") - return new DVDPlayerCodec(); - else if (fileType == "mpc" || fileType == "mp+" || fileType == "mpp") - return new DVDPlayerCodec(); - else if (fileType == "shn") - return new DVDPlayerCodec(); - else if (fileType == "mka") - return new DVDPlayerCodec(); - else if (fileType == "flac") - return new DVDPlayerCodec(); - else if (fileType == "wav") - return new DVDPlayerCodec(); - else if (fileType == "dts" || fileType == "ac3" || - fileType == "m4a" || fileType == "aac" || - fileType == "pvr") - return new DVDPlayerCodec(); - else if (fileType == "wv") - return new DVDPlayerCodec(); - else if (fileType == "669" || fileType == "abc" || - fileType == "amf" || fileType == "ams" || - fileType == "dbm" || fileType == "dmf" || - fileType == "dsm" || fileType == "far" || - fileType == "it" || fileType == "j2b" || - fileType == "mdl" || fileType == "med" || - fileType == "mod" || fileType == "itgz"|| - fileType == "mt2" || fileType == "mtm" || - fileType == "okt" || fileType == "pat" || - fileType == "psm" || fileType == "ptm" || - fileType == "s3m" || fileType == "stm" || - fileType == "ult" || fileType == "umx" || - fileType == "xm" || fileType == "mdgz" || - fileType == "s3gz" || fileType == "xmgz") - return new ModplugCodec(); - else if (fileType == "nsf" || fileType == "nsfstream") - return new NSFCodec(); -#ifdef HAS_SPC_CODEC - else if (fileType == "spc") - return new SPCCodec(); -#endif - else if (fileType == "sid" || fileType == "sidstream") - return new SIDCodec(); - else if (VGMCodec::IsSupportedFormat(strFileType)) - return new VGMCodec(); - else if (fileType == "ym") - return new YMCodec(); - else if (fileType == "wma") - return new DVDPlayerCodec(); - else if (fileType == "aiff" || fileType == "aif") - return new DVDPlayerCodec(); - else if (fileType == "xwav") - return new DVDPlayerCodec(); - else if (TimidityCodec::IsSupportedFormat(strFileType)) - return new TimidityCodec(); -#ifdef HAS_ASAP_CODEC - else if (ASAPCodec::IsSupportedFormat(strFileType) || fileType == "asapstream") - return new ASAPCodec(); -#endif - else if (fileType == "tta") - return new DVDPlayerCodec(); - else if (fileType == "tak") - return new DVDPlayerCodec(); - else if (fileType == "opus") - return new DVDPlayerCodec(); - else if (fileType == "dff" || fileType == "dsf") - return new DVDPlayerCodec(); - return NULL; + DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); + return dvdcodec; } ICodec* CodecFactory::CreateCodecDemux(const std::string& strFile, const std::string& strContent, unsigned int filecache) @@ -152,62 +69,37 @@ ICodec* CodecFactory::CreateCodecDemux(const std::string& strFile, const std::st } } } - if (content == "audio/mpeg" - || content == "audio/mpeg3" - || content == "audio/mp3") - { - DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); - dvdcodec->SetContentType(content); - return dvdcodec; - } - else if (StringUtils::StartsWith(content, "audio/l16")) - { - DVDPlayerCodec *pCodec = new DVDPlayerCodec; - pCodec->SetContentType(content); - return pCodec; - } - else if(content == "audio/aac" || - content == "audio/aacp" || - content == "audio/x-ms-wma" || - content == "audio/x-ape" || - content == "audio/ape") - { - DVDPlayerCodec *pCodec = new DVDPlayerCodec; - pCodec->SetContentType(content); - return pCodec; - } - else if( content == "application/ogg" || content == "audio/ogg") - return CreateOGGCodec(strFile,filecache); - else if (content == "audio/x-xbmc-pcm") - { - // audio/x-xbmc-pcm this is the used codec for AirTunes - // (apples audio only streaming) - DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); - dvdcodec->SetContentType(content); - return dvdcodec; - } - else if (content == "audio/flac" || content == "audio/x-flac" || content == "application/x-flac") + + if( content == "audio/mpeg" || + content == "audio/mpeg3" || + content == "audio/mp3" || + content == "audio/aac" || + content == "audio/aacp" || + content == "audio/x-ms-wma" || + content == "audio/x-ape" || + content == "audio/ape" || + content == "application/ogg" || + content == "audio/ogg" || + content == "audio/x-xbmc-pcm" || + content == "audio/flac" || + content == "audio/x-flac" || + content == "application/x-flac" + ) { DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); dvdcodec->SetContentType(content); return dvdcodec; } - - if (urlFile.IsProtocol("shout")) + else if (urlFile.IsProtocol("shout")) { DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); dvdcodec->SetContentType("audio/mp3"); return dvdcodec; // if we got this far with internet radio - content-type was wrong. gamble on mp3. } - - if (urlFile.IsFileType("wav") || + else if (urlFile.IsFileType("wav") || content == "audio/wav" || content == "audio/x-wav") { - //lets see what it contains... - //this kinda sucks 'cause if it's a plain wav file the file - //will be opened, sniffed and closed 2 times before it is opened *again* for wav - //would be better if the papcodecs could work with bitstreams instead of filenames. DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); dvdcodec->SetContentType("audio/x-spdif-compressed"); if (dvdcodec->Init(strFile, filecache)) @@ -218,31 +110,11 @@ ICodec* CodecFactory::CreateCodecDemux(const std::string& strFile, const std::st dvdcodec = new DVDPlayerCodec(); dvdcodec->SetContentType(content); return dvdcodec; - } - else if (urlFile.IsFileType("ogg") || urlFile.IsFileType("oggstream") || urlFile.IsFileType("oga")) - return CreateOGGCodec(strFile,filecache); - - //default - return CreateCodec(urlFile.GetFileType()); -} - -ICodec* CodecFactory::CreateOGGCodec(const std::string& strFile, - unsigned int filecache) -{ - // oldnemesis: we want to use OGGCodec() for OGG music since unlike DVDCodec - // it provides better timings for Karaoke. However OGGCodec() cannot handle - // ogg-flac and ogg videos, that's why this block. - ICodec* codec = new OGGCodec(); - try - { - if (codec->Init(strFile, filecache)) - return codec; - } - catch( ... ) + else { + DVDPlayerCodec *dvdcodec = new DVDPlayerCodec(); + return dvdcodec; } - delete codec; - return new DVDPlayerCodec(); } diff --git a/xbmc/cores/paplayer/CodecFactory.h b/xbmc/cores/paplayer/CodecFactory.h index 77cad13eb4..e1d44bff6d 100644 --- a/xbmc/cores/paplayer/CodecFactory.h +++ b/xbmc/cores/paplayer/CodecFactory.h @@ -27,10 +27,7 @@ class CodecFactory public: CodecFactory() {} virtual ~CodecFactory() {} - - static ICodec* CreateCodec(const std::string& strFileType); + static ICodec* CreateCodec(const std::string &type); static ICodec* CreateCodecDemux(const std::string& strFile, const std::string& strContent,unsigned int filecache); -private: - static ICodec* CreateOGGCodec(const std::string& strFile, unsigned int filecache); }; diff --git a/xbmc/cores/paplayer/Makefile.in b/xbmc/cores/paplayer/Makefile.in index c23be252fe..3986277fe9 100644 --- a/xbmc/cores/paplayer/Makefile.in +++ b/xbmc/cores/paplayer/Makefile.in @@ -10,24 +10,7 @@ endif SRCS = AudioDecoder.cpp SRCS += CodecFactory.cpp SRCS += DVDPlayerCodec.cpp -SRCS += ModplugCodec.cpp -SRCS += NSFCodec.cpp -SRCS += OggCallback.cpp -SRCS += OGGcodec.cpp SRCS += PAPlayer.cpp -SRCS += SIDCodec.cpp -SRCS += TimidityCodec.cpp -SRCS += VGMCodec.cpp -SRCS += YMCodec.cpp - -ifeq (@USE_ASAP_CODEC@,1) -SRCS += ASAPCodec.cpp -endif - -ifneq ($(ARCH), arm) -CXXFLAGS += -DHAS_SPC_CODEC -SRCS += SPCCodec.cpp -endif LIB = paplayer.a diff --git a/xbmc/cores/paplayer/ModplugCodec.cpp b/xbmc/cores/paplayer/ModplugCodec.cpp deleted file mode 100644 index 6d790c988f..0000000000 --- a/xbmc/cores/paplayer/ModplugCodec.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2009-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ModplugCodec.h" -#include "utils/URIUtils.h" -#include "filesystem/File.h" -#include "utils/log.h" -#include "utils/StringUtils.h" -#include <cstdlib> -#include <cstdio> - -using namespace XFILE; - -ModplugCodec::ModplugCodec() -{ - m_CodecName = "mod"; - m_module = NULL; -} - -ModplugCodec::~ModplugCodec() -{ - DeInit(); -} - -bool ModplugCodec::Init(const std::string &strFile, unsigned int filecache) -{ - DeInit(); - - if (!m_dll.Load()) - return false; - - // set correct codec name - m_CodecName = URIUtils::GetExtension(strFile); - StringUtils::TrimLeft(m_CodecName, "."); - StringUtils::ToUpper(m_CodecName); - - // Read our file to memory so it can be passed to ModPlug_Load() - CFile file; - XFILE::auto_buffer buf; - if (file.LoadFile(strFile, buf) <= 0) - { - CLog::Log(LOGERROR,"ModplugCodec: error opening file %s!",strFile.c_str()); - return false; - } - // Now load the module - m_module = m_dll.ModPlug_Load(buf.get(),buf.size()); - if (!m_module) - { - CLog::Log(LOGERROR,"ModplugCodec: error loading module file %s!",strFile.c_str()); - return false; - } - m_Channels = 2; - m_SampleRate = 44100; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - m_TotalTime = (int64_t)(m_dll.ModPlug_GetLength(m_module)); - - return true; -} - -void ModplugCodec::DeInit() -{ - if (m_module) - m_dll.ModPlug_Unload(m_module); - m_module = NULL; -} - -int64_t ModplugCodec::Seek(int64_t iSeekTime) -{ - m_dll.ModPlug_Seek(m_module, (int)iSeekTime); - return iSeekTime; -} - -int ModplugCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (!m_module) - return READ_ERROR; - - if ((*actualsize = m_dll.ModPlug_Read(m_module, pBuffer, size)) == size) - return READ_SUCCESS; - - return READ_ERROR; -} - -bool ModplugCodec::CanInit() -{ - return m_dll.CanLoad(); -} diff --git a/xbmc/cores/paplayer/ModplugCodec.h b/xbmc/cores/paplayer/ModplugCodec.h deleted file mode 100644 index 9bea4a089e..0000000000 --- a/xbmc/cores/paplayer/ModplugCodec.h +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -/* - * Copyright (C) 2009-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllModplug.h" - -class ModplugCodec : public ICodec -{ -public: - ModplugCodec(); - virtual ~ModplugCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); -private: - ModPlugFile *m_module; - DllModplug m_dll; -}; diff --git a/xbmc/cores/paplayer/NSFCodec.cpp b/xbmc/cores/paplayer/NSFCodec.cpp deleted file mode 100644 index 1438368c18..0000000000 --- a/xbmc/cores/paplayer/NSFCodec.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ -#include <cstdlib> - -#include "NSFCodec.h" -#include "utils/log.h" -#include "utils/RegExp.h" -#include "utils/URIUtils.h" - -NSFCodec::NSFCodec() -{ - m_iTrack = 0; - m_CodecName = "nsf"; - m_nsf = NULL; - m_bIsPlaying = false; - m_szBuffer = NULL; - m_szStartOfBuffer = NULL; - m_iDataInBuffer = 0; - m_iDataPos = 0; -} - -NSFCodec::~NSFCodec() -{ - DeInit(); -} - -bool NSFCodec::Init(const std::string &strFile, unsigned int filecache) -{ - DeInit(); - - if (!m_dll.Load()) - return false; // error logged previously - - std::string strFileToLoad = strFile; - m_iTrack = 0; - if (URIUtils::HasExtension(strFile, ".nsfstream")) - { - // Extract the track to play - std::string strFileName=URIUtils::GetFileName(strFile); - size_t iStart=strFileName.rfind('-') + 1; - m_iTrack = atoi(strFileName.substr(iStart, strFileName.size()-iStart-10).c_str()); - // The directory we are in, is the file - // that contains the bitstream to play, - // so extract it - strFileToLoad = URIUtils::GetDirectory(strFile); - URIUtils::RemoveSlashAtEnd(strFileToLoad); // we want the filename - } - - m_nsf = m_dll.LoadNSF(strFileToLoad.c_str()); - if (!m_nsf) - { - CLog::Log(LOGERROR,"NSFCodec: error opening file %s!",strFile.c_str()); - return false; - } - m_Channels = 1; - m_SampleRate = 48000; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - m_TotalTime = 4*60*1000; // fixme? - m_iDataPos = 0; - - return true; -} - -void NSFCodec::DeInit() -{ - if (m_nsf) - m_dll.FreeNSF(m_nsf); - - m_nsf = 0; - m_bIsPlaying = false; - if (m_szBuffer) - delete[] m_szBuffer; - m_szBuffer = NULL; -} - -int64_t NSFCodec::Seek(int64_t iSeekTime) -{ - if (m_iDataPos > iSeekTime/1000*48000*2) - { - m_dll.StartPlayback(m_nsf,m_iTrack); - m_iDataPos = 0; - } - while (m_iDataPos+2*48000/m_dll.GetPlaybackRate(m_nsf)*2 < iSeekTime/1000*48000*2) - { - m_dll.FrameAdvance(m_nsf); - - m_iDataInBuffer = 48000/m_dll.GetPlaybackRate(m_nsf)*2; - m_szStartOfBuffer = m_szBuffer; - m_iDataPos += 48000/m_dll.GetPlaybackRate(m_nsf)*2; - } - m_dll.FillBuffer(m_nsf,m_szBuffer,48000/m_dll.GetPlaybackRate(m_nsf)); // *2 since two channels - if (iSeekTime/1000*48000*2 > 48000/m_dll.GetPlaybackRate(m_nsf)*2) - m_iDataPos += 48000/m_dll.GetPlaybackRate(m_nsf)*2; - else - m_iDataPos = 0; - m_iDataInBuffer -= int(iSeekTime/1000*48000*2-m_iDataPos); - m_szStartOfBuffer += (iSeekTime/1000*48000*2-m_iDataPos); - m_iDataPos = iSeekTime/1000*48000*2; - - return iSeekTime; -} - -int NSFCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (!m_nsf) - return READ_ERROR; - - if (m_iDataPos >= m_TotalTime/1000*48000*2) - return READ_EOF; - - if (!m_bIsPlaying) - { - m_dll.StartPlayback(m_nsf,m_iTrack); - m_bIsPlaying = true; - m_szBuffer = new char[48000/m_dll.GetPlaybackRate(m_nsf)*2]; - m_szStartOfBuffer = m_szBuffer; - m_iDataPos = 0; - } - - if (m_iDataInBuffer <= 0) - { - m_iDataInBuffer = m_dll.FillBuffer(m_nsf,m_szBuffer,48000/m_dll.GetPlaybackRate(m_nsf)); // *2 since two channels - - m_szStartOfBuffer = m_szBuffer; - } - - *actualsize = size<m_iDataInBuffer?size:m_iDataInBuffer; - memcpy(pBuffer,m_szStartOfBuffer,*actualsize); - m_szStartOfBuffer += *actualsize; - m_iDataInBuffer -= *actualsize; - m_iDataPos += *actualsize; - - return READ_SUCCESS; -} - -bool NSFCodec::CanInit() -{ - return m_dll.CanLoad(); -} diff --git a/xbmc/cores/paplayer/NSFCodec.h b/xbmc/cores/paplayer/NSFCodec.h deleted file mode 100644 index c81197e914..0000000000 --- a/xbmc/cores/paplayer/NSFCodec.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef NSF_CODEC_H_ -#define NSF_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllNosefart.h" - -class NSFCodec : public ICodec -{ -public: - NSFCodec(); - virtual ~NSFCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - -private: - int m_iTrack; - void* m_nsf; - bool m_bIsPlaying; - - DllNosefart m_dll; - char* m_szBuffer; - char* m_szStartOfBuffer; // never allocated - int m_iDataInBuffer; - int64_t m_iDataPos; -}; - -#endif - diff --git a/xbmc/cores/paplayer/OGGcodec.cpp b/xbmc/cores/paplayer/OGGcodec.cpp deleted file mode 100644 index a2e9599d1a..0000000000 --- a/xbmc/cores/paplayer/OGGcodec.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "OGGcodec.h" -#include "FileItem.h" -#include "utils/log.h" -#include "utils/URIUtils.h" -#include "cores/AudioEngine/Utils/AEUtil.h" -#include "music/tags/TagLoaderTagLib.h" - -OGGCodec::OGGCodec() : m_callback(m_file) -{ - m_SampleRate = 0; - m_Channels = 0; - m_BitsPerSample = 0; - m_DataFormat = AE_FMT_INVALID; - m_Bitrate = 0; - m_CodecName = "ogg"; - m_TimeOffset = 0.0; - m_CurrentStream=0; - m_TotalTime = 0; - m_inited = false; - memset(&m_VorbisFile, 0, sizeof(m_VorbisFile)); -} - -OGGCodec::~OGGCodec() -{ - DeInit(); -} - -bool OGGCodec::Init(const std::string &strFile1, unsigned int filecache) -{ - if (m_inited) - return true; - std::string strFile=strFile1; - if (!m_dll.Load()) - return false; - - m_CurrentStream=0; - - // A bitstream inside a ogg file? - if (URIUtils::HasExtension(strFile, ".oggstream")) - { - // Extract the bitstream to play - std::string strFileName=URIUtils::GetFileName(strFile); - size_t iStart = strFileName.rfind('-') + 1; - m_CurrentStream = atoi(strFileName.substr(iStart, strFileName.size()-iStart-10).c_str())-1; - // The directory we are in, is the file - // that contains the bitstream to play, - // so extract it - strFile = URIUtils::GetDirectory(strFile); - URIUtils::RemoveSlashAtEnd(strFile); // we want the filename - } - - CFileItem item(strFile, false); - - // Open the file to play - if (!m_file.Open(strFile, READ_CACHED)) - { - CLog::Log(LOGERROR, "OGGCodec: Can't open %s", strFile1.c_str()); - return false; - } - - // setup ogg i/o callbacks - ov_callbacks oggIOCallbacks = m_callback.Get(strFile); - - // open ogg file with decoder - if (m_dll.ov_open_callbacks(&m_callback, &m_VorbisFile, NULL, 0, oggIOCallbacks)!=0) - { - CLog::Log(LOGERROR, "OGGCodec: Can't open decoder for %s", strFile1.c_str()); - return false; - } - - long iStreams=m_dll.ov_streams(&m_VorbisFile); - if (iStreams>1) - { - if (m_CurrentStream > iStreams) - { - DeInit(); - return false; - } - } - - // Calculate the offset in secs where the bitstream starts - for (int i=0; i<m_CurrentStream; ++i) - m_TimeOffset += m_dll.ov_time_total(&m_VorbisFile, i); - - // get file info - vorbis_info* pInfo=m_dll.ov_info(&m_VorbisFile, m_CurrentStream); - if (!pInfo) - { - CLog::Log(LOGERROR, "OGGCodec: Can't get stream info from %s", strFile1.c_str()); - DeInit(); - return false; - } - - m_SampleRate = pInfo->rate; - m_Channels = pInfo->channels; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - if (item.IsInternetStream()) - m_TotalTime = -1; - else - m_TotalTime = (int64_t)m_dll.ov_time_total(&m_VorbisFile, m_CurrentStream)*1000; - m_Bitrate = pInfo->bitrate_nominal; - if (m_Bitrate == 0 && m_TotalTime > 0 && !item.IsInternetStream()) - m_Bitrate = (int)(m_file.GetLength()*8 / (m_TotalTime / 1000)); - - if (m_SampleRate==0 || m_Channels==0 || m_BitsPerSample==0 || m_TotalTime==0) - { - CLog::Log(LOGERROR, "OGGCodec: incomplete stream info from %s, SampleRate=%i, Channels=%i, BitsPerSample=%i, TotalTime=%" PRIu64, strFile1.c_str(), m_SampleRate, m_Channels, m_BitsPerSample, m_TotalTime); - DeInit(); - return false; - } - - // Get replay gain tags - vorbis_comment* pComments=m_dll.ov_comment(&m_VorbisFile, m_CurrentStream); - if (pComments) - { - CTagLoaderTagLib tagLoaderTagLib; - tagLoaderTagLib.Load(strFile, m_tag, "oga"); - } - - // Seek to the logical bitstream to play - if (m_TimeOffset>0.0) - { - if (m_dll.ov_time_seek(&m_VorbisFile, m_TimeOffset)!=0) - { - CLog::Log(LOGERROR, "OGGCodec: Can't seek to the bitstream start time (%s)", strFile1.c_str()); - DeInit(); - return false; - } - } - - m_inited = true; - - return true; -} - -void OGGCodec::DeInit() -{ - if (m_VorbisFile.datasource) - m_dll.ov_clear(&m_VorbisFile); - m_VorbisFile.datasource = NULL; - m_inited = false; -} - -int64_t OGGCodec::Seek(int64_t iSeekTime) -{ - if (m_dll.ov_time_seek(&m_VorbisFile, m_TimeOffset+(double)(iSeekTime/1000.0f))!=0) - return 0; - - return iSeekTime; -} - -int OGGCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - *actualsize=0; - int iBitStream=-1; - - // the maximum chunk size the vorbis decoder seem to return with one call is 4096 - long lRead=m_dll.ov_read(&m_VorbisFile, (char*)pBuffer, size, 0, 2, 1, &iBitStream); - - if (lRead == OV_HOLE) - return READ_SUCCESS; - - // Our logical bitstream changed, we reached the eof - if (lRead > 0 && m_CurrentStream!=iBitStream) - lRead=0; - - if (lRead<0) - { - CLog::Log(LOGERROR, "OGGCodec: Read error %lu", lRead); - return READ_ERROR; - } - else if (lRead==0) - return READ_EOF; - else - *actualsize=lRead; - - return READ_SUCCESS; -} - -bool OGGCodec::CanInit() -{ - return m_dll.CanLoad(); -} - -CAEChannelInfo OGGCodec::GetChannelInfo() -{ - static enum AEChannel map[8][9] = { - {AE_CH_FC, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FR, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FC, AE_CH_FR, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FR, AE_CH_BL, AE_CH_BR, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FC, AE_CH_FR, AE_CH_BL, AE_CH_BR, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FC, AE_CH_FR, AE_CH_BL, AE_CH_BR, AE_CH_LFE, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FC, AE_CH_FR, AE_CH_SL, AE_CH_SR, AE_CH_BL, AE_CH_BR, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FC, AE_CH_FR, AE_CH_SL, AE_CH_SR, AE_CH_BL, AE_CH_BR, AE_CH_LFE, AE_CH_NULL} - }; - - if (m_Channels > 8) - return CAEUtil::GuessChLayout(m_Channels); - - return CAEChannelInfo(map[m_Channels - 1]); -} diff --git a/xbmc/cores/paplayer/OGGcodec.h b/xbmc/cores/paplayer/OGGcodec.h deleted file mode 100644 index 392079140b..0000000000 --- a/xbmc/cores/paplayer/OGGcodec.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "CachingCodec.h" -#include "DllVorbisfile.h" -#include "OggCallback.h" - -class OGGCodec : public CachingCodec -{ -public: - OGGCodec(); - virtual ~OGGCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - virtual CAEChannelInfo GetChannelInfo(); - -private: - COggCallback m_callback; - - DllVorbisfile m_dll; - OggVorbis_File m_VorbisFile; - double m_TimeOffset; - int m_CurrentStream; - bool m_inited; -}; diff --git a/xbmc/cores/paplayer/OggCallback.cpp b/xbmc/cores/paplayer/OggCallback.cpp deleted file mode 100644 index 20d8687f1f..0000000000 --- a/xbmc/cores/paplayer/OggCallback.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "OggCallback.h" -#include "FileItem.h" - -COggCallback::COggCallback(XFILE::CFile& file) : m_file(file) -{ -} - -ov_callbacks COggCallback::Get(const std::string& strFile) -{ - // libvorbis requires that a non-seekable stream would always return -1 from seek actions. - // so for network streams - tweak the seek method to a static one that always return -1. - CFileItem item(strFile, false); - - ov_callbacks oggIOCallbacks; - oggIOCallbacks.read_func=ReadCallback; - oggIOCallbacks.seek_func=item.IsInternetStream()?NoSeekCallback:SeekCallback; - oggIOCallbacks.tell_func=TellCallback; - oggIOCallbacks.close_func=CloseCallback; - - return oggIOCallbacks; -} - -size_t COggCallback::ReadCallback(void *ptr, size_t size, size_t nmemb, void *datasource) -{ - COggCallback* pCallback=(COggCallback*)datasource; - if (!pCallback) - return 0; - - const ssize_t res = pCallback->m_file.Read(ptr, size*nmemb); - if (res < 0) - return 0; - return res; -} - -int COggCallback::SeekCallback(void *datasource, ogg_int64_t offset, int whence) -{ - COggCallback* pCallback=(COggCallback*)datasource; - if (!pCallback) - return 0; - - return (int)pCallback->m_file.Seek(offset, whence); -} - -int COggCallback::NoSeekCallback(void *datasource, ogg_int64_t offset, int whence) -{ - return -1; -} - -int COggCallback::CloseCallback(void *datasource) -{ - COggCallback* pCallback=(COggCallback*)datasource; - if (!pCallback) - return 0; - - pCallback->m_file.Close(); - return 1; -} - -long COggCallback::TellCallback(void *datasource) -{ - COggCallback* pCallback=(COggCallback*)datasource; - if (!pCallback) - return 0; - - return (long)pCallback->m_file.GetPosition(); -} - diff --git a/xbmc/cores/paplayer/OggCallback.h b/xbmc/cores/paplayer/OggCallback.h deleted file mode 100644 index 8e42bd60c3..0000000000 --- a/xbmc/cores/paplayer/OggCallback.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "DllVorbisfile.h" -#include "filesystem/File.h" - -class COggCallback -{ -public: - COggCallback(XFILE::CFile& file); - - static ov_callbacks Get(const std::string& strFile); - - static size_t ReadCallback(void *ptr, size_t size, size_t nmemb, void *datasource); - static int SeekCallback(void *datasource, ogg_int64_t offset, int whence); - static int NoSeekCallback(void *datasource, ogg_int64_t offset, int whence); - static int CloseCallback(void *datasource); - static long TellCallback(void *datasource); -protected: - XFILE::CFile& m_file; -}; - diff --git a/xbmc/cores/paplayer/SIDCodec.cpp b/xbmc/cores/paplayer/SIDCodec.cpp deleted file mode 100644 index b1a1a2b719..0000000000 --- a/xbmc/cores/paplayer/SIDCodec.cpp +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "SIDCodec.h" -#include "cores/DllLoader/DllLoader.h" -#include "FileItem.h" -#include "utils/log.h" -#include "utils/URIUtils.h" -#include "cores/AudioEngine/Utils/AEUtil.h" - -SIDCodec::SIDCodec() -{ - m_CodecName = "sid"; - m_sid = 0; - m_iTrack = -1; - m_iDataPos = -1; -} - -SIDCodec::~SIDCodec() -{ - DeInit(); -} - -bool SIDCodec::Init(const std::string &strFile, unsigned int filecache) -{ - if (!m_dll.Load()) - return false; // error logged previously - - m_dll.Init(); - - std::string strFileToLoad = strFile; - m_iTrack = 0; - if (URIUtils::HasExtension(strFile, ".sidstream")) - { - // Extract the track to play - std::string strFileName=URIUtils::GetFileName(strFile); - size_t iStart = strFileName.rfind('-') + 1; - m_iTrack = atoi(strFileName.substr(iStart, strFileName.size()-iStart-10).c_str()); - // The directory we are in, is the file - // that contains the bitstream to play, - // so extract it - strFileToLoad = URIUtils::GetDirectory(strFile); - URIUtils::RemoveSlashAtEnd(strFileToLoad); // we want the filename - } - - m_sid = m_dll.LoadSID(strFileToLoad.c_str()); - if (!m_sid) - { - CLog::Log(LOGERROR,"SIDCodec: error opening file %s!",strFile.c_str()); - return false; - } - - m_Channels = 1; - m_SampleRate = 48000; - m_BitsPerSample = 16; - m_TotalTime = 4*60*1000; - m_DataFormat = AE_FMT_S16NE; - - return true; -} - -void SIDCodec::DeInit() -{ - if (m_sid) - m_dll.FreeSID(m_sid); - m_sid = 0; -} - -int64_t SIDCodec::Seek(int64_t iSeekTime) -{ - char temp[3840*2]; - if (m_iDataPos > iSeekTime/1000*48000*2) - { - m_dll.StartPlayback(m_sid,m_iTrack); - m_iDataPos = 0; - } - - while (m_iDataPos < iSeekTime/1000*48000*2) - { - int64_t iRead = iSeekTime/1000*48000*2-m_iDataPos; - if (iRead > 3840*2) - { - m_dll.SetSpeed(m_sid,32*100); - iRead = 3840*2; - } - else - m_dll.SetSpeed(m_sid,100); - - iRead = m_dll.FillBuffer(m_sid,temp,int(iRead)); - if (!iRead) - break; // get out of here - if (iRead == 3840*2) - m_iDataPos += iRead*32; - else m_iDataPos += iRead; - } - return iSeekTime; -} - -int SIDCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (m_iDataPos == -1) - { - m_dll.StartPlayback(m_sid,m_iTrack); - m_iDataPos = 0; - } - - if (m_iDataPos >= m_TotalTime/1000*48000*2) - return READ_EOF; - - m_dll.SetSpeed(m_sid,100); - if ((*actualsize=m_dll.FillBuffer(m_sid,pBuffer,size))> 0) - { - m_iDataPos += *actualsize; - return READ_SUCCESS; - } - - return READ_ERROR; -} - -bool SIDCodec::CanInit() -{ - return m_dll.CanLoad(); -} - -CAEChannelInfo SIDCodec::GetChannelInfo() -{ - static enum AEChannel map[1][2] = { - {AE_CH_FC, AE_CH_NULL} - }; - - if (m_Channels > 1) - return CAEUtil::GuessChLayout(m_Channels); - - return CAEChannelInfo(map[m_Channels - 1]); -} - diff --git a/xbmc/cores/paplayer/SIDCodec.h b/xbmc/cores/paplayer/SIDCodec.h deleted file mode 100644 index 2433d9178f..0000000000 --- a/xbmc/cores/paplayer/SIDCodec.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef SID_CODEC_H_ -#define SID_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllSidplay2.h" - -class SIDCodec : public ICodec -{ -public: - SIDCodec(); - virtual ~SIDCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - virtual CAEChannelInfo GetChannelInfo(); - - virtual void SetTotalTime(int64_t totaltime) - { - m_TotalTime = totaltime*1000; - } -private: - DllSidplay2 m_dll; - void* m_sid; - int m_iTrack; - int64_t m_iDataPos; -}; - -#endif - diff --git a/xbmc/cores/paplayer/SPCCodec.cpp b/xbmc/cores/paplayer/SPCCodec.cpp deleted file mode 100644 index c06fb5caff..0000000000 --- a/xbmc/cores/paplayer/SPCCodec.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "SPCCodec.h" -#include "cores/DllLoader/DllLoader.h" -#include "cores/DllLoader/SoLoader.h" -#include "music/tags/MusicInfoTagLoaderSPC.h" -#include "music/tags/MusicInfoTag.h" -#include "filesystem/File.h" -#include "DynamicDll.h" -#include "Util.h" -#include "utils/log.h" -#ifdef TARGET_WINDOWS -#include "cores/DllLoader/Win32DllLoader.h" -#endif - -using namespace MUSIC_INFO; -using namespace XFILE; - -SPCCodec::SPCCodec() -{ - m_CodecName = "spc"; - m_szBuffer = NULL; - m_pApuRAM = NULL; - m_iDataPos = 0; - m_loader = NULL; - m_dll.EmuAPU = NULL; - m_dll.LoadSPCFile = NULL; - m_dll.SeekAPU = NULL; -#ifdef TARGET_POSIX - m_dll.ResetAPU = NULL; - m_dll.InitAPU = NULL; -#endif -} - -SPCCodec::~SPCCodec() -{ - DeInit(); -} - -bool SPCCodec::Init(const std::string &strFile, unsigned int filecache) -{ - // SNESAPU can ONLY be opened and used by one instance (lot's of statics). - // So to work around this problem with SNESAPU, we need to make sure that - // each instance of SPCCodec has it's own instance of SNESAPU. Do this by - // coping DLL_PATH_SPC_CODEC into special://temp and using a unique name. Then - // loading this unique named SNESAPU as the library. - // This forces the shared lib loader to load a per-instance copy of SNESAPU. -#ifdef TARGET_POSIX - m_loader_name = CUtil::GetNextFilename("special://temp/SNESAPU-%03d.so", 999); - XFILE::CFile::Copy(DLL_PATH_SPC_CODEC, m_loader_name); - - m_loader = new SoLoader(m_loader_name); -#else - m_loader_name = CUtil::GetNextFilename("special://temp/SNESAPU-%03d.dll", 999); - XFILE::CFile::Copy(DLL_PATH_SPC_CODEC, m_loader_name); - - m_loader = new Win32DllLoader(m_loader_name); -#endif - if (!m_loader) - { - XFILE::CFile::Delete(m_loader_name); - return false; - } - - if (!m_loader->Load()) - { - delete m_loader; - m_loader = NULL; - XFILE::CFile::Delete(m_loader_name); - return false; - } - - m_loader->ResolveExport("LoadSPCFile",(void**)&m_dll.LoadSPCFile); - m_loader->ResolveExport("EmuAPU",(void**)&m_dll.EmuAPU); - m_loader->ResolveExport("SeekAPU",(void**)&m_dll.SeekAPU); -#ifdef TARGET_POSIX - m_loader->ResolveExport("InitAPU",(void**)&m_dll.InitAPU); - m_loader->ResolveExport("ResetAPU",(void**)&m_dll.ResetAPU); -#endif - - CFile file; - if (!file.Open(strFile)) - { - CLog::Log(LOGERROR,"SPCCodec: error opening file %s!",strFile.c_str()); - return false; - } - m_szBuffer = new char[0x10200]; - if (file.Read(m_szBuffer,0x10200) <= 0) - { - delete[] m_szBuffer; - m_szBuffer = NULL; - file.Close(); - CLog::Log(LOGERROR,"SPCCodec: error reading file %s!",strFile.c_str()); - return false; - } - file.Close(); - - m_pApuRAM = new u8[65536]; -#ifdef TARGET_POSIX - m_dll.InitAPU(); - m_dll.ResetAPU(); -#endif - - m_dll.LoadSPCFile(m_szBuffer); - - m_SampleRate = 32000; - m_Channels = 2; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - CMusicInfoTagLoaderSPC tagLoader; - CMusicInfoTag tag; - tagLoader.Load(strFile,tag); - if (tag.Loaded()) - m_TotalTime = tag.GetDuration()*1000; - else - m_TotalTime = 4*60*1000; // default - m_iDataPos = 0; - - return true; -} - -void SPCCodec::DeInit() -{ - if (m_loader) { - delete m_loader; - m_loader = NULL; - XFILE::CFile::Delete(m_loader_name); - } - if (m_szBuffer) - delete[] m_szBuffer; - m_szBuffer = NULL; - - if (m_pApuRAM) - delete[] m_pApuRAM; - m_pApuRAM = NULL; -} - -int64_t SPCCodec::Seek(int64_t iSeekTime) -{ - if (m_iDataPos > iSeekTime/1000*m_SampleRate*4) - { - m_dll.LoadSPCFile(m_szBuffer); - m_iDataPos = iSeekTime/1000*m_SampleRate*4; - } - else - { - int64_t iDataPos2 = m_iDataPos; - m_iDataPos = iSeekTime/1000*m_SampleRate*4; - iSeekTime -= (iDataPos2*1000)/(m_SampleRate*4); - } - - m_dll.SeekAPU((u32)iSeekTime*64,0); - return (m_iDataPos*1000)/(m_SampleRate*4); -} - -int SPCCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (m_iDataPos >= m_TotalTime/1000*m_SampleRate*4) - return READ_EOF; - - *actualsize = (int)((BYTE*)m_dll.EmuAPU(pBuffer,0,size/4)-pBuffer); - m_iDataPos += *actualsize; - - if (*actualsize) - return READ_SUCCESS; - else - return READ_ERROR; -} - -bool SPCCodec::CanInit() -{ - return true; -} - diff --git a/xbmc/cores/paplayer/SPCCodec.h b/xbmc/cores/paplayer/SPCCodec.h deleted file mode 100644 index 6945dc91a7..0000000000 --- a/xbmc/cores/paplayer/SPCCodec.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef SPC_CODEC_H_ -#define SPC_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "snesapu/Types.h" -#include "../DllLoader/LibraryLoader.h" - -class SPCCodec : public ICodec -{ -public: - SPCCodec(); - virtual ~SPCCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); -private: -#ifdef TARGET_POSIX - typedef void (__cdecl *LoadMethod) ( const void* p1); - typedef void* (__cdecl *EmuMethod) ( void *p1, u32 p2, u32 p3); - typedef void (__cdecl *SeekMethod) ( u32 p1, b8 p2 ); - typedef u32 (__cdecl *InitMethod)(void); - typedef void (__cdecl *DeInitMethod)(void); -#else - typedef void (__stdcall* LoadMethod) ( const void* p1); - typedef void* (__stdcall * EmuMethod) ( void *p1, u32 p2, u32 p3); - typedef void (__stdcall * SeekMethod) ( u32 p1, b8 p2 ); -#endif - struct - { - LoadMethod LoadSPCFile; - EmuMethod EmuAPU; - SeekMethod SeekAPU; -#ifdef TARGET_POSIX - InitMethod InitAPU; - DeInitMethod ResetAPU; -#endif - } m_dll; - - LibraryLoader* m_loader; - std::string m_loader_name; - - char* m_szBuffer; - u8* m_pApuRAM; - int64_t m_iDataPos; -}; - -#endif diff --git a/xbmc/cores/paplayer/TimidityCodec.cpp b/xbmc/cores/paplayer/TimidityCodec.cpp deleted file mode 100644 index 5cb3fbe87c..0000000000 --- a/xbmc/cores/paplayer/TimidityCodec.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "TimidityCodec.h" -#include "URL.h" -#include "../DllLoader/LibraryLoader.h" -#include "../DllLoader/SoLoader.h" -#include "../DllLoader/DllLoader.h" -#include "Util.h" -#include "utils/log.h" -#include "filesystem/SpecialProtocol.h" -#ifdef TARGET_WINDOWS -#include "../DllLoader/Win32DllLoader.h" -#endif - -static const char * DEFAULT_SOUNDFONT_FILE = "special://masterprofile/timidity/soundfont.sf2"; - -TimidityCodec::TimidityCodec() -{ - m_CodecName = "mid"; - m_mid = 0; - m_iTrack = -1; - m_iDataPos = -1; - m_loader = NULL; - memset(&m_dll, 0, sizeof(m_dll)); -} - -TimidityCodec::~TimidityCodec() -{ - DeInit(); -} - -bool TimidityCodec::Init(const std::string &strFile, unsigned int filecache) -{ - // We do not need to init/load Timidity more than once - // - // Note the above comment makes no sense as TimidityCodec is not a singleton. - // In fact, MID_CODEC can ONLY be opened and used by one instance (lot's of statics). - // So to work around this problem with MID_CODEC, we need to make sure that - // each instance of TimidityCodec has it's own instance of MID_CODEC. Do this by - // coping DLL_PATH_MID_CODEC into special://temp and using a unique name. Then - // loading this unique named MID_CODEC as the library. - // This forces the shared lib loader to load a per-instance copy of MID_CODEC. - if ( !m_loader ) - { -#ifdef TARGET_POSIX - m_loader_name = CUtil::GetNextFilename("special://temp/libtimidity-%03d.so", 999); - XFILE::CFile::Copy(DLL_PATH_MID_CODEC, m_loader_name); - - m_loader = new SoLoader(m_loader_name.c_str()); -#else - m_loader_name = CUtil::GetNextFilename("special://temp/libtimidity-%03d.dll", 999); - XFILE::CFile::Copy(DLL_PATH_MID_CODEC, m_loader_name); - - m_loader = new Win32DllLoader(m_loader_name); -#endif - if (!m_loader) - { - XFILE::CFile::Delete(m_loader_name); - return false; - } - - if (!m_loader->Load()) - { - delete m_loader; - m_loader = NULL; - XFILE::CFile::Delete(m_loader_name); - return false; - } - - m_loader->ResolveExport("DLL_Init",(void**)&m_dll.Init); - m_loader->ResolveExport("DLL_LoadMID",(void**)&m_dll.LoadMID); - m_loader->ResolveExport("DLL_FreeMID",(void**)&m_dll.FreeMID); - m_loader->ResolveExport("DLL_FillBuffer",(void**)&m_dll.FillBuffer); - m_loader->ResolveExport("DLL_GetLength",(void**)&m_dll.GetLength); - m_loader->ResolveExport("DLL_Cleanup",(void**)&m_dll.Cleanup); - m_loader->ResolveExport("DLL_ErrorMsg",(void**)&m_dll.ErrorMsg); - m_loader->ResolveExport("DLL_Seek",(void**)&m_dll.Seek); - - if ( m_dll.Init( DEFAULT_SOUNDFONT_FILE ) == 0 ) - { - CLog::Log(LOGERROR,"TimidityCodec: cannot init codec: %s", m_dll.ErrorMsg() ); - CLog::Log(LOGERROR,"Failed to initialize MIDI codec. Please make sure you configured MIDI playback according to http://kodi.wiki/view/HOW-TO:Setup_XBMC_for_karaoke" ); - return false; - } - } - - // Free the song if already loaded - if ( m_mid ) - m_dll.FreeMID( m_mid ); - - CURL url(strFile); - if (!url.IsLocal()) - { - std::string file = CUtil::GetNextFilename("special://temp/midi%03d.mid",999); - XFILE::CFile::Copy(strFile,file); - url.Parse(file); - } - - m_mid = m_dll.LoadMID(CSpecialProtocol::TranslatePath(url.Get()).c_str()); - if (!m_mid) - { - CLog::Log(LOGERROR,"TimidityCodec: error opening file %s: %s",strFile.c_str(), m_dll.ErrorMsg()); - return false; - } - - m_Channels = 2; - m_SampleRate = 48000; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - m_TotalTime = (int64_t)m_dll.GetLength(m_mid); - - return true; -} - -void TimidityCodec::DeInit() -{ - if ( m_mid ) - m_dll.FreeMID(m_mid); - - if ( m_loader ) - { - m_dll.Cleanup(); - delete m_loader; - XFILE::CFile::Delete(m_loader_name); - } - - m_mid = 0; - m_loader = 0; -} - -int64_t TimidityCodec::Seek(int64_t iSeekTime) -{ - int64_t result = (int64_t)m_dll.Seek(m_mid,(unsigned long)iSeekTime); - m_iDataPos = result/1000*48000*4; - - return result; -} - -int TimidityCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (m_iDataPos == -1) - { - m_iDataPos = 0; - } - - if (m_iDataPos >= m_TotalTime/1000*48000*4) - return READ_EOF; - - if ((*actualsize=m_dll.FillBuffer(m_mid,(char*)pBuffer,size))> 0) - { - m_iDataPos += *actualsize; - return READ_SUCCESS; - } - - return READ_ERROR; -} - -bool TimidityCodec::CanInit() -{ - return XFILE::CFile::Exists("special://xbmc/system/players/paplayer/timidity/timidity.cfg") - || XFILE::CFile::Exists( DEFAULT_SOUNDFONT_FILE ); -} - -bool TimidityCodec::IsSupportedFormat(const std::string& strExt) -{ - if (strExt == "mid" || strExt == "kar") - return true; - - return false; -} - diff --git a/xbmc/cores/paplayer/TimidityCodec.h b/xbmc/cores/paplayer/TimidityCodec.h deleted file mode 100644 index 2751d15e79..0000000000 --- a/xbmc/cores/paplayer/TimidityCodec.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef Timidity_CODEC_H_ -#define Timidity_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllTimidity.h" - -class TimidityCodec : public ICodec -{ -public: - TimidityCodec(); - virtual ~TimidityCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - static bool IsSupportedFormat(const std::string& strExt); - -private: - LibraryLoader* m_loader; - std::string m_loader_name; - - typedef int (__cdecl *InitMethod) ( const char * soundfont ); - typedef void* (__cdecl *LoadMethod) ( const char* p1); - typedef int (__cdecl *FillMethod) ( void* p1, char* p2, int p3); - typedef void (__cdecl *CleanupMethod)(); - typedef void (__cdecl *FreeMethod) ( void* p1); - typedef const char* (__cdecl *ErrorMsgMethod) (); - typedef unsigned long (__cdecl *LengthMethod) ( void* p1 ); - typedef unsigned long (__cdecl *SeekMethod) ( void* p1, unsigned long p2); - - struct - { - InitMethod Init; - CleanupMethod Cleanup; - ErrorMsgMethod ErrorMsg; - LoadMethod LoadMID; - FillMethod FillBuffer; - FreeMethod FreeMID; - LengthMethod GetLength; - SeekMethod Seek; - } m_dll; - - void * m_mid; - int m_iTrack; - int64_t m_iDataPos; -}; - -#endif - diff --git a/xbmc/cores/paplayer/VGMCodec.cpp b/xbmc/cores/paplayer/VGMCodec.cpp deleted file mode 100644 index b87efb784c..0000000000 --- a/xbmc/cores/paplayer/VGMCodec.cpp +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "VGMCodec.h" -#include "utils/log.h" -#include "utils/URIUtils.h" - -VGMCodec::VGMCodec() -{ - m_CodecName = "vgm"; - m_vgm = 0; - m_iDataPos = -1; - m_DataFormat = AE_FMT_INVALID; -} - -VGMCodec::~VGMCodec() -{ - DeInit(); -} - -bool VGMCodec::Init(const std::string &strFile, unsigned int filecache) -{ - if (!m_dll.Load()) - return false; // error logged previously - - m_dll.Init(); - - //std::string strFileToLoad = "filereader://"+strFile; - std::string strFileToLoad = "special://temp/" + URIUtils::GetFileName(strFile); - XFILE::CFile::Copy(strFile, strFileToLoad); - - m_vgm = m_dll.LoadVGM(strFileToLoad.c_str(), &m_SampleRate, &m_BitsPerSample, &m_Channels); - if (!m_vgm) - { - CLog::Log(LOGERROR,"%s: error opening file %s!",__FUNCTION__,strFile.c_str()); - return false; - } - - switch (m_BitsPerSample) - { - case 8: m_DataFormat = AE_FMT_U8 ; break; - case 16: m_DataFormat = AE_FMT_S16NE; break; - case 32: m_DataFormat = AE_FMT_FLOAT; break; - } - - m_TotalTime = (int64_t)m_dll.GetLength(m_vgm); - - return true; -} - -void VGMCodec::DeInit() -{ - if (m_vgm) - m_dll.FreeVGM(m_vgm); - m_vgm = 0; -} - -int64_t VGMCodec::Seek(int64_t iSeekTime) -{ - int64_t result = (int64_t)m_dll.Seek(m_vgm,(unsigned long)iSeekTime); - m_iDataPos = result/1000*m_SampleRate*m_BitsPerSample*m_Channels/8; - - return result; -} - -int VGMCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if (m_iDataPos == -1) - { - m_iDataPos = 0; - } - - if (m_iDataPos >= m_TotalTime/1000*m_SampleRate*m_BitsPerSample*m_Channels/8) - { - return READ_EOF; - } - - if ((*actualsize=m_dll.FillBuffer(m_vgm,(char*)pBuffer,size))> 0) - { - m_iDataPos += *actualsize; - return READ_SUCCESS; - } - - return READ_ERROR; -} - -bool VGMCodec::CanInit() -{ - return m_dll.CanLoad(); -} - -bool VGMCodec::IsSupportedFormat(const std::string& strExt) -{ - if (strExt == "aax" || - strExt == "acm" || - strExt == "adp" || - strExt == "ads" || - strExt == "adx" || - strExt == "afc" || - strExt == "agsc" || - strExt == "ahx" || - strExt == "aifc" || - strExt == "aix" || - strExt == "amts" || - strExt == "as4" || - strExt == "asd" || - strExt == "asf" || - strExt == "asr" || - strExt == "ass" || - strExt == "ast" || - strExt == "aud" || - strExt == "aus" || - strExt == "bg00" || - strExt == "bgw" || - strExt == "bh2pcm" || - strExt == "bmdx" || - strExt == "brstm" || - strExt == "capdsp" || - strExt == "ccc" || - strExt == "cfn" || - strExt == "cnk" || - strExt == "dcs" || - strExt == "de2" || - strExt == "dsp" || - strExt == "dvi" || - strExt == "dxh" || - strExt == "eam" || - strExt == "emff" || - strExt == "enth" || - strExt == "fag" || - strExt == "filp" || - strExt == "fsb" || - strExt == "gbts" || - strExt == "gca" || - strExt == "gcm" || - strExt == "gcw" || - strExt == "genh" || - strExt == "gms" || - strExt == "gsb" || - strExt == "hgc1" || - strExt == "hps" || - strExt == "idsp" || - strExt == "idvi" || - strExt == "ikm" || - strExt == "ild" || - strExt == "int" || - strExt == "isd" || - strExt == "ivb" || - strExt == "joe" || - strExt == "kces" || - strExt == "kcey" || - strExt == "kraw" || - strExt == "leg" || - strExt == "logg" || - strExt == "lwav" || - strExt == "matx" || - strExt == "mi4" || - strExt == "mib" || - strExt == "mic" || - strExt == "mihb" || - strExt == "mpdsp" || - strExt == "mss" || - strExt == "msvp" || - strExt == "mus" || - strExt == "musc" || - strExt == "musx" || - strExt == "mwv" || - strExt == "npsf" || - strExt == "nwa" || - strExt == "omu" || - strExt == "p2bt" || - strExt == "pcm" || - strExt == "pdt" || - strExt == "pnb" || - strExt == "pos" || - strExt == "psh" || - strExt == "psw" || - strExt == "raw" || - strExt == "rkv" || - strExt == "rnd" || - strExt == "rsd" || - strExt == "rsf" || - strExt == "rstm" || - strExt == "rwsd" || - strExt == "rwav" || - strExt == "rws" || - strExt == "rwx" || - strExt == "rxw" || - strExt == "sad" || - strExt == "sdt" || - strExt == "seg" || - strExt == "sfl" || - strExt == "sfs" || - strExt == "sl3" || - strExt == "sli" || - strExt == "smp" || - strExt == "sng" || - strExt == "spd" || - strExt == "spsd" || - strExt == "spw" || - strExt == "ss2" || - strExt == "ss7" || - strExt == "ssm" || - strExt == "stma" || - strExt == "str" || - strExt == "strm" || - strExt == "sts" || - strExt == "svag" || - strExt == "svs" || - strExt == "swd" || - strExt == "tec" || - strExt == "thp" || - strExt == "tydsp" || - strExt == "um3" || - strExt == "vag" || - strExt == "vas" || - strExt == "vgs" || - strExt == "vig" || - strExt == "vpk" || - strExt == "vs" || - strExt == "waa" || - strExt == "wac" || - strExt == "wad" || - strExt == "wam" || - strExt == "wavm" || - strExt == "wp2" || - strExt == "wsi" || - strExt == "wvs" || - strExt == "xa" || - strExt == "xa2" || - strExt == "xa30" || - strExt == "xmu" || - strExt == "xsf" || - strExt == "xss" || - strExt == "xvas" || - strExt == "xwav" || - strExt == "xwb" || - strExt == "ydsp" || - strExt == "ymf" || - strExt == "zwdsp" -) - return true; - - return false; -} diff --git a/xbmc/cores/paplayer/VGMCodec.h b/xbmc/cores/paplayer/VGMCodec.h deleted file mode 100644 index f65ba2eedc..0000000000 --- a/xbmc/cores/paplayer/VGMCodec.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef CUBE_CODEC_H_ -#define CUBE_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllVGMStream.h" - -class VGMCodec : public ICodec -{ -public: - VGMCodec(); - virtual ~VGMCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - static bool IsSupportedFormat(const std::string& strExt); - -private: - DllVGM m_dll; - int m_vgm; - int64_t m_iDataPos; -}; - -#endif - diff --git a/xbmc/cores/paplayer/WAVcodec.cpp b/xbmc/cores/paplayer/WAVcodec.cpp deleted file mode 100644 index 767915af2e..0000000000 --- a/xbmc/cores/paplayer/WAVcodec.cpp +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "system.h" -#include "WAVcodec.h" -#include "utils/EndianSwap.h" -#include "utils/log.h" -#include "cores/AudioEngine/Utils/AEUtil.h" - -#if defined(TARGET_WINDOWS) -#include <mmreg.h> -#include <ks.h> -#include <ksmedia.h> -#endif - -typedef struct -{ - char chunk_id[4]; - DWORD chunksize; -} WAVE_CHUNK; - -typedef struct -{ - char riff[4]; - DWORD filesize; - char rifftype[4]; -} WAVE_RIFFHEADER; - -WAVCodec::WAVCodec() -{ - m_SampleRate = 0; - m_Channels = 0; - m_BitsPerSample = 0; - m_DataFormat = AE_FMT_INVALID; - m_iDataStart = 0; - m_iDataLen = 0; - m_ChannelMask = 0; - m_Bitrate = 0; - m_CodecName = "wav"; -} - -WAVCodec::~WAVCodec() -{ - DeInit(); -} - -bool WAVCodec::Init(const std::string &strFile, unsigned int filecache) -{ - m_file.Close(); - if (!m_file.Open(strFile, READ_CACHED)) - return false; - - int64_t length; - WAVE_RIFFHEADER riff; - bool hasFmt = false; - bool hasData = false; - - length = m_file.GetLength(); - m_file.Seek(0, SEEK_SET); - m_file.Read(&riff, sizeof(WAVE_RIFFHEADER)); - riff.filesize = Endian_SwapLE32(riff.filesize); - if ((strncmp(riff.riff, "RIFF", 4) != 0) && (strncmp(riff.rifftype, "WAVE", 4) != 0)) - return false; - - // read in each chunk - while(length - m_file.GetPosition() >= (int64_t)sizeof(WAVE_CHUNK)) - { - WAVE_CHUNK chunk; - m_file.Read(&chunk, sizeof(WAVE_CHUNK)); - chunk.chunksize = Endian_SwapLE32(chunk.chunksize); - - // if it is the "fmt " chunk - if (!hasFmt && (strncmp(chunk.chunk_id, "fmt ", 4) == 0)) - { - int64_t read; - WAVEFORMATEXTENSIBLE wfx; - - read = std::min((DWORD)sizeof(WAVEFORMATEXTENSIBLE), chunk.chunksize); - m_file.Read(&wfx, read); - - // get the format information - m_SampleRate = Endian_SwapLE32(wfx.Format.nSamplesPerSec); - m_Channels = Endian_SwapLE16(wfx.Format.nChannels ); - m_BitsPerSample = Endian_SwapLE16(wfx.Format.wBitsPerSample); - - switch(m_BitsPerSample) - { - case 8 : m_DataFormat = AE_FMT_U8 ; break; - case 16: m_DataFormat = AE_FMT_S16LE; break; - case 24: m_DataFormat = AE_FMT_S24NE3; break; - case 32: m_DataFormat = AE_FMT_FLOAT; break; - } - - CLog::Log(LOGINFO, "WAVCodec::Init - Sample Rate: %d, Bits Per Sample: %d, Channels: %d", m_SampleRate, m_BitsPerSample, m_Channels); - if ((m_SampleRate == 0) || (m_Channels == 0) || (m_BitsPerSample == 0) || (m_DataFormat == AE_FMT_INVALID)) - { - CLog::Log(LOGERROR, "WAVCodec::Init - Invalid data in WAVE header"); - return false; - } - - wfx.Format.wFormatTag = Endian_SwapLE16(wfx.Format.wFormatTag); - wfx.Format.cbSize = Endian_SwapLE16(wfx.Format.cbSize ); - - // detect the file type - switch(wfx.Format.wFormatTag) - { - case WAVE_FORMAT_PCM: - CLog::Log(LOGINFO, "WAVCodec::Init - WAVE_FORMAT_PCM detected"); - m_ChannelMask = 0; - break; - - case WAVE_FORMAT_IEEE_FLOAT: - CLog::Log(LOGINFO, "WAVCodec::Init - WAVE_FORMAT_IEEE_FLOAT detected"); - if (wfx.Format.wBitsPerSample != 32) - { - CLog::Log(LOGERROR, "WAVCodec::Init - Only 32bit Float is supported"); - return false; - } - - m_ChannelMask = 0; - break; - - case WAVE_FORMAT_EXTENSIBLE: - if (wfx.Format.cbSize < 22) - { - CLog::Log(LOGERROR, "WAVCodec::Init - Corrupted WAVE_FORMAT_EXTENSIBLE header"); - return false; - } - m_ChannelMask = Endian_SwapLE32(wfx.dwChannelMask); - CLog::Log(LOGINFO, "WAVCodec::Init - WAVE_FORMAT_EXTENSIBLE detected, channel mask: %d", m_ChannelMask); - - wfx.SubFormat.Data1 = Endian_SwapLE32(wfx.SubFormat.Data1); - wfx.SubFormat.Data2 = Endian_SwapLE16(wfx.SubFormat.Data2); - wfx.SubFormat.Data3 = Endian_SwapLE16(wfx.SubFormat.Data3); - if (memcmp(&wfx.SubFormat, &KSDATAFORMAT_SUBTYPE_PCM, sizeof(GUID)) == 0) - { - CLog::Log(LOGINFO, "WAVCodec::Init - SubFormat KSDATAFORMAT_SUBTYPE_PCM Detected"); - } - else if (memcmp(&wfx.SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, sizeof(GUID)) == 0) - { - CLog::Log(LOGINFO, "WAVCodec::Init - SubFormat KSDATAFORMAT_SUBTYPE_IEEE_FLOAT Detected"); - if (wfx.Format.wBitsPerSample != 32) - { - CLog::Log(LOGERROR, "WAVCodec::Init - Only 32bit Float is supported"); - return false; - } - } - else - { - CLog::Log(LOGERROR, "WAVCodec::Init - Unsupported extensible Wave format"); - return false; - } - break; - - default: - CLog::Log(LOGERROR, "WAVCodec::Init - Unsupported Wave Format %d", wfx.Format.wFormatTag); - return false; - break; - } - - // seek past any extra data that may be in the header - m_file.Seek(chunk.chunksize - read, SEEK_CUR); - hasFmt = true; - - } - else if (!hasData && (strncmp(chunk.chunk_id, "data", 4) == 0)) - { - m_iDataStart = (long)m_file.GetPosition(); - m_iDataLen = chunk.chunksize; - chunk.chunksize += (chunk.chunksize % 2); - - // sanity check on the data length - if (m_iDataLen > length - m_iDataStart) - { - CLog::Log(LOGWARNING, "WAVCodec::Init - Wave has corrupt data length of %i when it can't be longer then %" PRId64"", m_iDataLen, length - m_iDataStart); - m_iDataLen = (long)(length - m_iDataStart); - } - - // if this data chunk is empty, we will look for another data chunk that is not empty - if (m_iDataLen == 0) - CLog::Log(LOGWARNING, "WAVCodec::Init - Empty data chunk, will look for another"); - else - hasData = true; - - //seek past the data - m_file.Seek(chunk.chunksize, SEEK_CUR); - - } - else - { - // any unknown chunks just seek past - m_file.Seek(chunk.chunksize, SEEK_CUR); - } - - // dont keep reading if we have the chunks we need - if (hasFmt && hasData) - break; - } - - if (!hasFmt || !hasData) - { - CLog::Log(LOGERROR, "WAVCodec::Init - Corrupt file, unable to locate both fmt and data chunks"); - return false; - } - - m_TotalTime = (int)(((float)m_iDataLen / (m_SampleRate * m_Channels * (m_BitsPerSample / 8))) * 1000); - m_Bitrate = (int)(((float)m_iDataLen * 8) / ((float)m_TotalTime / 1000)); - - // ensure the parameters are valid - if ((m_TotalTime <= 0) || (m_Bitrate <= 0)) - { - CLog::Log(LOGERROR, "WAVCodec::Init - The total time/bitrate is invalid, possibly corrupt file"); - return false; - } - - // Seek to the start of the data chunk - m_file.Seek(m_iDataStart, SEEK_SET); - return true; -} - -void WAVCodec::DeInit() -{ - m_file.Close(); -} - -int64_t WAVCodec::Seek(int64_t iSeekTime) -{ - // Calculate size of a single sample of the file - int iSampleSize=m_SampleRate*m_Channels*(m_BitsPerSample/8); - - // Seek to the position in the file - m_file.Seek(m_iDataStart+((iSeekTime/1000)*iSampleSize)); - - return iSeekTime; -} - -int WAVCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - *actualsize=0; - unsigned int iPos=(int)m_file.GetPosition(); - if (iPos >= m_iDataStart+m_iDataLen) - return READ_EOF; - - int iAmountRead=m_file.Read(pBuffer, size); - if (iAmountRead>0) - { - *actualsize=iAmountRead; - return READ_SUCCESS; - } - - return READ_ERROR; -} - -bool WAVCodec::CanInit() -{ - return true; -} - -CAEChannelInfo WAVCodec::GetChannelInfo() -{ - static enum AEChannel map[2][3] = { - {AE_CH_FC, AE_CH_NULL}, - {AE_CH_FL, AE_CH_FR , AE_CH_NULL} - }; - - if (m_Channels > 2) - return CAEUtil::GuessChLayout(m_Channels); - - return CAEChannelInfo(map[m_Channels - 1]); -} diff --git a/xbmc/cores/paplayer/WAVcodec.h b/xbmc/cores/paplayer/WAVcodec.h deleted file mode 100644 index 6e4e6240d7..0000000000 --- a/xbmc/cores/paplayer/WAVcodec.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#pragma once -#include "ICodec.h" -#include "CachingCodec.h" -#include "ADPCMCodec.h" - -class WAVCodec : public CachingCodec -{ -public: - WAVCodec(); - virtual ~WAVCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - virtual CAEChannelInfo GetChannelInfo(); - -private: - uint32_t m_iDataStart; - uint32_t m_iDataLen; - DWORD m_ChannelMask; -}; - diff --git a/xbmc/cores/paplayer/YMCodec.cpp b/xbmc/cores/paplayer/YMCodec.cpp deleted file mode 100644 index d67cb0c5d5..0000000000 --- a/xbmc/cores/paplayer/YMCodec.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "YMCodec.h" -#include "cores/DllLoader/DllLoader.h" -#include "utils/log.h" - -YMCodec::YMCodec() -{ - m_CodecName = "ym"; - m_ym = 0; - m_iDataPos = -1; -} - -YMCodec::~YMCodec() -{ - DeInit(); -} - -bool YMCodec::Init(const std::string &strFile, unsigned int filecache) -{ - if (!m_dll.Load()) - return false; // error logged previously - - m_ym = m_dll.LoadYM(strFile.c_str()); - if (!m_ym) - { - CLog::Log(LOGERROR,"YMCodec: error opening file %s!",strFile.c_str()); - return false; - } - - m_Channels = 1; - m_SampleRate = 44100; - m_BitsPerSample = 16; - m_DataFormat = AE_FMT_S16NE; - m_TotalTime = m_dll.GetLength(m_ym)*1000; - - return true; -} - -void YMCodec::DeInit() -{ - if (m_ym) - m_dll.FreeYM(m_ym); - m_ym = 0; -} - -int64_t YMCodec::Seek(int64_t iSeekTime) -{ - return m_dll.Seek(m_ym,(unsigned long)iSeekTime); -} - -int YMCodec::ReadPCM(BYTE *pBuffer, int size, int *actualsize) -{ - if ((*actualsize=m_dll.FillBuffer(m_ym,(char*)pBuffer,size))> 0) - { - m_iDataPos += *actualsize; - return READ_SUCCESS; - } - - return READ_ERROR; -} - -bool YMCodec::CanInit() -{ - return m_dll.CanLoad(); -} - diff --git a/xbmc/cores/paplayer/YMCodec.h b/xbmc/cores/paplayer/YMCodec.h deleted file mode 100644 index ec05413ecb..0000000000 --- a/xbmc/cores/paplayer/YMCodec.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef YM_CODEC_H_ -#define YM_CODEC_H_ - -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ICodec.h" -#include "DllStSound.h" - -class YMCodec : public ICodec -{ -public: - YMCodec(); - virtual ~YMCodec(); - - virtual bool Init(const std::string &strFile, unsigned int filecache); - virtual void DeInit(); - virtual int64_t Seek(int64_t iSeekTime); - virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize); - virtual bool CanInit(); - -private: - DllStSound m_dll; - void* m_ym; - int64_t m_iDataPos; -}; - -#endif - diff --git a/xbmc/filesystem/ASAPFileDirectory.cpp b/xbmc/filesystem/ASAPFileDirectory.cpp deleted file mode 100644 index 185ccd2802..0000000000 --- a/xbmc/filesystem/ASAPFileDirectory.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ASAPFileDirectory.h" -#include "File.h" -#include "music/tags/MusicInfoTagLoaderASAP.h" - -using namespace XFILE; - -CASAPFileDirectory::CASAPFileDirectory() -{ - m_strExt = "asapstream"; -} - -CASAPFileDirectory::~CASAPFileDirectory() -{ -} - -int CASAPFileDirectory::GetTrackCount(const std::string &strPath) -{ - if (!m_dll.Load()) - return 0; - - MUSIC_INFO::CMusicInfoTagLoaderASAP loader; - loader.Load(strPath,m_tag); - m_tag.SetDuration(0); // ignore duration or all songs get duration of track 1 - - return m_dll.asapGetSongs(strPath.c_str()); -} diff --git a/xbmc/filesystem/ASAPFileDirectory.h b/xbmc/filesystem/ASAPFileDirectory.h deleted file mode 100644 index b154ca583e..0000000000 --- a/xbmc/filesystem/ASAPFileDirectory.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#pragma once - -#include "MusicFileDirectory.h" -#include "DllASAP.h" - -namespace XFILE -{ - class CASAPFileDirectory : public CMusicFileDirectory - { - public: - CASAPFileDirectory(void); - virtual ~CASAPFileDirectory(void); - private: - DllASAP m_dll; - virtual int GetTrackCount(const std::string& strPath); - }; -} diff --git a/xbmc/filesystem/FileDirectoryFactory.cpp b/xbmc/filesystem/FileDirectoryFactory.cpp index bf70db05e6..3a5ba4efb5 100644 --- a/xbmc/filesystem/FileDirectoryFactory.cpp +++ b/xbmc/filesystem/FileDirectoryFactory.cpp @@ -24,13 +24,8 @@ #include "utils/URIUtils.h" #include "FileDirectoryFactory.h" #ifdef HAS_FILESYSTEM -#include "OGGFileDirectory.h" -#include "NSFFileDirectory.h" -#include "SIDFileDirectory.h" -#include "ASAPFileDirectory.h" #include "UDFDirectory.h" #include "RSSDirectory.h" -#include "cores/paplayer/ASAPCodec.h" #endif #ifdef HAS_FILESYSTEM_RAR #include "RarDirectory.h" @@ -90,51 +85,7 @@ IFileDirectory* CFileDirectoryFactory::Create(const CURL& url, CFileItem* pItem, } #ifdef HAS_FILESYSTEM - if ((url.IsFileType("ogg") || url.IsFileType("oga")) && CFile::Exists(url)) - { - IFileDirectory* pDir=new COGGFileDirectory; - // Has the ogg file more than one bitstream? - if (pDir->ContainsFiles(url)) - { - return pDir; // treat as directory - } - - delete pDir; - return NULL; - } - if (url.IsFileType("nsf") && CFile::Exists(url)) - { - IFileDirectory* pDir=new CNSFFileDirectory; - // Has the nsf file more than one track? - if (pDir->ContainsFiles(url)) - return pDir; // treat as directory - - delete pDir; - return NULL; - } - if (url.IsFileType("sid") && CFile::Exists(url)) - { - IFileDirectory* pDir=new CSIDFileDirectory; - // Has the sid file more than one track? - if (pDir->ContainsFiles(url)) - return pDir; // treat as directory - - delete pDir; - return NULL; - } -#ifdef HAS_ASAP_CODEC - if (ASAPCodec::IsSupportedFormat(url.GetFileType()) && CFile::Exists(url)) - { - IFileDirectory* pDir=new CASAPFileDirectory; - // Has the asap file more than one track? - if (pDir->ContainsFiles(url)) - return pDir; // treat as directory - - delete pDir; - return NULL; - } -#endif - + if (pItem->IsRSS()) return new CRSSDirectory(); diff --git a/xbmc/filesystem/Makefile.in b/xbmc/filesystem/Makefile.in index 72f1087ca9..6e12c4b0c7 100644 --- a/xbmc/filesystem/Makefile.in +++ b/xbmc/filesystem/Makefile.in @@ -1,7 +1,6 @@ CXXFLAGS += -D__STDC_FORMAT_MACROS SRCS = AddonsDirectory.cpp -SRCS += ASAPFileDirectory.cpp SRCS += CacheStrategy.cpp SRCS += CircularCache.cpp SRCS += CDDADirectory.cpp @@ -43,8 +42,6 @@ SRCS += MusicDatabaseDirectory.cpp SRCS += MusicDatabaseFile.cpp SRCS += MusicFileDirectory.cpp SRCS += MusicSearchDirectory.cpp -SRCS += NSFFileDirectory.cpp -SRCS += OGGFileDirectory.cpp SRCS += OverrideDirectory.cpp SRCS += OverrideFile.cpp SRCS += PlaylistDirectory.cpp @@ -65,7 +62,6 @@ SRCS += SAPDirectory.cpp SRCS += SAPFile.cpp SRCS += SFTPDirectory.cpp SRCS += SFTPFile.cpp -SRCS += SIDFileDirectory.cpp SRCS += ShoutcastFile.cpp SRCS += SlingboxDirectory.cpp SRCS += SlingboxFile.cpp diff --git a/xbmc/filesystem/NSFFileDirectory.cpp b/xbmc/filesystem/NSFFileDirectory.cpp deleted file mode 100644 index b1dd4d7576..0000000000 --- a/xbmc/filesystem/NSFFileDirectory.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "NSFFileDirectory.h" -#include "music/tags/MusicInfoTagLoaderNSF.h" -#include "music/tags/MusicInfoTag.h" - -using namespace MUSIC_INFO; -using namespace XFILE; - -CNSFFileDirectory::CNSFFileDirectory(void) -{ - m_strExt = "nsfstream"; -} - -CNSFFileDirectory::~CNSFFileDirectory(void) -{ -} - -int CNSFFileDirectory::GetTrackCount(const std::string& strPath) -{ - CMusicInfoTagLoaderNSF nsf; - nsf.Load(strPath,m_tag); - m_tag.SetDuration(4*60); // 4 mins - - return nsf.GetStreamCount(strPath); -} diff --git a/xbmc/filesystem/NSFFileDirectory.h b/xbmc/filesystem/NSFFileDirectory.h deleted file mode 100644 index 1015651528..0000000000 --- a/xbmc/filesystem/NSFFileDirectory.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "MusicFileDirectory.h" - -namespace XFILE -{ - class CNSFFileDirectory : public CMusicFileDirectory - { - public: - CNSFFileDirectory(void); - virtual ~CNSFFileDirectory(void); - protected: - virtual int GetTrackCount(const std::string& strPath); - }; -} - diff --git a/xbmc/filesystem/OGGFileDirectory.cpp b/xbmc/filesystem/OGGFileDirectory.cpp deleted file mode 100644 index b791e431ca..0000000000 --- a/xbmc/filesystem/OGGFileDirectory.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "OGGFileDirectory.h" -#include "cores/paplayer/OggCallback.h" -#include "File.h" - -using namespace MUSIC_INFO; -using namespace XFILE; - -COGGFileDirectory::COGGFileDirectory(void) -{ - m_strExt = "oggstream"; -} - -COGGFileDirectory::~COGGFileDirectory(void) -{ -} - -int COGGFileDirectory::GetTrackCount(const std::string& strPath) -{ - if (!m_dll.Load()) - return 0; - - CFile file; - if (!file.Open(strPath)) - return 0; - - COggCallback callback(file); - ov_callbacks oggIOCallbacks = callback.Get(strPath); - OggVorbis_File vf; - // open ogg file with decoder - if (m_dll.ov_open_callbacks(&callback, &vf, NULL, 0, oggIOCallbacks)!=0) - return 0; - - int iStreams=m_dll.ov_streams(&vf); - - m_dll.ov_clear(&vf); - - return iStreams; -} diff --git a/xbmc/filesystem/OGGFileDirectory.h b/xbmc/filesystem/OGGFileDirectory.h deleted file mode 100644 index 275bc38a77..0000000000 --- a/xbmc/filesystem/OGGFileDirectory.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - - -#include "MusicFileDirectory.h" -#include "DllVorbisfile.h" - -namespace XFILE -{ - class COGGFileDirectory : public CMusicFileDirectory - { - public: - COGGFileDirectory(void); - virtual ~COGGFileDirectory(void); - protected: - virtual int GetTrackCount(const std::string& strPath); - private: - DllVorbisfile m_dll; - }; -} diff --git a/xbmc/filesystem/SIDFileDirectory.cpp b/xbmc/filesystem/SIDFileDirectory.cpp deleted file mode 100644 index 4dfe008840..0000000000 --- a/xbmc/filesystem/SIDFileDirectory.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "SIDFileDirectory.h" - -using namespace MUSIC_INFO; -using namespace XFILE; - -CSIDFileDirectory::CSIDFileDirectory(void) -{ - m_strExt = "sidstream"; -} - -CSIDFileDirectory::~CSIDFileDirectory(void) -{ -} - -int CSIDFileDirectory::GetTrackCount(const std::string& strPath) -{ - DllSidplay2 m_dll; - if (!m_dll.Load()) - return 0; - - return m_dll.GetNumberOfSongs(strPath.c_str()); -} diff --git a/xbmc/filesystem/SIDFileDirectory.h b/xbmc/filesystem/SIDFileDirectory.h deleted file mode 100644 index 102e7707f5..0000000000 --- a/xbmc/filesystem/SIDFileDirectory.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "MusicFileDirectory.h" -#include "DllSidplay2.h" - -namespace XFILE -{ - class CSIDFileDirectory : public CMusicFileDirectory - { - public: - CSIDFileDirectory(void); - virtual ~CSIDFileDirectory(void); - private: - DllSidplay2 m_dll; - virtual int GetTrackCount(const std::string& strPath); - }; -} diff --git a/xbmc/music/tags/Makefile b/xbmc/music/tags/Makefile index 0bcb441d00..2a538872f3 100644 --- a/xbmc/music/tags/Makefile +++ b/xbmc/music/tags/Makefile @@ -1,14 +1,9 @@ SRCS=\ MusicInfoTag.cpp \ - MusicInfoTagLoaderASAP.cpp \ MusicInfoTagLoaderCDDA.cpp \ MusicInfoTagLoaderDatabase.cpp \ MusicInfoTagLoaderFactory.cpp \ - MusicInfoTagLoaderMidi.cpp \ - MusicInfoTagLoaderNSF.cpp \ MusicInfoTagLoaderShn.cpp \ - MusicInfoTagLoaderSPC.cpp \ - MusicInfoTagLoaderYM.cpp \ TagLoaderTagLib.cpp \ TagLibVFSStream.cpp \ ReplayGain.cpp \ diff --git a/xbmc/music/tags/MusicInfoTagLoaderASAP.cpp b/xbmc/music/tags/MusicInfoTagLoaderASAP.cpp deleted file mode 100644 index 46f6a63ffb..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderASAP.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ -#include <cstdlib> - -#include "MusicInfoTagLoaderASAP.h" -#include "utils/URIUtils.h" -#include "utils/StringUtils.h" -#include "MusicInfoTag.h" - -using namespace MUSIC_INFO; - -CMusicInfoTagLoaderASAP::CMusicInfoTagLoaderASAP() -{ -} - -CMusicInfoTagLoaderASAP::~CMusicInfoTagLoaderASAP() -{ -} - -bool CMusicInfoTagLoaderASAP::Load(const std::string &strFile, CMusicInfoTag &tag, EmbeddedArt *art) -{ - tag.SetLoaded(false); - - if (!m_dll.Load()) - return false; - - std::string strFileToLoad = strFile; - int song = -1; - std::string strExtension = URIUtils::GetExtension(strFile); - if (StringUtils::EqualsNoCase(strExtension, ".asapstream")) - { - std::string strFileName = URIUtils::GetFileName(strFile); - size_t iStart = strFileName.rfind('-') + 1; - song = atoi(strFileName.substr(iStart, strFileName.size() - iStart - 11).c_str()) - 1; - strFileToLoad = URIUtils::GetDirectory(strFile); - URIUtils::RemoveSlashAtEnd(strFileToLoad); - } - - ASAP_SongInfo songInfo; - if (!m_dll.asapGetInfo(strFileToLoad.c_str(), song, &songInfo)) - return false; - - tag.SetURL(strFileToLoad); - if (songInfo.name[0] != '\0') - tag.SetTitle(songInfo.name); - if (songInfo.author[0] != '\0') - tag.SetArtist(songInfo.author); - if (song >= 0) - tag.SetTrackNumber(song + 1); - if (songInfo.duration >= 0) - tag.SetDuration(songInfo.duration / 1000); - if (songInfo.year > 0) - { - SYSTEMTIME dateTime = { (WORD)songInfo.year, (WORD)songInfo.month, 0, - (WORD)songInfo.day, 0, 0, 0, 0 }; - tag.SetReleaseDate(dateTime); - } - tag.SetLoaded(true); - return true; -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderASAP.h b/xbmc/music/tags/MusicInfoTagLoaderASAP.h deleted file mode 100644 index ead7b49562..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderASAP.h +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ImusicInfoTagLoader.h" -#include "DllASAP.h" - -namespace MUSIC_INFO -{ - class CMusicInfoTagLoaderASAP: public IMusicInfoTagLoader - { - public: - CMusicInfoTagLoaderASAP(void); - virtual ~CMusicInfoTagLoaderASAP(); - - virtual bool Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art = NULL); - private: - DllASAP m_dll; - }; -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp index 8e2aa750f3..6c5ef10f1d 100644 --- a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp +++ b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp @@ -26,24 +26,16 @@ #ifdef HAS_MOD_PLAYER #include "cores/ModPlayer.h" #endif -#include "MusicInfoTagLoaderNSF.h" -#include "MusicInfoTagLoaderSPC.h" -#include "MusicInfoTagLoaderYM.h" #include "MusicInfoTagLoaderDatabase.h" -#include "MusicInfoTagLoaderASAP.h" -#include "MusicInfoTagLoaderMidi.h" #include "utils/StringUtils.h" #include "utils/URIUtils.h" #include "FileItem.h" -#ifdef HAS_ASAP_CODEC -#include "cores/paplayer/ASAPCodec.h" -#endif - #include "addons/AddonManager.h" #include "addons/AudioDecoder.h" using namespace ADDON; + using namespace MUSIC_INFO; CMusicInfoTagLoaderFactory::CMusicInfoTagLoaderFactory() @@ -112,28 +104,6 @@ IMusicInfoTagLoader* CMusicInfoTagLoaderFactory::CreateLoader(const std::string& CMusicInfoTagLoaderSHN *pTagLoader = new CMusicInfoTagLoaderSHN(); return (IMusicInfoTagLoader*)pTagLoader; } - else if (strExtension == "spc") - { - CMusicInfoTagLoaderSPC *pTagLoader = new CMusicInfoTagLoaderSPC(); - return (IMusicInfoTagLoader*)pTagLoader; - } - else if (strExtension == "ym") - { - CMusicInfoTagLoaderYM *pTagLoader = new CMusicInfoTagLoaderYM(); - return (IMusicInfoTagLoader*)pTagLoader; - } -#ifdef HAS_ASAP_CODEC - else if (ASAPCodec::IsSupportedFormat(strExtension) || strExtension == "asapstream") - { - CMusicInfoTagLoaderASAP *pTagLoader = new CMusicInfoTagLoaderASAP(); - return (IMusicInfoTagLoader*)pTagLoader; - } -#endif - else if ( TimidityCodec::IsSupportedFormat( strExtension ) ) - { - CMusicInfoTagLoaderMidi * pTagLoader = new CMusicInfoTagLoaderMidi(); - return (IMusicInfoTagLoader*)pTagLoader; - } return NULL; } diff --git a/xbmc/music/tags/MusicInfoTagLoaderMidi.cpp b/xbmc/music/tags/MusicInfoTagLoaderMidi.cpp deleted file mode 100644 index ae41501771..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderMidi.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "MusicInfoTagLoaderMidi.h" -#include "utils/URIUtils.h" -#include "MusicInfoTag.h" - -using namespace XFILE; -using namespace MUSIC_INFO; - - -CMusicInfoTagLoaderMidi::CMusicInfoTagLoaderMidi() - : IMusicInfoTagLoader() -{ -} - - -CMusicInfoTagLoaderMidi::~CMusicInfoTagLoaderMidi() -{ -} - -// There is no reliable tag information in MIDI files. There is a 'title' field (@T), but it looks -// like everyone puts there song title, artist name, the name of the person who created the lyrics and -// greetings to their friends and family. Therefore we return the song title as file name, and the -// song artist as parent directory. -// A good intention of creating a pattern-based artist/song recognition engine failed greatly. Simple formats -// like %A-%T fail greatly with artists like A-HA and songs like "Ob-la-Di ob-la-Da.mid". So if anyone has -// a good idea which would include cases from above, I'd be happy to hear about it. -bool CMusicInfoTagLoaderMidi::Load(const std::string & strFileName, CMusicInfoTag & tag, EmbeddedArt *art) -{ - tag.SetURL(strFileName); - - std::string path, title; - URIUtils::Split( strFileName, path, title); - URIUtils::RemoveExtension( title ); - - tag.SetTitle( title ); - - URIUtils::RemoveSlashAtEnd(path ); - - if ( !path.empty() ) - { - std::string artist = URIUtils::GetFileName( path ); - if ( !artist.empty() ) - tag.SetArtist( artist ); - } - - tag.SetLoaded(true); - return true; -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderMidi.h b/xbmc/music/tags/MusicInfoTagLoaderMidi.h deleted file mode 100644 index 7c91adb3f2..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderMidi.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ImusicInfoTagLoader.h" -#include "cores/paplayer/TimidityCodec.h" - -namespace MUSIC_INFO -{ - class CMusicInfoTagLoaderMidi : public IMusicInfoTagLoader - { - public: - CMusicInfoTagLoaderMidi(); - virtual ~CMusicInfoTagLoaderMidi(); - virtual bool Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art = NULL); - }; -} - diff --git a/xbmc/music/tags/MusicInfoTagLoaderNSF.cpp b/xbmc/music/tags/MusicInfoTagLoaderNSF.cpp deleted file mode 100644 index 8f9f9d5df0..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderNSF.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "MusicInfoTagLoaderNSF.h" -#include "MusicInfoTag.h" -#include "utils/log.h" - -#include <fstream> - -using namespace MUSIC_INFO; - -CMusicInfoTagLoaderNSF::CMusicInfoTagLoaderNSF(void) -{ - m_nsf = 0; -} - -CMusicInfoTagLoaderNSF::~CMusicInfoTagLoaderNSF() -{ -} - -int CMusicInfoTagLoaderNSF::GetStreamCount(const std::string& strFileName) -{ - if (!m_dll.Load()) - return 0; - - m_nsf = m_dll.LoadNSF(strFileName.c_str()); - if (!m_nsf) - { - CLog::Log(LOGERROR,"MusicInfoTagLoaderNSF: failed to open NSF %s",strFileName.c_str()); - return 0; - } - int result = m_dll.GetNumberOfSongs(m_nsf); - m_dll.FreeNSF(m_nsf); - - return result; -} - -bool CMusicInfoTagLoaderNSF::Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art) -{ - tag.SetLoaded(false); - - if (!m_dll.Load()) - return false; - - m_nsf = m_dll.LoadNSF(strFileName.c_str()); - if (!m_nsf) - { - CLog::Log(LOGERROR,"MusicInfoTagLoaderNSF: failed to open NSF %s",strFileName.c_str()); - return false; - } - - tag.SetURL(strFileName); - - tag.SetLoaded(false); - char* szTitle = (char*)m_dll.GetTitle(m_nsf); // no alloc - if( szTitle && strcmp(szTitle,"<?>") ) - { - tag.SetTitle(szTitle); - tag.SetLoaded(true); - } - - char* szArtist = (char*)m_dll.GetArtist(m_nsf); // no alloc - if( szArtist && strcmp(szArtist,"<?>") && tag.Loaded() ) - tag.SetArtist(szArtist); - - m_dll.FreeNSF(m_nsf); - m_nsf = 0; - - return tag.Loaded(); -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderNSF.h b/xbmc/music/tags/MusicInfoTagLoaderNSF.h deleted file mode 100644 index f018422643..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderNSF.h +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ImusicInfoTagLoader.h" -#include "DllNosefart.h" - -namespace MUSIC_INFO -{ - class CMusicInfoTagLoaderNSF: public IMusicInfoTagLoader - { - public: - CMusicInfoTagLoaderNSF(void); - virtual ~CMusicInfoTagLoaderNSF(); - - virtual bool Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art = NULL); - virtual int GetStreamCount(const std::string& strFileName); - private: - void* m_nsf; - DllNosefart m_dll; - }; -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderYM.cpp b/xbmc/music/tags/MusicInfoTagLoaderYM.cpp deleted file mode 100644 index 39970cd0c7..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderYM.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "MusicInfoTagLoaderYM.h" -#include "MusicInfoTag.h" -#include "utils/log.h" - -using namespace MUSIC_INFO; - -CMusicInfoTagLoaderYM::CMusicInfoTagLoaderYM(void) -{ - m_ym = 0; -} - -CMusicInfoTagLoaderYM::~CMusicInfoTagLoaderYM() -{ -} - -bool CMusicInfoTagLoaderYM::Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art) -{ - tag.SetLoaded(false); - - if (!m_dll.Load()) - return false; - - m_ym = m_dll.LoadYM(strFileName.c_str()); - if (!m_ym) - { - CLog::Log(LOGERROR,"MusicInfoTagLoaderYM: failed to open YM %s",strFileName.c_str()); - return false; - } - - tag.SetURL(strFileName); - - tag.SetLoaded(false); - char* szTitle = (char*)m_dll.GetTitle(m_ym); // no alloc - if (szTitle) - if( strcmp(szTitle,"") ) - { - tag.SetTitle(szTitle); - tag.SetLoaded(true); - } - - char* szArtist = (char*)m_dll.GetArtist(m_ym); // no alloc - if (szArtist) - if( strcmp(szArtist,"") && tag.Loaded() ) - tag.SetArtist(szArtist); - - tag.SetDuration(m_dll.GetLength(m_ym)); - m_dll.FreeYM(m_ym); - m_ym = 0; - - return tag.Loaded(); -} diff --git a/xbmc/music/tags/MusicInfoTagLoaderYM.h b/xbmc/music/tags/MusicInfoTagLoaderYM.h deleted file mode 100644 index 059c5b3ed4..0000000000 --- a/xbmc/music/tags/MusicInfoTagLoaderYM.h +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2013 Team XBMC - * http://xbmc.org - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with XBMC; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include "ImusicInfoTagLoader.h" -#include "DllStSound.h" - -namespace MUSIC_INFO -{ - class CMusicInfoTagLoaderYM: public IMusicInfoTagLoader - { - public: - CMusicInfoTagLoaderYM(void); - virtual ~CMusicInfoTagLoaderYM(); - - virtual bool Load(const std::string& strFileName, CMusicInfoTag& tag, EmbeddedArt *art = NULL); - private: - void* m_ym; - DllStSound m_dll; - }; -} - |