From 50616714add93c8fa82b1411132768760baba173 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sat, 27 Jan 2018 15:08:06 -0800 Subject: [PATCH] Implemented AdPlug decoder. --- .gitmodules | 9 + Cog.xcodeproj/project.pbxproj | 56 ++ .../AdPlug/AdPlug.xcodeproj/project.pbxproj | 882 ++++++++++++++++++ Frameworks/AdPlug/AdPlug/Info.plist | 26 + Frameworks/AdPlug/AdPlug/adplug | 1 + Frameworks/AdPlug/AdPlug/database | 1 + Frameworks/AdPlug/AdPlug/version.h | 1 + .../libbinio.xcodeproj/project.pbxproj | 345 +++++++ Frameworks/libbinio/libbinio/Info.plist | 26 + Frameworks/libbinio/libbinio/binio.h | 175 ++++ Frameworks/libbinio/libbinio/libbinio | 1 + .../AdPlug/AdPlug.xcodeproj/project.pbxproj | 413 ++++++++ Plugins/AdPlug/AdPlug/AdPlugContainer.h | 17 + Plugins/AdPlug/AdPlug/AdPlugContainer.mm | 79 ++ Plugins/AdPlug/AdPlug/AdPlugDecoder.h | 30 + Plugins/AdPlug/AdPlug/AdPlugDecoder.mm | 184 ++++ Plugins/AdPlug/AdPlug/AdPlugMetadataReader.h | 17 + Plugins/AdPlug/AdPlug/AdPlugMetadataReader.mm | 72 ++ Plugins/AdPlug/AdPlug/Info.plist | 26 + Plugins/AdPlug/AdPlug/fileprovider.h | 35 + Plugins/AdPlug/AdPlug/fileprovider.mm | 118 +++ 21 files changed, 2514 insertions(+) create mode 100644 Frameworks/AdPlug/AdPlug.xcodeproj/project.pbxproj create mode 100644 Frameworks/AdPlug/AdPlug/Info.plist create mode 160000 Frameworks/AdPlug/AdPlug/adplug create mode 160000 Frameworks/AdPlug/AdPlug/database create mode 100644 Frameworks/AdPlug/AdPlug/version.h create mode 100644 Frameworks/libbinio/libbinio.xcodeproj/project.pbxproj create mode 100644 Frameworks/libbinio/libbinio/Info.plist create mode 100644 Frameworks/libbinio/libbinio/binio.h create mode 160000 Frameworks/libbinio/libbinio/libbinio create mode 100644 Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj create mode 100755 Plugins/AdPlug/AdPlug/AdPlugContainer.h create mode 100755 Plugins/AdPlug/AdPlug/AdPlugContainer.mm create mode 100755 Plugins/AdPlug/AdPlug/AdPlugDecoder.h create mode 100755 Plugins/AdPlug/AdPlug/AdPlugDecoder.mm create mode 100644 Plugins/AdPlug/AdPlug/AdPlugMetadataReader.h create mode 100644 Plugins/AdPlug/AdPlug/AdPlugMetadataReader.mm create mode 100644 Plugins/AdPlug/AdPlug/Info.plist create mode 100644 Plugins/AdPlug/AdPlug/fileprovider.h create mode 100644 Plugins/AdPlug/AdPlug/fileprovider.mm diff --git a/.gitmodules b/.gitmodules index 1a9a85783..f4ceabbed 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,12 @@ [submodule "Frameworks/OpenMPT/OpenMPT"] path = Frameworks/OpenMPT/OpenMPT url = https://gitlab.kode54.net/kode54/OpenMPT.git +[submodule "Frameworks/AdPlug/AdPlug/adplug"] + path = Frameworks/AdPlug/AdPlug/adplug + url = https://github.com/adplug/adplug.git +[submodule "Frameworks/libbinio/libbinio/libbinio"] + path = Frameworks/libbinio/libbinio/libbinio + url = https://github.com/adplug/libbinio.git +[submodule "Frameworks/AdPlug/AdPlug/database"] + path = Frameworks/AdPlug/AdPlug/database + url = https://github.com/adplug/database.git diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index 618ff85c1..68d97682f 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -183,6 +183,7 @@ 8399D4E21805A55000B503B1 /* XmlContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8399D4E01805A55000B503B1 /* XmlContainer.m */; }; 83B06704180D579E008E3612 /* MIDI.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83B066A1180D5669008E3612 /* MIDI.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 83BCB8DE17FC971300760340 /* FFMPEG.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = B09E94350D747F7B0064F138 /* FFMPEG.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83D3C6AD201D39E1005564CB /* AdPlug.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83D3C601201C674F005564CB /* AdPlug.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 83E5E54C18087CA5001F3284 /* miniModeOffTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 83E5E54A18087CA5001F3284 /* miniModeOffTemplate.pdf */; }; 83E5E54D18087CA5001F3284 /* miniModeOnTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 83E5E54B18087CA5001F3284 /* miniModeOnTemplate.pdf */; }; 83E5FE771FFF0C9D00659F0F /* OpenMPT.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83E5EFB11FFEF78300659F0F /* OpenMPT.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -542,6 +543,27 @@ remoteGlobalIDString = 8D5B49AC048680CD000E48DA; remoteInfo = "FFMPEG Plugin"; }; + 83D3C600201C674F005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83D3C5F3201C674D005564CB; + remoteInfo = AdPlug; + }; + 83D3C6A9201D39BC005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 83D3C5F2201C674D005564CB; + remoteInfo = AdPlug; + }; + 83D3C6AB201D39C3005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 836F6B2518BDB80D0095E648 /* vgmstream.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 836F6B0F18BDB80D0095E648; + remoteInfo = vgmstream; + }; 83E5EFB01FFEF78300659F0F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83E5EFAC1FFEF78100659F0F /* OpenMPT.xcodeproj */; @@ -679,6 +701,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( + 83D3C6AD201D39E1005564CB /* AdPlug.bundle in CopyFiles */, 83E5FE771FFF0C9D00659F0F /* OpenMPT.bundle in CopyFiles */, 83EEAB241C965C56002761C5 /* Syntrax.bundle in CopyFiles */, 83F9D8071A884C54007ABEC2 /* SilenceDecoder.bundle in CopyFiles */, @@ -982,6 +1005,7 @@ 8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = ""; }; 8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = ""; }; 83B0669C180D5668008E3612 /* MIDI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MIDI.xcodeproj; path = Plugins/MIDI/MIDI.xcodeproj; sourceTree = ""; }; + 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AdPlug.xcodeproj; path = Plugins/AdPlug/AdPlug.xcodeproj; sourceTree = ""; }; 83E5E54A18087CA5001F3284 /* miniModeOffTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = miniModeOffTemplate.pdf; path = Images/miniModeOffTemplate.pdf; sourceTree = ""; }; 83E5E54B18087CA5001F3284 /* miniModeOnTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = miniModeOnTemplate.pdf; path = Images/miniModeOnTemplate.pdf; sourceTree = ""; }; 83E5EFAC1FFEF78100659F0F /* OpenMPT.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OpenMPT.xcodeproj; path = Plugins/OpenMPT/OpenMPT.xcodeproj; sourceTree = ""; }; @@ -1262,6 +1286,7 @@ 17B619FF0B909ED400BC003F /* PlugIns */ = { isa = PBXGroup; children = ( + 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */, 83E5EFAC1FFEF78100659F0F /* OpenMPT.xcodeproj */, 83EEAAF51C9651D8002761C5 /* Syntrax.xcodeproj */, 8360EF0017F92B23005208A4 /* HighlyComplete.xcodeproj */, @@ -1677,6 +1702,14 @@ name = Products; sourceTree = ""; }; + 83D3C5FD201C674D005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C601201C674F005564CB /* AdPlug.bundle */, + ); + name = Products; + sourceTree = ""; + }; 83E5EFAD1FFEF78100659F0F /* Products */ = { isa = PBXGroup; children = ( @@ -1848,6 +1881,8 @@ buildRules = ( ); dependencies = ( + 83D3C6AC201D39C3005564CB /* PBXTargetDependency */, + 83D3C6AA201D39BC005564CB /* PBXTargetDependency */, 83E5FE791FFF0CAC00659F0F /* PBXTargetDependency */, 83EEAB261C965C61002761C5 /* PBXTargetDependency */, 83F9D8061A884C33007ABEC2 /* PBXTargetDependency */, @@ -1915,6 +1950,10 @@ mainGroup = 29B97314FDCFA39411CA2CEA /* Cog */; projectDirPath = ""; projectReferences = ( + { + ProductGroup = 83D3C5FD201C674D005564CB /* Products */; + ProjectRef = 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */; + }, { ProductGroup = 566D32170D538550004466A5 /* Products */; ProjectRef = 566D32160D538550004466A5 /* APL.xcodeproj */; @@ -2215,6 +2254,13 @@ remoteRef = 83B066A0180D5669008E3612 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 83D3C601201C674F005564CB /* AdPlug.bundle */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = AdPlug.bundle; + remoteRef = 83D3C600201C674F005564CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 83E5EFB11FFEF78300659F0F /* OpenMPT.bundle */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; @@ -2604,6 +2650,16 @@ name = "FFMPEG Plugin"; targetProxy = 83BCB8DC17FC96FC00760340 /* PBXContainerItemProxy */; }; + 83D3C6AA201D39BC005564CB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AdPlug; + targetProxy = 83D3C6A9201D39BC005564CB /* PBXContainerItemProxy */; + }; + 83D3C6AC201D39C3005564CB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = vgmstream; + targetProxy = 83D3C6AB201D39C3005564CB /* PBXContainerItemProxy */; + }; 83E5FE791FFF0CAC00659F0F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = OpenMPT; diff --git a/Frameworks/AdPlug/AdPlug.xcodeproj/project.pbxproj b/Frameworks/AdPlug/AdPlug.xcodeproj/project.pbxproj new file mode 100644 index 000000000..299bc7b2a --- /dev/null +++ b/Frameworks/AdPlug/AdPlug.xcodeproj/project.pbxproj @@ -0,0 +1,882 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 83D3C577201C66E3005564CB /* rad.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C504201C66C1005564CB /* rad.h */; }; + 83D3C578201C66E3005564CB /* adplug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C505201C66C1005564CB /* adplug.cpp */; }; + 83D3C579201C66E3005564CB /* mtk.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C506201C66C2005564CB /* mtk.h */; }; + 83D3C57A201C66E3005564CB /* psi.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C507201C66C2005564CB /* psi.h */; }; + 83D3C57C201C66E3005564CB /* ksm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C509201C66C2005564CB /* ksm.h */; }; + 83D3C57D201C66E3005564CB /* nukedopl.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C50A201C66C3005564CB /* nukedopl.c */; }; + 83D3C57E201C66E3005564CB /* flash.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C50B201C66C3005564CB /* flash.h */; }; + 83D3C57F201C66E3005564CB /* hybrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C50C201C66C3005564CB /* hybrid.cpp */; }; + 83D3C580201C66E3005564CB /* bam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C50D201C66C3005564CB /* bam.cpp */; }; + 83D3C581201C66E3005564CB /* amd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C50E201C66C4005564CB /* amd.cpp */; }; + 83D3C582201C66E3005564CB /* adplug.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C50F201C66C4005564CB /* adplug.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C583201C66E3005564CB /* mus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C510201C66C4005564CB /* mus.cpp */; }; + 83D3C584201C66E3005564CB /* mad.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C511201C66C4005564CB /* mad.h */; }; + 83D3C585201C66E3005564CB /* hsp.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C512201C66C5005564CB /* hsp.h */; }; + 83D3C586201C66E3005564CB /* cmf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C513201C66C5005564CB /* cmf.cpp */; }; + 83D3C587201C66E3005564CB /* u6m.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C514201C66C5005564CB /* u6m.cpp */; }; + 83D3C588201C66E3005564CB /* dmo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C515201C66C6005564CB /* dmo.cpp */; }; + 83D3C589201C66E3005564CB /* adl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C516201C66C6005564CB /* adl.cpp */; }; + 83D3C58A201C66E3005564CB /* player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C517201C66C6005564CB /* player.cpp */; }; + 83D3C58B201C66E3005564CB /* cmf.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C518201C66C6005564CB /* cmf.h */; }; + 83D3C58C201C66E3005564CB /* d00.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C519201C66C7005564CB /* d00.h */; }; + 83D3C58D201C66E3005564CB /* mad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C51A201C66C7005564CB /* mad.cpp */; }; + 83D3C58E201C66E3005564CB /* hsc.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C51B201C66C7005564CB /* hsc.h */; }; + 83D3C58F201C66E3005564CB /* msc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C51C201C66C7005564CB /* msc.cpp */; }; + 83D3C590201C66E3005564CB /* rad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C51D201C66C8005564CB /* rad.cpp */; }; + 83D3C591201C66E3005564CB /* mdi.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C51E201C66C8005564CB /* mdi.h */; }; + 83D3C592201C66E3005564CB /* mididata.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C51F201C66C8005564CB /* mididata.h */; }; + 83D3C593201C66E3005564CB /* s3m.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C520201C66C8005564CB /* s3m.h */; }; + 83D3C594201C66E3005564CB /* dtm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C521201C66C9005564CB /* dtm.h */; }; + 83D3C595201C66E3005564CB /* sng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C522201C66C9005564CB /* sng.cpp */; }; + 83D3C596201C66E3005564CB /* rat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C523201C66C9005564CB /* rat.cpp */; }; + 83D3C597201C66E3005564CB /* xsm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C524201C66C9005564CB /* xsm.cpp */; }; + 83D3C599201C66E3005564CB /* herad.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C526201C66CA005564CB /* herad.h */; }; + 83D3C59A201C66E3005564CB /* bam.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C527201C66CA005564CB /* bam.h */; }; + 83D3C59B201C66E3005564CB /* bmf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C528201C66CA005564CB /* bmf.cpp */; }; + 83D3C59C201C66E3005564CB /* hsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C529201C66CB005564CB /* hsp.cpp */; }; + 83D3C59D201C66E3005564CB /* dro.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C52A201C66CB005564CB /* dro.h */; }; + 83D3C59E201C66E3005564CB /* mkj.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C52B201C66CB005564CB /* mkj.cpp */; }; + 83D3C59F201C66E3005564CB /* hyp.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C52C201C66CB005564CB /* hyp.h */; }; + 83D3C5A0201C66E3005564CB /* s3m.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C52D201C66CC005564CB /* s3m.cpp */; }; + 83D3C5A1201C66E3005564CB /* mkj.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C52E201C66CC005564CB /* mkj.h */; }; + 83D3C5A2201C66E3005564CB /* mus.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C52F201C66CC005564CB /* mus.h */; }; + 83D3C5A3201C66E3005564CB /* fmc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C530201C66CD005564CB /* fmc.cpp */; }; + 83D3C5A4201C66E3005564CB /* vgm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C531201C66CD005564CB /* vgm.h */; }; + 83D3C5A5201C66E3005564CB /* nemuopl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C532201C66CD005564CB /* nemuopl.cpp */; }; + 83D3C5A6201C66E3005564CB /* protrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C533201C66CD005564CB /* protrack.h */; }; + 83D3C5A7201C66E3005564CB /* sng.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C534201C66CE005564CB /* sng.h */; }; + 83D3C5A8201C66E3005564CB /* mtk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C535201C66CE005564CB /* mtk.cpp */; }; + 83D3C5A9201C66E3005564CB /* lds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C536201C66CE005564CB /* lds.cpp */; }; + 83D3C5AA201C66E3005564CB /* adtrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C537201C66CE005564CB /* adtrack.cpp */; }; + 83D3C5AB201C66E3005564CB /* msc.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C538201C66CF005564CB /* msc.h */; }; + 83D3C5AC201C66E3005564CB /* hybrid.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C539201C66CF005564CB /* hybrid.h */; }; + 83D3C5AD201C66E3005564CB /* psi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C53A201C66CF005564CB /* psi.cpp */; }; + 83D3C5AE201C66E3005564CB /* adtrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C53B201C66D0005564CB /* adtrack.h */; }; + 83D3C5AF201C66E3005564CB /* dtm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C53C201C66D0005564CB /* dtm.cpp */; }; + 83D3C5B0201C66E3005564CB /* imf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C53D201C66D0005564CB /* imf.cpp */; }; + 83D3C5B1201C66E3005564CB /* players.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C53E201C66D1005564CB /* players.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C5B2201C66E3005564CB /* u6m.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C53F201C66D1005564CB /* u6m.h */; }; + 83D3C5B3201C66E3005564CB /* sa2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C540201C66D1005564CB /* sa2.cpp */; }; + 83D3C5B4201C66E3005564CB /* cmfmcsop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C541201C66D2005564CB /* cmfmcsop.cpp */; }; + 83D3C5B6201C66E3005564CB /* hsc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C543201C66D2005564CB /* hsc.cpp */; }; + 83D3C5B7201C66E3005564CB /* nemuopl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C544201C66D3005564CB /* nemuopl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C5B8201C66E3005564CB /* dmo.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C545201C66D3005564CB /* dmo.h */; }; + 83D3C5B9201C66E3005564CB /* imf.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C546201C66D3005564CB /* imf.h */; }; + 83D3C5BB201C66E3005564CB /* players.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C548201C66D4005564CB /* players.cpp */; }; + 83D3C5BC201C66E3005564CB /* protrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C549201C66D4005564CB /* protrack.cpp */; }; + 83D3C5BD201C66E3005564CB /* amd.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C54A201C66D4005564CB /* amd.h */; }; + 83D3C5BE201C66E3005564CB /* dro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C54B201C66D5005564CB /* dro.cpp */; }; + 83D3C5BF201C66E3005564CB /* adlib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C54C201C66D5005564CB /* adlib.cpp */; }; + 83D3C5C0201C66E3005564CB /* rix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C54D201C66D5005564CB /* rix.cpp */; }; + 83D3C5C1201C66E3005564CB /* jbm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C54E201C66D6005564CB /* jbm.cpp */; }; + 83D3C5C2201C66E3005564CB /* dfm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C54F201C66D6005564CB /* dfm.cpp */; }; + 83D3C5C3201C66E3005564CB /* dro2.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C550201C66D6005564CB /* dro2.h */; }; + 83D3C5C4201C66E3005564CB /* cff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C551201C66D6005564CB /* cff.cpp */; }; + 83D3C5C5201C66E3005564CB /* fmc.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C552201C66D7005564CB /* fmc.h */; }; + 83D3C5C6201C66E3005564CB /* mdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C553201C66D7005564CB /* mdi.cpp */; }; + 83D3C5C7201C66E3005564CB /* sa2.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C554201C66D7005564CB /* sa2.h */; }; + 83D3C5C8201C66E3005564CB /* rol.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C555201C66D8005564CB /* rol.h */; }; + 83D3C5C9201C66E3005564CB /* dfm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C556201C66D8005564CB /* dfm.h */; }; + 83D3C5CA201C66E3005564CB /* got.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C557201C66D8005564CB /* got.h */; }; + 83D3C5CB201C66E3005564CB /* adlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C558201C66DA005564CB /* adlib.h */; }; + 83D3C5CC201C66E3005564CB /* cmfmcsop.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C559201C66DA005564CB /* cmfmcsop.h */; }; + 83D3C5CD201C66E3005564CB /* mid.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C55A201C66DA005564CB /* mid.h */; }; + 83D3C5CE201C66E3005564CB /* mid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C55B201C66DA005564CB /* mid.cpp */; }; + 83D3C5CF201C66E3005564CB /* flash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C55C201C66DB005564CB /* flash.cpp */; }; + 83D3C5D0201C66E3005564CB /* lds.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C55D201C66DB005564CB /* lds.h */; }; + 83D3C5D1201C66E3005564CB /* xsm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C55E201C66DB005564CB /* xsm.h */; }; + 83D3C5D2201C66E3005564CB /* a2m.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C55F201C66DC005564CB /* a2m.cpp */; }; + 83D3C5D3201C66E3005564CB /* jbm.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C560201C66DC005564CB /* jbm.h */; }; + 83D3C5D4201C66E3005564CB /* d00.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C561201C66DC005564CB /* d00.cpp */; }; + 83D3C5D5201C66E3005564CB /* dro2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C562201C66DD005564CB /* dro2.cpp */; }; + 83D3C5D6201C66E3005564CB /* sop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C563201C66DD005564CB /* sop.cpp */; }; + 83D3C5D7201C66E3005564CB /* xad.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C564201C66DD005564CB /* xad.h */; }; + 83D3C5D8201C66E3005564CB /* xad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C565201C66DE005564CB /* xad.cpp */; }; + 83D3C5D9201C66E3005564CB /* raw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C566201C66DE005564CB /* raw.cpp */; }; + 83D3C5DA201C66E3005564CB /* hyp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C567201C66DE005564CB /* hyp.cpp */; }; + 83D3C5DB201C66E3005564CB /* rol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C568201C66DE005564CB /* rol.cpp */; }; + 83D3C5DC201C66E3005564CB /* a2m.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C569201C66DF005564CB /* a2m.h */; }; + 83D3C5DD201C66E3005564CB /* herad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C56A201C66DF005564CB /* herad.cpp */; }; + 83D3C5DE201C66E3005564CB /* nukedopl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C56B201C66DF005564CB /* nukedopl.h */; }; + 83D3C5DF201C66E3005564CB /* raw.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C56C201C66E0005564CB /* raw.h */; }; + 83D3C5E0201C66E3005564CB /* ksm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C56D201C66E0005564CB /* ksm.cpp */; }; + 83D3C5E1201C66E3005564CB /* got.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C56E201C66E0005564CB /* got.cpp */; }; + 83D3C5E3201C66E3005564CB /* vgm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C570201C66E1005564CB /* vgm.cpp */; }; + 83D3C5E4201C66E3005564CB /* rat.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C571201C66E1005564CB /* rat.h */; }; + 83D3C5E5201C66E3005564CB /* adl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C572201C66E2005564CB /* adl.h */; }; + 83D3C5E6201C66E3005564CB /* sop.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C573201C66E2005564CB /* sop.h */; }; + 83D3C5E7201C66E3005564CB /* rix.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C574201C66E2005564CB /* rix.h */; }; + 83D3C5E8201C66E3005564CB /* bmf.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C575201C66E3005564CB /* bmf.h */; }; + 83D3C5E9201C66E3005564CB /* cff.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C576201C66E3005564CB /* cff.h */; }; + 83D3C639201C6A81005564CB /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C638201C6A81005564CB /* version.h */; }; + 83D3C63B201C6AE2005564CB /* player.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C63A201C6AE2005564CB /* player.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C648201C6BB9005564CB /* database.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C644201C6BB8005564CB /* database.cpp */; }; + 83D3C649201C6BB9005564CB /* fprovide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C645201C6BB8005564CB /* fprovide.cpp */; }; + 83D3C64A201C6BB9005564CB /* fprovide.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C646201C6BB8005564CB /* fprovide.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C64B201C6BB9005564CB /* database.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C647201C6BB8005564CB /* database.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C64E201C6D38005564CB /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C64C201C6D37005564CB /* debug.c */; }; + 83D3C64F201C6D38005564CB /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C64D201C6D38005564CB /* debug.h */; }; + 83D3C662201C6EC4005564CB /* opl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C661201C6EC3005564CB /* opl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C670201D2C2C005564CB /* silentopl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C66F201D2C2C005564CB /* silentopl.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C6A2201D38DF005564CB /* libbinio.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83D3C691201D3864005564CB /* libbinio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 83D3C6A5201D3939005564CB /* libbinio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D3C691201D3864005564CB /* libbinio.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 83D3C690201D3864005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C68C201D3864005564CB /* libbinio.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83D3C67B201D37D8005564CB; + remoteInfo = libbinio; + }; + 83D3C6A3201D38FE005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C68C201D3864005564CB /* libbinio.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 83D3C67A201D37D8005564CB; + remoteInfo = libbinio; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 83D3C65F201C6E56005564CB /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 83D3C6A2201D38DF005564CB /* libbinio.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 83D3C4D4201C654F005564CB /* AdPlug.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AdPlug.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 83D3C4D8201C6550005564CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 83D3C504201C66C1005564CB /* rad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rad.h; path = adplug/src/rad.h; sourceTree = ""; }; + 83D3C505201C66C1005564CB /* adplug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = adplug.cpp; path = adplug/src/adplug.cpp; sourceTree = ""; }; + 83D3C506201C66C2005564CB /* mtk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mtk.h; path = adplug/src/mtk.h; sourceTree = ""; }; + 83D3C507201C66C2005564CB /* psi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = psi.h; path = adplug/src/psi.h; sourceTree = ""; }; + 83D3C509201C66C2005564CB /* ksm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ksm.h; path = adplug/src/ksm.h; sourceTree = ""; }; + 83D3C50A201C66C3005564CB /* nukedopl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nukedopl.c; path = adplug/src/nukedopl.c; sourceTree = ""; }; + 83D3C50B201C66C3005564CB /* flash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = flash.h; path = adplug/src/flash.h; sourceTree = ""; }; + 83D3C50C201C66C3005564CB /* hybrid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hybrid.cpp; path = adplug/src/hybrid.cpp; sourceTree = ""; }; + 83D3C50D201C66C3005564CB /* bam.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bam.cpp; path = adplug/src/bam.cpp; sourceTree = ""; }; + 83D3C50E201C66C4005564CB /* amd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = amd.cpp; path = adplug/src/amd.cpp; sourceTree = ""; }; + 83D3C50F201C66C4005564CB /* adplug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adplug.h; path = adplug/src/adplug.h; sourceTree = ""; }; + 83D3C510201C66C4005564CB /* mus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mus.cpp; path = adplug/src/mus.cpp; sourceTree = ""; }; + 83D3C511201C66C4005564CB /* mad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mad.h; path = adplug/src/mad.h; sourceTree = ""; }; + 83D3C512201C66C5005564CB /* hsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hsp.h; path = adplug/src/hsp.h; sourceTree = ""; }; + 83D3C513201C66C5005564CB /* cmf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cmf.cpp; path = adplug/src/cmf.cpp; sourceTree = ""; }; + 83D3C514201C66C5005564CB /* u6m.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = u6m.cpp; path = adplug/src/u6m.cpp; sourceTree = ""; }; + 83D3C515201C66C6005564CB /* dmo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dmo.cpp; path = adplug/src/dmo.cpp; sourceTree = ""; }; + 83D3C516201C66C6005564CB /* adl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = adl.cpp; path = adplug/src/adl.cpp; sourceTree = ""; }; + 83D3C517201C66C6005564CB /* player.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = player.cpp; path = adplug/src/player.cpp; sourceTree = ""; }; + 83D3C518201C66C6005564CB /* cmf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cmf.h; path = adplug/src/cmf.h; sourceTree = ""; }; + 83D3C519201C66C7005564CB /* d00.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = d00.h; path = adplug/src/d00.h; sourceTree = ""; }; + 83D3C51A201C66C7005564CB /* mad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mad.cpp; path = adplug/src/mad.cpp; sourceTree = ""; }; + 83D3C51B201C66C7005564CB /* hsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hsc.h; path = adplug/src/hsc.h; sourceTree = ""; }; + 83D3C51C201C66C7005564CB /* msc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = msc.cpp; path = adplug/src/msc.cpp; sourceTree = ""; }; + 83D3C51D201C66C8005564CB /* rad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rad.cpp; path = adplug/src/rad.cpp; sourceTree = ""; }; + 83D3C51E201C66C8005564CB /* mdi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mdi.h; path = adplug/src/mdi.h; sourceTree = ""; }; + 83D3C51F201C66C8005564CB /* mididata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mididata.h; path = adplug/src/mididata.h; sourceTree = ""; }; + 83D3C520201C66C8005564CB /* s3m.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = s3m.h; path = adplug/src/s3m.h; sourceTree = ""; }; + 83D3C521201C66C9005564CB /* dtm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dtm.h; path = adplug/src/dtm.h; sourceTree = ""; }; + 83D3C522201C66C9005564CB /* sng.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sng.cpp; path = adplug/src/sng.cpp; sourceTree = ""; }; + 83D3C523201C66C9005564CB /* rat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rat.cpp; path = adplug/src/rat.cpp; sourceTree = ""; }; + 83D3C524201C66C9005564CB /* xsm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xsm.cpp; path = adplug/src/xsm.cpp; sourceTree = ""; }; + 83D3C526201C66CA005564CB /* herad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = herad.h; path = adplug/src/herad.h; sourceTree = ""; }; + 83D3C527201C66CA005564CB /* bam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bam.h; path = adplug/src/bam.h; sourceTree = ""; }; + 83D3C528201C66CA005564CB /* bmf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bmf.cpp; path = adplug/src/bmf.cpp; sourceTree = ""; }; + 83D3C529201C66CB005564CB /* hsp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hsp.cpp; path = adplug/src/hsp.cpp; sourceTree = ""; }; + 83D3C52A201C66CB005564CB /* dro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dro.h; path = adplug/src/dro.h; sourceTree = ""; }; + 83D3C52B201C66CB005564CB /* mkj.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mkj.cpp; path = adplug/src/mkj.cpp; sourceTree = ""; }; + 83D3C52C201C66CB005564CB /* hyp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hyp.h; path = adplug/src/hyp.h; sourceTree = ""; }; + 83D3C52D201C66CC005564CB /* s3m.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = s3m.cpp; path = adplug/src/s3m.cpp; sourceTree = ""; }; + 83D3C52E201C66CC005564CB /* mkj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mkj.h; path = adplug/src/mkj.h; sourceTree = ""; }; + 83D3C52F201C66CC005564CB /* mus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mus.h; path = adplug/src/mus.h; sourceTree = ""; }; + 83D3C530201C66CD005564CB /* fmc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fmc.cpp; path = adplug/src/fmc.cpp; sourceTree = ""; }; + 83D3C531201C66CD005564CB /* vgm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vgm.h; path = adplug/src/vgm.h; sourceTree = ""; }; + 83D3C532201C66CD005564CB /* nemuopl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = nemuopl.cpp; path = adplug/src/nemuopl.cpp; sourceTree = ""; }; + 83D3C533201C66CD005564CB /* protrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = protrack.h; path = adplug/src/protrack.h; sourceTree = ""; }; + 83D3C534201C66CE005564CB /* sng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sng.h; path = adplug/src/sng.h; sourceTree = ""; }; + 83D3C535201C66CE005564CB /* mtk.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mtk.cpp; path = adplug/src/mtk.cpp; sourceTree = ""; }; + 83D3C536201C66CE005564CB /* lds.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lds.cpp; path = adplug/src/lds.cpp; sourceTree = ""; }; + 83D3C537201C66CE005564CB /* adtrack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = adtrack.cpp; path = adplug/src/adtrack.cpp; sourceTree = ""; }; + 83D3C538201C66CF005564CB /* msc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = msc.h; path = adplug/src/msc.h; sourceTree = ""; }; + 83D3C539201C66CF005564CB /* hybrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hybrid.h; path = adplug/src/hybrid.h; sourceTree = ""; }; + 83D3C53A201C66CF005564CB /* psi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = psi.cpp; path = adplug/src/psi.cpp; sourceTree = ""; }; + 83D3C53B201C66D0005564CB /* adtrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adtrack.h; path = adplug/src/adtrack.h; sourceTree = ""; }; + 83D3C53C201C66D0005564CB /* dtm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dtm.cpp; path = adplug/src/dtm.cpp; sourceTree = ""; }; + 83D3C53D201C66D0005564CB /* imf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = imf.cpp; path = adplug/src/imf.cpp; sourceTree = ""; }; + 83D3C53E201C66D1005564CB /* players.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = players.h; path = adplug/src/players.h; sourceTree = ""; }; + 83D3C53F201C66D1005564CB /* u6m.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = u6m.h; path = adplug/src/u6m.h; sourceTree = ""; }; + 83D3C540201C66D1005564CB /* sa2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sa2.cpp; path = adplug/src/sa2.cpp; sourceTree = ""; }; + 83D3C541201C66D2005564CB /* cmfmcsop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cmfmcsop.cpp; path = adplug/src/cmfmcsop.cpp; sourceTree = ""; }; + 83D3C543201C66D2005564CB /* hsc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hsc.cpp; path = adplug/src/hsc.cpp; sourceTree = ""; }; + 83D3C544201C66D3005564CB /* nemuopl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nemuopl.h; path = adplug/src/nemuopl.h; sourceTree = ""; }; + 83D3C545201C66D3005564CB /* dmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dmo.h; path = adplug/src/dmo.h; sourceTree = ""; }; + 83D3C546201C66D3005564CB /* imf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = imf.h; path = adplug/src/imf.h; sourceTree = ""; }; + 83D3C548201C66D4005564CB /* players.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = players.cpp; path = adplug/src/players.cpp; sourceTree = ""; }; + 83D3C549201C66D4005564CB /* protrack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = protrack.cpp; path = adplug/src/protrack.cpp; sourceTree = ""; }; + 83D3C54A201C66D4005564CB /* amd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = amd.h; path = adplug/src/amd.h; sourceTree = ""; }; + 83D3C54B201C66D5005564CB /* dro.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dro.cpp; path = adplug/src/dro.cpp; sourceTree = ""; }; + 83D3C54C201C66D5005564CB /* adlib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = adlib.cpp; path = adplug/src/adlib.cpp; sourceTree = ""; }; + 83D3C54D201C66D5005564CB /* rix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rix.cpp; path = adplug/src/rix.cpp; sourceTree = ""; }; + 83D3C54E201C66D6005564CB /* jbm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = jbm.cpp; path = adplug/src/jbm.cpp; sourceTree = ""; }; + 83D3C54F201C66D6005564CB /* dfm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dfm.cpp; path = adplug/src/dfm.cpp; sourceTree = ""; }; + 83D3C550201C66D6005564CB /* dro2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dro2.h; path = adplug/src/dro2.h; sourceTree = ""; }; + 83D3C551201C66D6005564CB /* cff.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cff.cpp; path = adplug/src/cff.cpp; sourceTree = ""; }; + 83D3C552201C66D7005564CB /* fmc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmc.h; path = adplug/src/fmc.h; sourceTree = ""; }; + 83D3C553201C66D7005564CB /* mdi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mdi.cpp; path = adplug/src/mdi.cpp; sourceTree = ""; }; + 83D3C554201C66D7005564CB /* sa2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sa2.h; path = adplug/src/sa2.h; sourceTree = ""; }; + 83D3C555201C66D8005564CB /* rol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rol.h; path = adplug/src/rol.h; sourceTree = ""; }; + 83D3C556201C66D8005564CB /* dfm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dfm.h; path = adplug/src/dfm.h; sourceTree = ""; }; + 83D3C557201C66D8005564CB /* got.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = got.h; path = adplug/src/got.h; sourceTree = ""; }; + 83D3C558201C66DA005564CB /* adlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adlib.h; path = adplug/src/adlib.h; sourceTree = ""; }; + 83D3C559201C66DA005564CB /* cmfmcsop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cmfmcsop.h; path = adplug/src/cmfmcsop.h; sourceTree = ""; }; + 83D3C55A201C66DA005564CB /* mid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mid.h; path = adplug/src/mid.h; sourceTree = ""; }; + 83D3C55B201C66DA005564CB /* mid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mid.cpp; path = adplug/src/mid.cpp; sourceTree = ""; }; + 83D3C55C201C66DB005564CB /* flash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = flash.cpp; path = adplug/src/flash.cpp; sourceTree = ""; }; + 83D3C55D201C66DB005564CB /* lds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lds.h; path = adplug/src/lds.h; sourceTree = ""; }; + 83D3C55E201C66DB005564CB /* xsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xsm.h; path = adplug/src/xsm.h; sourceTree = ""; }; + 83D3C55F201C66DC005564CB /* a2m.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = a2m.cpp; path = adplug/src/a2m.cpp; sourceTree = ""; }; + 83D3C560201C66DC005564CB /* jbm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jbm.h; path = adplug/src/jbm.h; sourceTree = ""; }; + 83D3C561201C66DC005564CB /* d00.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = d00.cpp; path = adplug/src/d00.cpp; sourceTree = ""; }; + 83D3C562201C66DD005564CB /* dro2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dro2.cpp; path = adplug/src/dro2.cpp; sourceTree = ""; }; + 83D3C563201C66DD005564CB /* sop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sop.cpp; path = adplug/src/sop.cpp; sourceTree = ""; }; + 83D3C564201C66DD005564CB /* xad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xad.h; path = adplug/src/xad.h; sourceTree = ""; }; + 83D3C565201C66DE005564CB /* xad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xad.cpp; path = adplug/src/xad.cpp; sourceTree = ""; }; + 83D3C566201C66DE005564CB /* raw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = raw.cpp; path = adplug/src/raw.cpp; sourceTree = ""; }; + 83D3C567201C66DE005564CB /* hyp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hyp.cpp; path = adplug/src/hyp.cpp; sourceTree = ""; }; + 83D3C568201C66DE005564CB /* rol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rol.cpp; path = adplug/src/rol.cpp; sourceTree = ""; }; + 83D3C569201C66DF005564CB /* a2m.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = a2m.h; path = adplug/src/a2m.h; sourceTree = ""; }; + 83D3C56A201C66DF005564CB /* herad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = herad.cpp; path = adplug/src/herad.cpp; sourceTree = ""; }; + 83D3C56B201C66DF005564CB /* nukedopl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nukedopl.h; path = adplug/src/nukedopl.h; sourceTree = ""; }; + 83D3C56C201C66E0005564CB /* raw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = raw.h; path = adplug/src/raw.h; sourceTree = ""; }; + 83D3C56D201C66E0005564CB /* ksm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ksm.cpp; path = adplug/src/ksm.cpp; sourceTree = ""; }; + 83D3C56E201C66E0005564CB /* got.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = got.cpp; path = adplug/src/got.cpp; sourceTree = ""; }; + 83D3C570201C66E1005564CB /* vgm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vgm.cpp; path = adplug/src/vgm.cpp; sourceTree = ""; }; + 83D3C571201C66E1005564CB /* rat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rat.h; path = adplug/src/rat.h; sourceTree = ""; }; + 83D3C572201C66E2005564CB /* adl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adl.h; path = adplug/src/adl.h; sourceTree = ""; }; + 83D3C573201C66E2005564CB /* sop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sop.h; path = adplug/src/sop.h; sourceTree = ""; }; + 83D3C574201C66E2005564CB /* rix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rix.h; path = adplug/src/rix.h; sourceTree = ""; }; + 83D3C575201C66E3005564CB /* bmf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bmf.h; path = adplug/src/bmf.h; sourceTree = ""; }; + 83D3C576201C66E3005564CB /* cff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cff.h; path = adplug/src/cff.h; sourceTree = ""; }; + 83D3C638201C6A81005564CB /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + 83D3C63A201C6AE2005564CB /* player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = player.h; path = adplug/src/player.h; sourceTree = ""; }; + 83D3C644201C6BB8005564CB /* database.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = database.cpp; path = adplug/src/database.cpp; sourceTree = ""; }; + 83D3C645201C6BB8005564CB /* fprovide.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fprovide.cpp; path = adplug/src/fprovide.cpp; sourceTree = ""; }; + 83D3C646201C6BB8005564CB /* fprovide.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fprovide.h; path = adplug/src/fprovide.h; sourceTree = ""; }; + 83D3C647201C6BB8005564CB /* database.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = database.h; path = adplug/src/database.h; sourceTree = ""; }; + 83D3C64C201C6D37005564CB /* debug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = debug.c; path = adplug/src/debug.c; sourceTree = ""; }; + 83D3C64D201C6D38005564CB /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = debug.h; path = adplug/src/debug.h; sourceTree = ""; }; + 83D3C661201C6EC3005564CB /* opl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opl.h; path = adplug/src/opl.h; sourceTree = ""; }; + 83D3C66F201D2C2C005564CB /* silentopl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = silentopl.h; path = adplug/src/silentopl.h; sourceTree = ""; }; + 83D3C68C201D3864005564CB /* libbinio.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libbinio.xcodeproj; path = ../libbinio/libbinio.xcodeproj; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 83D3C4D0201C654F005564CB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C6A5201D3939005564CB /* libbinio.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 83D3C4CA201C654F005564CB = { + isa = PBXGroup; + children = ( + 83D3C4D6201C654F005564CB /* AdPlug */, + 83D3C609201C6788005564CB /* Frameworks */, + 83D3C4D5201C654F005564CB /* Products */, + ); + sourceTree = ""; + }; + 83D3C4D5201C654F005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C4D4201C654F005564CB /* AdPlug.framework */, + ); + name = Products; + sourceTree = ""; + }; + 83D3C4D6201C654F005564CB /* AdPlug */ = { + isa = PBXGroup; + children = ( + 83D3C66F201D2C2C005564CB /* silentopl.h */, + 83D3C661201C6EC3005564CB /* opl.h */, + 83D3C55F201C66DC005564CB /* a2m.cpp */, + 83D3C569201C66DF005564CB /* a2m.h */, + 83D3C516201C66C6005564CB /* adl.cpp */, + 83D3C572201C66E2005564CB /* adl.h */, + 83D3C54C201C66D5005564CB /* adlib.cpp */, + 83D3C558201C66DA005564CB /* adlib.h */, + 83D3C505201C66C1005564CB /* adplug.cpp */, + 83D3C50F201C66C4005564CB /* adplug.h */, + 83D3C537201C66CE005564CB /* adtrack.cpp */, + 83D3C53B201C66D0005564CB /* adtrack.h */, + 83D3C50E201C66C4005564CB /* amd.cpp */, + 83D3C54A201C66D4005564CB /* amd.h */, + 83D3C50D201C66C3005564CB /* bam.cpp */, + 83D3C527201C66CA005564CB /* bam.h */, + 83D3C528201C66CA005564CB /* bmf.cpp */, + 83D3C575201C66E3005564CB /* bmf.h */, + 83D3C551201C66D6005564CB /* cff.cpp */, + 83D3C576201C66E3005564CB /* cff.h */, + 83D3C513201C66C5005564CB /* cmf.cpp */, + 83D3C518201C66C6005564CB /* cmf.h */, + 83D3C541201C66D2005564CB /* cmfmcsop.cpp */, + 83D3C559201C66DA005564CB /* cmfmcsop.h */, + 83D3C561201C66DC005564CB /* d00.cpp */, + 83D3C519201C66C7005564CB /* d00.h */, + 83D3C644201C6BB8005564CB /* database.cpp */, + 83D3C647201C6BB8005564CB /* database.h */, + 83D3C64C201C6D37005564CB /* debug.c */, + 83D3C64D201C6D38005564CB /* debug.h */, + 83D3C54F201C66D6005564CB /* dfm.cpp */, + 83D3C556201C66D8005564CB /* dfm.h */, + 83D3C515201C66C6005564CB /* dmo.cpp */, + 83D3C545201C66D3005564CB /* dmo.h */, + 83D3C54B201C66D5005564CB /* dro.cpp */, + 83D3C52A201C66CB005564CB /* dro.h */, + 83D3C562201C66DD005564CB /* dro2.cpp */, + 83D3C550201C66D6005564CB /* dro2.h */, + 83D3C53C201C66D0005564CB /* dtm.cpp */, + 83D3C521201C66C9005564CB /* dtm.h */, + 83D3C55C201C66DB005564CB /* flash.cpp */, + 83D3C50B201C66C3005564CB /* flash.h */, + 83D3C530201C66CD005564CB /* fmc.cpp */, + 83D3C552201C66D7005564CB /* fmc.h */, + 83D3C645201C6BB8005564CB /* fprovide.cpp */, + 83D3C646201C6BB8005564CB /* fprovide.h */, + 83D3C56E201C66E0005564CB /* got.cpp */, + 83D3C557201C66D8005564CB /* got.h */, + 83D3C56A201C66DF005564CB /* herad.cpp */, + 83D3C526201C66CA005564CB /* herad.h */, + 83D3C543201C66D2005564CB /* hsc.cpp */, + 83D3C51B201C66C7005564CB /* hsc.h */, + 83D3C529201C66CB005564CB /* hsp.cpp */, + 83D3C512201C66C5005564CB /* hsp.h */, + 83D3C50C201C66C3005564CB /* hybrid.cpp */, + 83D3C539201C66CF005564CB /* hybrid.h */, + 83D3C567201C66DE005564CB /* hyp.cpp */, + 83D3C52C201C66CB005564CB /* hyp.h */, + 83D3C53D201C66D0005564CB /* imf.cpp */, + 83D3C546201C66D3005564CB /* imf.h */, + 83D3C4D8201C6550005564CB /* Info.plist */, + 83D3C54E201C66D6005564CB /* jbm.cpp */, + 83D3C560201C66DC005564CB /* jbm.h */, + 83D3C56D201C66E0005564CB /* ksm.cpp */, + 83D3C509201C66C2005564CB /* ksm.h */, + 83D3C536201C66CE005564CB /* lds.cpp */, + 83D3C55D201C66DB005564CB /* lds.h */, + 83D3C51A201C66C7005564CB /* mad.cpp */, + 83D3C511201C66C4005564CB /* mad.h */, + 83D3C553201C66D7005564CB /* mdi.cpp */, + 83D3C51E201C66C8005564CB /* mdi.h */, + 83D3C55B201C66DA005564CB /* mid.cpp */, + 83D3C55A201C66DA005564CB /* mid.h */, + 83D3C51F201C66C8005564CB /* mididata.h */, + 83D3C52B201C66CB005564CB /* mkj.cpp */, + 83D3C52E201C66CC005564CB /* mkj.h */, + 83D3C51C201C66C7005564CB /* msc.cpp */, + 83D3C538201C66CF005564CB /* msc.h */, + 83D3C535201C66CE005564CB /* mtk.cpp */, + 83D3C506201C66C2005564CB /* mtk.h */, + 83D3C510201C66C4005564CB /* mus.cpp */, + 83D3C52F201C66CC005564CB /* mus.h */, + 83D3C532201C66CD005564CB /* nemuopl.cpp */, + 83D3C544201C66D3005564CB /* nemuopl.h */, + 83D3C50A201C66C3005564CB /* nukedopl.c */, + 83D3C56B201C66DF005564CB /* nukedopl.h */, + 83D3C517201C66C6005564CB /* player.cpp */, + 83D3C63A201C6AE2005564CB /* player.h */, + 83D3C548201C66D4005564CB /* players.cpp */, + 83D3C53E201C66D1005564CB /* players.h */, + 83D3C549201C66D4005564CB /* protrack.cpp */, + 83D3C533201C66CD005564CB /* protrack.h */, + 83D3C53A201C66CF005564CB /* psi.cpp */, + 83D3C507201C66C2005564CB /* psi.h */, + 83D3C51D201C66C8005564CB /* rad.cpp */, + 83D3C504201C66C1005564CB /* rad.h */, + 83D3C523201C66C9005564CB /* rat.cpp */, + 83D3C571201C66E1005564CB /* rat.h */, + 83D3C566201C66DE005564CB /* raw.cpp */, + 83D3C56C201C66E0005564CB /* raw.h */, + 83D3C54D201C66D5005564CB /* rix.cpp */, + 83D3C574201C66E2005564CB /* rix.h */, + 83D3C568201C66DE005564CB /* rol.cpp */, + 83D3C555201C66D8005564CB /* rol.h */, + 83D3C52D201C66CC005564CB /* s3m.cpp */, + 83D3C520201C66C8005564CB /* s3m.h */, + 83D3C540201C66D1005564CB /* sa2.cpp */, + 83D3C554201C66D7005564CB /* sa2.h */, + 83D3C522201C66C9005564CB /* sng.cpp */, + 83D3C534201C66CE005564CB /* sng.h */, + 83D3C563201C66DD005564CB /* sop.cpp */, + 83D3C573201C66E2005564CB /* sop.h */, + 83D3C514201C66C5005564CB /* u6m.cpp */, + 83D3C53F201C66D1005564CB /* u6m.h */, + 83D3C638201C6A81005564CB /* version.h */, + 83D3C570201C66E1005564CB /* vgm.cpp */, + 83D3C531201C66CD005564CB /* vgm.h */, + 83D3C565201C66DE005564CB /* xad.cpp */, + 83D3C564201C66DD005564CB /* xad.h */, + 83D3C524201C66C9005564CB /* xsm.cpp */, + 83D3C55E201C66DB005564CB /* xsm.h */, + ); + path = AdPlug; + sourceTree = ""; + }; + 83D3C609201C6788005564CB /* Frameworks */ = { + isa = PBXGroup; + children = ( + 83D3C68C201D3864005564CB /* libbinio.xcodeproj */, + ); + name = Frameworks; + sourceTree = ""; + }; + 83D3C68D201D3864005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C691201D3864005564CB /* libbinio.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 83D3C4D1201C654F005564CB /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C582201C66E3005564CB /* adplug.h in Headers */, + 83D3C63B201C6AE2005564CB /* player.h in Headers */, + 83D3C662201C6EC4005564CB /* opl.h in Headers */, + 83D3C64A201C6BB9005564CB /* fprovide.h in Headers */, + 83D3C5B1201C66E3005564CB /* players.h in Headers */, + 83D3C64B201C6BB9005564CB /* database.h in Headers */, + 83D3C5B7201C66E3005564CB /* nemuopl.h in Headers */, + 83D3C670201D2C2C005564CB /* silentopl.h in Headers */, + 83D3C5B9201C66E3005564CB /* imf.h in Headers */, + 83D3C5DC201C66E3005564CB /* a2m.h in Headers */, + 83D3C594201C66E3005564CB /* dtm.h in Headers */, + 83D3C5A6201C66E3005564CB /* protrack.h in Headers */, + 83D3C5B2201C66E3005564CB /* u6m.h in Headers */, + 83D3C599201C66E3005564CB /* herad.h in Headers */, + 83D3C5E5201C66E3005564CB /* adl.h in Headers */, + 83D3C5A7201C66E3005564CB /* sng.h in Headers */, + 83D3C59A201C66E3005564CB /* bam.h in Headers */, + 83D3C592201C66E3005564CB /* mididata.h in Headers */, + 83D3C58E201C66E3005564CB /* hsc.h in Headers */, + 83D3C5E6201C66E3005564CB /* sop.h in Headers */, + 83D3C5A1201C66E3005564CB /* mkj.h in Headers */, + 83D3C5CC201C66E3005564CB /* cmfmcsop.h in Headers */, + 83D3C5DF201C66E3005564CB /* raw.h in Headers */, + 83D3C58B201C66E3005564CB /* cmf.h in Headers */, + 83D3C58C201C66E3005564CB /* d00.h in Headers */, + 83D3C5C8201C66E3005564CB /* rol.h in Headers */, + 83D3C584201C66E3005564CB /* mad.h in Headers */, + 83D3C57A201C66E3005564CB /* psi.h in Headers */, + 83D3C577201C66E3005564CB /* rad.h in Headers */, + 83D3C5D1201C66E3005564CB /* xsm.h in Headers */, + 83D3C639201C6A81005564CB /* version.h in Headers */, + 83D3C5A4201C66E3005564CB /* vgm.h in Headers */, + 83D3C5AC201C66E3005564CB /* hybrid.h in Headers */, + 83D3C5E4201C66E3005564CB /* rat.h in Headers */, + 83D3C5C7201C66E3005564CB /* sa2.h in Headers */, + 83D3C5C5201C66E3005564CB /* fmc.h in Headers */, + 83D3C5E8201C66E3005564CB /* bmf.h in Headers */, + 83D3C5CA201C66E3005564CB /* got.h in Headers */, + 83D3C5D3201C66E3005564CB /* jbm.h in Headers */, + 83D3C5D7201C66E3005564CB /* xad.h in Headers */, + 83D3C5C3201C66E3005564CB /* dro2.h in Headers */, + 83D3C64F201C6D38005564CB /* debug.h in Headers */, + 83D3C57E201C66E3005564CB /* flash.h in Headers */, + 83D3C593201C66E3005564CB /* s3m.h in Headers */, + 83D3C59D201C66E3005564CB /* dro.h in Headers */, + 83D3C5CB201C66E3005564CB /* adlib.h in Headers */, + 83D3C5E9201C66E3005564CB /* cff.h in Headers */, + 83D3C57C201C66E3005564CB /* ksm.h in Headers */, + 83D3C579201C66E3005564CB /* mtk.h in Headers */, + 83D3C5AE201C66E3005564CB /* adtrack.h in Headers */, + 83D3C591201C66E3005564CB /* mdi.h in Headers */, + 83D3C5CD201C66E3005564CB /* mid.h in Headers */, + 83D3C5DE201C66E3005564CB /* nukedopl.h in Headers */, + 83D3C585201C66E3005564CB /* hsp.h in Headers */, + 83D3C5A2201C66E3005564CB /* mus.h in Headers */, + 83D3C5E7201C66E3005564CB /* rix.h in Headers */, + 83D3C5B8201C66E3005564CB /* dmo.h in Headers */, + 83D3C59F201C66E3005564CB /* hyp.h in Headers */, + 83D3C5C9201C66E3005564CB /* dfm.h in Headers */, + 83D3C5BD201C66E3005564CB /* amd.h in Headers */, + 83D3C5AB201C66E3005564CB /* msc.h in Headers */, + 83D3C5D0201C66E3005564CB /* lds.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 83D3C4D3201C654F005564CB /* AdPlug */ = { + isa = PBXNativeTarget; + buildConfigurationList = 83D3C4DC201C6550005564CB /* Build configuration list for PBXNativeTarget "AdPlug" */; + buildPhases = ( + 83D3C4CF201C654F005564CB /* Sources */, + 83D3C4D0201C654F005564CB /* Frameworks */, + 83D3C4D1201C654F005564CB /* Headers */, + 83D3C4D2201C654F005564CB /* Resources */, + 83D3C65F201C6E56005564CB /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 83D3C6A4201D38FE005564CB /* PBXTargetDependency */, + ); + name = AdPlug; + productName = AdPlug; + productReference = 83D3C4D4201C654F005564CB /* AdPlug.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83D3C4CB201C654F005564CB /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = "Christopher Snowhill"; + TargetAttributes = { + 83D3C4D3201C654F005564CB = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 83D3C4CE201C654F005564CB /* Build configuration list for PBXProject "AdPlug" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 83D3C4CA201C654F005564CB; + productRefGroup = 83D3C4D5201C654F005564CB /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 83D3C68D201D3864005564CB /* Products */; + ProjectRef = 83D3C68C201D3864005564CB /* libbinio.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 83D3C4D3201C654F005564CB /* AdPlug */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 83D3C691201D3864005564CB /* libbinio.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = libbinio.framework; + remoteRef = 83D3C690201D3864005564CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 83D3C4D2201C654F005564CB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 83D3C4CF201C654F005564CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C5D6201C66E3005564CB /* sop.cpp in Sources */, + 83D3C5C6201C66E3005564CB /* mdi.cpp in Sources */, + 83D3C648201C6BB9005564CB /* database.cpp in Sources */, + 83D3C5E1201C66E3005564CB /* got.cpp in Sources */, + 83D3C595201C66E3005564CB /* sng.cpp in Sources */, + 83D3C5E0201C66E3005564CB /* ksm.cpp in Sources */, + 83D3C5CE201C66E3005564CB /* mid.cpp in Sources */, + 83D3C5C1201C66E3005564CB /* jbm.cpp in Sources */, + 83D3C590201C66E3005564CB /* rad.cpp in Sources */, + 83D3C587201C66E3005564CB /* u6m.cpp in Sources */, + 83D3C5C0201C66E3005564CB /* rix.cpp in Sources */, + 83D3C59C201C66E3005564CB /* hsp.cpp in Sources */, + 83D3C589201C66E3005564CB /* adl.cpp in Sources */, + 83D3C581201C66E3005564CB /* amd.cpp in Sources */, + 83D3C5A9201C66E3005564CB /* lds.cpp in Sources */, + 83D3C5AD201C66E3005564CB /* psi.cpp in Sources */, + 83D3C5A3201C66E3005564CB /* fmc.cpp in Sources */, + 83D3C5AF201C66E3005564CB /* dtm.cpp in Sources */, + 83D3C5B4201C66E3005564CB /* cmfmcsop.cpp in Sources */, + 83D3C58F201C66E3005564CB /* msc.cpp in Sources */, + 83D3C597201C66E3005564CB /* xsm.cpp in Sources */, + 83D3C5A0201C66E3005564CB /* s3m.cpp in Sources */, + 83D3C5BF201C66E3005564CB /* adlib.cpp in Sources */, + 83D3C59E201C66E3005564CB /* mkj.cpp in Sources */, + 83D3C5D4201C66E3005564CB /* d00.cpp in Sources */, + 83D3C5CF201C66E3005564CB /* flash.cpp in Sources */, + 83D3C649201C6BB9005564CB /* fprovide.cpp in Sources */, + 83D3C5BB201C66E3005564CB /* players.cpp in Sources */, + 83D3C5DA201C66E3005564CB /* hyp.cpp in Sources */, + 83D3C64E201C6D38005564CB /* debug.c in Sources */, + 83D3C5B6201C66E3005564CB /* hsc.cpp in Sources */, + 83D3C5C4201C66E3005564CB /* cff.cpp in Sources */, + 83D3C5DD201C66E3005564CB /* herad.cpp in Sources */, + 83D3C580201C66E3005564CB /* bam.cpp in Sources */, + 83D3C5D2201C66E3005564CB /* a2m.cpp in Sources */, + 83D3C5BC201C66E3005564CB /* protrack.cpp in Sources */, + 83D3C5AA201C66E3005564CB /* adtrack.cpp in Sources */, + 83D3C5D8201C66E3005564CB /* xad.cpp in Sources */, + 83D3C57F201C66E3005564CB /* hybrid.cpp in Sources */, + 83D3C5D5201C66E3005564CB /* dro2.cpp in Sources */, + 83D3C5A5201C66E3005564CB /* nemuopl.cpp in Sources */, + 83D3C5A8201C66E3005564CB /* mtk.cpp in Sources */, + 83D3C578201C66E3005564CB /* adplug.cpp in Sources */, + 83D3C5E3201C66E3005564CB /* vgm.cpp in Sources */, + 83D3C596201C66E3005564CB /* rat.cpp in Sources */, + 83D3C59B201C66E3005564CB /* bmf.cpp in Sources */, + 83D3C5BE201C66E3005564CB /* dro.cpp in Sources */, + 83D3C588201C66E3005564CB /* dmo.cpp in Sources */, + 83D3C5DB201C66E3005564CB /* rol.cpp in Sources */, + 83D3C5B0201C66E3005564CB /* imf.cpp in Sources */, + 83D3C5C2201C66E3005564CB /* dfm.cpp in Sources */, + 83D3C58A201C66E3005564CB /* player.cpp in Sources */, + 83D3C58D201C66E3005564CB /* mad.cpp in Sources */, + 83D3C583201C66E3005564CB /* mus.cpp in Sources */, + 83D3C586201C66E3005564CB /* cmf.cpp in Sources */, + 83D3C5D9201C66E3005564CB /* raw.cpp in Sources */, + 83D3C5B3201C66E3005564CB /* sa2.cpp in Sources */, + 83D3C57D201C66E3005564CB /* nukedopl.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 83D3C6A4201D38FE005564CB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libbinio; + targetProxy = 83D3C6A3201D38FE005564CB /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 83D3C4DA201C6550005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 83D3C4DB201C6550005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 83D3C4DD201C6550005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_VERSION = A; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + "stricmp=strcasecmp", + ); + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libbinio/libbinio/libbinio/src", + "$(SRCROOT)/../libbinio/libbinio", + ); + INFOPLIST_FILE = AdPlug/Info.plist; + INSTALL_PATH = "@loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.AdPlug; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 83D3C4DE201C6550005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_VERSION = A; + GCC_PREPROCESSOR_DEFINITIONS = "stricmp=strcasecmp"; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../libbinio/libbinio/libbinio/src", + "$(SRCROOT)/../libbinio/libbinio", + ); + INFOPLIST_FILE = AdPlug/Info.plist; + INSTALL_PATH = "@loader_path/../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.AdPlug; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 83D3C4CE201C654F005564CB /* Build configuration list for PBXProject "AdPlug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C4DA201C6550005564CB /* Debug */, + 83D3C4DB201C6550005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83D3C4DC201C6550005564CB /* Build configuration list for PBXNativeTarget "AdPlug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C4DD201C6550005564CB /* Debug */, + 83D3C4DE201C6550005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83D3C4CB201C654F005564CB /* Project object */; +} diff --git a/Frameworks/AdPlug/AdPlug/Info.plist b/Frameworks/AdPlug/AdPlug/Info.plist new file mode 100644 index 000000000..a351796f3 --- /dev/null +++ b/Frameworks/AdPlug/AdPlug/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSHumanReadableCopyright + Copyright © 2018 Christopher Snowhill. All rights reserved. + NSPrincipalClass + + + diff --git a/Frameworks/AdPlug/AdPlug/adplug b/Frameworks/AdPlug/AdPlug/adplug new file mode 160000 index 000000000..14557a40b --- /dev/null +++ b/Frameworks/AdPlug/AdPlug/adplug @@ -0,0 +1 @@ +Subproject commit 14557a40b120e4361cc57575e82cc0be85d9191d diff --git a/Frameworks/AdPlug/AdPlug/database b/Frameworks/AdPlug/AdPlug/database new file mode 160000 index 000000000..7ac0819ec --- /dev/null +++ b/Frameworks/AdPlug/AdPlug/database @@ -0,0 +1 @@ +Subproject commit 7ac0819ec55d6dd1ffe42890f82c3ada05d101b5 diff --git a/Frameworks/AdPlug/AdPlug/version.h b/Frameworks/AdPlug/AdPlug/version.h new file mode 100644 index 000000000..2d9994b85 --- /dev/null +++ b/Frameworks/AdPlug/AdPlug/version.h @@ -0,0 +1 @@ +#define ADPLUG_VERSION "2.3-5-g14557a4" diff --git a/Frameworks/libbinio/libbinio.xcodeproj/project.pbxproj b/Frameworks/libbinio/libbinio.xcodeproj/project.pbxproj new file mode 100644 index 000000000..86ef97d90 --- /dev/null +++ b/Frameworks/libbinio/libbinio.xcodeproj/project.pbxproj @@ -0,0 +1,345 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 83D3C693201D3870005564CB /* binio.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C692201D3870005564CB /* binio.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C69B201D388C005564CB /* binfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C694201D388B005564CB /* binfile.cpp */; }; + 83D3C69C201D388C005564CB /* binwrap.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C695201D388B005564CB /* binwrap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C69D201D388C005564CB /* binstr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C696201D388B005564CB /* binstr.cpp */; }; + 83D3C69E201D388C005564CB /* binfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C697201D388B005564CB /* binfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C69F201D388C005564CB /* binwrap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C698201D388C005564CB /* binwrap.cpp */; }; + 83D3C6A0201D388C005564CB /* binstr.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D3C699201D388C005564CB /* binstr.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D3C6A1201D388C005564CB /* binio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C69A201D388C005564CB /* binio.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 83D3C67B201D37D8005564CB /* libbinio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libbinio.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 83D3C67F201D37D8005564CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 83D3C692201D3870005564CB /* binio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = binio.h; sourceTree = ""; }; + 83D3C694201D388B005564CB /* binfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = binfile.cpp; path = libbinio/src/binfile.cpp; sourceTree = ""; }; + 83D3C695201D388B005564CB /* binwrap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = binwrap.h; path = libbinio/src/binwrap.h; sourceTree = ""; }; + 83D3C696201D388B005564CB /* binstr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = binstr.cpp; path = libbinio/src/binstr.cpp; sourceTree = ""; }; + 83D3C697201D388B005564CB /* binfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = binfile.h; path = libbinio/src/binfile.h; sourceTree = ""; }; + 83D3C698201D388C005564CB /* binwrap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = binwrap.cpp; path = libbinio/src/binwrap.cpp; sourceTree = ""; }; + 83D3C699201D388C005564CB /* binstr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = binstr.h; path = libbinio/src/binstr.h; sourceTree = ""; }; + 83D3C69A201D388C005564CB /* binio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = binio.cpp; path = libbinio/src/binio.cpp; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 83D3C677201D37D8005564CB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 83D3C671201D37D8005564CB = { + isa = PBXGroup; + children = ( + 83D3C67D201D37D8005564CB /* libbinio */, + 83D3C67C201D37D8005564CB /* Products */, + ); + sourceTree = ""; + }; + 83D3C67C201D37D8005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C67B201D37D8005564CB /* libbinio.framework */, + ); + name = Products; + sourceTree = ""; + }; + 83D3C67D201D37D8005564CB /* libbinio */ = { + isa = PBXGroup; + children = ( + 83D3C694201D388B005564CB /* binfile.cpp */, + 83D3C697201D388B005564CB /* binfile.h */, + 83D3C69A201D388C005564CB /* binio.cpp */, + 83D3C696201D388B005564CB /* binstr.cpp */, + 83D3C699201D388C005564CB /* binstr.h */, + 83D3C698201D388C005564CB /* binwrap.cpp */, + 83D3C695201D388B005564CB /* binwrap.h */, + 83D3C692201D3870005564CB /* binio.h */, + 83D3C67F201D37D8005564CB /* Info.plist */, + ); + path = libbinio; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 83D3C678201D37D8005564CB /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C69E201D388C005564CB /* binfile.h in Headers */, + 83D3C693201D3870005564CB /* binio.h in Headers */, + 83D3C6A0201D388C005564CB /* binstr.h in Headers */, + 83D3C69C201D388C005564CB /* binwrap.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 83D3C67A201D37D8005564CB /* libbinio */ = { + isa = PBXNativeTarget; + buildConfigurationList = 83D3C683201D37D8005564CB /* Build configuration list for PBXNativeTarget "libbinio" */; + buildPhases = ( + 83D3C676201D37D8005564CB /* Sources */, + 83D3C677201D37D8005564CB /* Frameworks */, + 83D3C678201D37D8005564CB /* Headers */, + 83D3C679201D37D8005564CB /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libbinio; + productName = libbinio; + productReference = 83D3C67B201D37D8005564CB /* libbinio.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83D3C672201D37D8005564CB /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = "Christopher Snowhill"; + TargetAttributes = { + 83D3C67A201D37D8005564CB = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 83D3C675201D37D8005564CB /* Build configuration list for PBXProject "libbinio" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 83D3C671201D37D8005564CB; + productRefGroup = 83D3C67C201D37D8005564CB /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 83D3C67A201D37D8005564CB /* libbinio */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 83D3C679201D37D8005564CB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 83D3C676201D37D8005564CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C69B201D388C005564CB /* binfile.cpp in Sources */, + 83D3C69D201D388C005564CB /* binstr.cpp in Sources */, + 83D3C69F201D388C005564CB /* binwrap.cpp in Sources */, + 83D3C6A1201D388C005564CB /* binio.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 83D3C681201D37D8005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 83D3C682201D37D8005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 83D3C684201D37D8005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = libbinio/Info.plist; + INSTALL_PATH = "@loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libbinio; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 83D3C685201D37D8005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = libbinio/Info.plist; + INSTALL_PATH = "@loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.libbinio; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 83D3C675201D37D8005564CB /* Build configuration list for PBXProject "libbinio" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C681201D37D8005564CB /* Debug */, + 83D3C682201D37D8005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83D3C683201D37D8005564CB /* Build configuration list for PBXNativeTarget "libbinio" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C684201D37D8005564CB /* Debug */, + 83D3C685201D37D8005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83D3C672201D37D8005564CB /* Project object */; +} diff --git a/Frameworks/libbinio/libbinio/Info.plist b/Frameworks/libbinio/libbinio/Info.plist new file mode 100644 index 000000000..a351796f3 --- /dev/null +++ b/Frameworks/libbinio/libbinio/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSHumanReadableCopyright + Copyright © 2018 Christopher Snowhill. All rights reserved. + NSPrincipalClass + + + diff --git a/Frameworks/libbinio/libbinio/binio.h b/Frameworks/libbinio/libbinio/binio.h new file mode 100644 index 000000000..6b8c27233 --- /dev/null +++ b/Frameworks/libbinio/libbinio/binio.h @@ -0,0 +1,175 @@ +/* -*-C++-*- + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * binio.h - Binary stream I/O classes + * Copyright (C) 2002, 2003, 2005 Simon Peter + */ + +#ifndef H_BINIO_BINIO +#define H_BINIO_BINIO + +/***** Configuration *****/ + +// BINIO_ENABLE_STRING - Build std::string supporting methods +// +// Set to 1 to build std::string supporting methods. You need the STL to +// do this. +#define BINIO_ENABLE_STRING 1 + +// BINIO_ENABLE_IOSTREAM - Build iostream wrapper classes +// +// Set to 1 to build the iostream wrapper classes. You need the standard +// C++ library to do this. +#define BINIO_ENABLE_IOSTREAM 1 + +// BINIO_ISO_STDLIB - Build with ISO C++ standard library compliance +// +// Set to 1 to build for the ISO standard C++ library (i.e. namespaces, STL and +// templatized iostream). Set to 0 to build for the traditional C++ library. +#define BINIO_ISO_STDLIB 1 + +// BINIO_WITH_MATH - Build with 'math.h' dependency to allow float conversions +// +// Set to 1 to also build routines that depend on the 'math.h' standard C header +// file (this sometimes also implies a 'libm' or 'libmath' dependency). These +// routines are needed in order to write IEEE-754 floating-point numbers on a +// system that doesn't support this format natively. For only reading these +// numbers, however, these routines are not needed. If set to 0, writing +// IEEE-754 numbers on an incompatible system will be disabled. +#define BINIO_WITH_MATH 1 + +/***** Implementation *****/ + +// Disable annoying multiple inheritance compiler warning on MSVC6 +#ifdef _MSC_VER +# pragma warning(disable: 4250) +#endif + +#if BINIO_ENABLE_STRING +#include +#endif + +class binio +{ +public: + typedef enum { + BigEndian = 1 << 0, + FloatIEEE = 1 << 1 + } Flag; + + typedef enum { + NoError = 0, + Fatal = 1 << 0, + Unsupported = 1 << 1, + NotOpen = 1 << 2, + Denied = 1 << 3, + NotFound = 1 << 4, + Eof = 1 << 5 + } ErrorCode; + + typedef enum { Set, Add, End } Offset; + typedef enum { Single, Double } FType; + typedef int Error; + + binio(); + virtual ~binio(); + + void setFlag(Flag f, bool set = true); + bool getFlag(Flag f); + + Error error(); + bool eof(); + + virtual void seek(long, Offset = Set) = 0; + virtual long pos() = 0; + +protected: + typedef long long Int; + typedef long double Float; + typedef unsigned char Byte; // has to be unsigned! + + typedef int Flags; + + Flags my_flags; + static const Flags system_flags; + Error err; + + // Some math.h emulation functions... +#if !BINIO_WITH_MATH + Float pow(Float base, signed int exp); + Float ldexp(Float x, signed int exp) { return x * pow(2, exp); } +#endif + +private: + static const Flags detect_system_flags(); +}; + +class binistream: virtual public binio +{ +public: + binistream(); + virtual ~binistream(); + + Int readInt(unsigned int size); + Float readFloat(FType ft); + unsigned long readString(char *str, unsigned long maxlen); + unsigned long readString(char *str, unsigned long maxlen, const char delim); +#if BINIO_ENABLE_STRING + std::string readString(const char delim = '\0'); +#endif + + Int peekInt(unsigned int size); + Float peekFloat(FType ft); + + bool ateof(); + void ignore(unsigned long amount = 1); + +protected: + virtual Byte getByte() = 0; + +private: + Float ieee_single2float(Byte *data); + Float ieee_double2float(Byte *data); +}; + +class binostream: virtual public binio +{ +public: + binostream(); + virtual ~binostream(); + + void writeInt(Int val, unsigned int size); + void writeFloat(Float f, FType ft); + unsigned long writeString(const char *str, unsigned long amount = 0); +#if BINIO_ENABLE_STRING + unsigned long writeString(const std::string &str); +#endif + +protected: + virtual void putByte(Byte) = 0; + +private: + void float2ieee_single(Float f, Byte *data); + void float2ieee_double(Float f, Byte *data); +}; + +class binstream: public binistream, public binostream +{ +public: + binstream(); + virtual ~binstream(); +}; + +#endif diff --git a/Frameworks/libbinio/libbinio/libbinio b/Frameworks/libbinio/libbinio/libbinio new file mode 160000 index 000000000..282de6071 --- /dev/null +++ b/Frameworks/libbinio/libbinio/libbinio @@ -0,0 +1 @@ +Subproject commit 282de6071b28f85703d40860d4eb8d87d6a0f5dd diff --git a/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj b/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj new file mode 100644 index 000000000..61f7f7c2e --- /dev/null +++ b/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj @@ -0,0 +1,413 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 83D3C659201C6E24005564CB /* AdPlugContainer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C654201C6E24005564CB /* AdPlugContainer.mm */; }; + 83D3C65A201C6E24005564CB /* AdPlugMetadataReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C656201C6E24005564CB /* AdPlugMetadataReader.mm */; }; + 83D3C65B201C6E24005564CB /* AdPlugDecoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C658201C6E24005564CB /* AdPlugDecoder.mm */; }; + 83D3C65E201C6E4D005564CB /* AdPlug.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D3C608201C6775005564CB /* AdPlug.framework */; }; + 83D3C668201C7020005564CB /* adplug.db in Resources */ = {isa = PBXBuildFile; fileRef = 83D3C667201C7020005564CB /* adplug.db */; }; + 83D3C66C201C70F7005564CB /* fileprovider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83D3C66A201C70F7005564CB /* fileprovider.mm */; }; + 83D3C66E201C72ED005564CB /* AdPlug.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83D3C608201C6775005564CB /* AdPlug.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 83D3C6A6201D3951005564CB /* libbinio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D3C6A7201D3951005564CB /* libbinio.framework */; }; + 83D3C6A8201D3961005564CB /* libbinio.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83D3C6A7201D3951005564CB /* libbinio.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 83D3C607201C6775005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C603201C6775005564CB /* AdPlug.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83D3C4D4201C654F005564CB; + remoteInfo = AdPlug; + }; + 83D3C65C201C6E48005564CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83D3C603201C6775005564CB /* AdPlug.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 83D3C4D3201C654F005564CB; + remoteInfo = AdPlug; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 83D3C66D201C72E3005564CB /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 83D3C6A8201D3961005564CB /* libbinio.framework in CopyFiles */, + 83D3C66E201C72ED005564CB /* AdPlug.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 83D3C5F3201C674D005564CB /* AdPlug.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AdPlug.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 83D3C5F6201C674D005564CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 83D3C603201C6775005564CB /* AdPlug.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AdPlug.xcodeproj; path = ../../Frameworks/AdPlug/AdPlug.xcodeproj; sourceTree = ""; }; + 83D3C650201C6DE9005564CB /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = ../../../Utils/Logging.h; sourceTree = ""; }; + 83D3C651201C6E00005564CB /* PlaylistController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlaylistController.h; path = ../../../Playlist/PlaylistController.h; sourceTree = ""; }; + 83D3C652201C6E10005564CB /* Plugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Plugin.h; path = ../../../Audio/Plugin.h; sourceTree = ""; }; + 83D3C653201C6E23005564CB /* AdPlugDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdPlugDecoder.h; sourceTree = ""; }; + 83D3C654201C6E24005564CB /* AdPlugContainer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AdPlugContainer.mm; sourceTree = ""; }; + 83D3C655201C6E24005564CB /* AdPlugMetadataReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdPlugMetadataReader.h; sourceTree = ""; }; + 83D3C656201C6E24005564CB /* AdPlugMetadataReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AdPlugMetadataReader.mm; sourceTree = ""; }; + 83D3C657201C6E24005564CB /* AdPlugContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdPlugContainer.h; sourceTree = ""; }; + 83D3C658201C6E24005564CB /* AdPlugDecoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AdPlugDecoder.mm; sourceTree = ""; }; + 83D3C667201C7020005564CB /* adplug.db */ = {isa = PBXFileReference; lastKnownFileType = file; name = adplug.db; path = ../../../Frameworks/AdPlug/AdPlug/database/adplug.db; sourceTree = ""; }; + 83D3C669201C70E7005564CB /* fileprovider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fileprovider.h; sourceTree = ""; }; + 83D3C66A201C70F7005564CB /* fileprovider.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = fileprovider.mm; sourceTree = ""; }; + 83D3C6A7201D3951005564CB /* libbinio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = libbinio.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 83D3C5F0201C674D005564CB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C6A6201D3951005564CB /* libbinio.framework in Frameworks */, + 83D3C65E201C6E4D005564CB /* AdPlug.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 83D3C5EA201C674D005564CB = { + isa = PBXGroup; + children = ( + 83D3C5F5201C674D005564CB /* AdPlug */, + 83D3C602201C675D005564CB /* Frameworks */, + 83D3C5F4201C674D005564CB /* Products */, + ); + sourceTree = ""; + }; + 83D3C5F4201C674D005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C5F3201C674D005564CB /* AdPlug.bundle */, + ); + name = Products; + sourceTree = ""; + }; + 83D3C5F5201C674D005564CB /* AdPlug */ = { + isa = PBXGroup; + children = ( + 83D3C667201C7020005564CB /* adplug.db */, + 83D3C657201C6E24005564CB /* AdPlugContainer.h */, + 83D3C654201C6E24005564CB /* AdPlugContainer.mm */, + 83D3C653201C6E23005564CB /* AdPlugDecoder.h */, + 83D3C658201C6E24005564CB /* AdPlugDecoder.mm */, + 83D3C655201C6E24005564CB /* AdPlugMetadataReader.h */, + 83D3C656201C6E24005564CB /* AdPlugMetadataReader.mm */, + 83D3C650201C6DE9005564CB /* Logging.h */, + 83D3C651201C6E00005564CB /* PlaylistController.h */, + 83D3C652201C6E10005564CB /* Plugin.h */, + 83D3C5F6201C674D005564CB /* Info.plist */, + 83D3C669201C70E7005564CB /* fileprovider.h */, + 83D3C66A201C70F7005564CB /* fileprovider.mm */, + ); + path = AdPlug; + sourceTree = ""; + }; + 83D3C602201C675D005564CB /* Frameworks */ = { + isa = PBXGroup; + children = ( + 83D3C6A7201D3951005564CB /* libbinio.framework */, + 83D3C603201C6775005564CB /* AdPlug.xcodeproj */, + ); + name = Frameworks; + sourceTree = ""; + }; + 83D3C604201C6775005564CB /* Products */ = { + isa = PBXGroup; + children = ( + 83D3C608201C6775005564CB /* AdPlug.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 83D3C5F2201C674D005564CB /* AdPlug */ = { + isa = PBXNativeTarget; + buildConfigurationList = 83D3C5F9201C674D005564CB /* Build configuration list for PBXNativeTarget "AdPlug" */; + buildPhases = ( + 83D3C5EF201C674D005564CB /* Sources */, + 83D3C5F0201C674D005564CB /* Frameworks */, + 83D3C5F1201C674D005564CB /* Resources */, + 83D3C66D201C72E3005564CB /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 83D3C65D201C6E48005564CB /* PBXTargetDependency */, + ); + name = AdPlug; + productName = AdPlug; + productReference = 83D3C5F3201C674D005564CB /* AdPlug.bundle */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83D3C5EB201C674D005564CB /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = "Christopher Snowhill"; + TargetAttributes = { + 83D3C5F2201C674D005564CB = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 83D3C5EE201C674D005564CB /* Build configuration list for PBXProject "AdPlug" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 83D3C5EA201C674D005564CB; + productRefGroup = 83D3C5F4201C674D005564CB /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 83D3C604201C6775005564CB /* Products */; + ProjectRef = 83D3C603201C6775005564CB /* AdPlug.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 83D3C5F2201C674D005564CB /* AdPlug */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 83D3C608201C6775005564CB /* AdPlug.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = AdPlug.framework; + remoteRef = 83D3C607201C6775005564CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 83D3C5F1201C674D005564CB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C668201C7020005564CB /* adplug.db in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 83D3C5EF201C674D005564CB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 83D3C66C201C70F7005564CB /* fileprovider.mm in Sources */, + 83D3C65A201C6E24005564CB /* AdPlugMetadataReader.mm in Sources */, + 83D3C65B201C6E24005564CB /* AdPlugDecoder.mm in Sources */, + 83D3C659201C6E24005564CB /* AdPlugContainer.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 83D3C65D201C6E48005564CB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AdPlug; + targetProxy = 83D3C65C201C6E48005564CB /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 83D3C5F7201C674D005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 83D3C5F8201C674D005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + }; + name = Release; + }; + 83D3C5FA201C674D005564CB /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../Frameworks/libbinio/libbinio/libbinio/src", + "$(SRCROOT)/../../Frameworks/libbinio/libbinio", + ); + INFOPLIST_FILE = AdPlug/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.AdPlug; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 83D3C5FB201C674D005564CB /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = N6E749HJ2X; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../../Frameworks/libbinio/libbinio/libbinio/src", + "$(SRCROOT)/../../Frameworks/libbinio/libbinio", + ); + INFOPLIST_FILE = AdPlug/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = net.kode54.AdPlug; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 83D3C5EE201C674D005564CB /* Build configuration list for PBXProject "AdPlug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C5F7201C674D005564CB /* Debug */, + 83D3C5F8201C674D005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83D3C5F9201C674D005564CB /* Build configuration list for PBXNativeTarget "AdPlug" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83D3C5FA201C674D005564CB /* Debug */, + 83D3C5FB201C674D005564CB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83D3C5EB201C674D005564CB /* Project object */; +} diff --git a/Plugins/AdPlug/AdPlug/AdPlugContainer.h b/Plugins/AdPlug/AdPlug/AdPlugContainer.h new file mode 100755 index 000000000..997020da5 --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugContainer.h @@ -0,0 +1,17 @@ +// +// AdPlugContainer.h +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import + +#import "Plugin.h" + +@interface AdPlugContainer : NSObject { + +} + +@end diff --git a/Plugins/AdPlug/AdPlug/AdPlugContainer.mm b/Plugins/AdPlug/AdPlug/AdPlugContainer.mm new file mode 100755 index 000000000..84418c307 --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugContainer.mm @@ -0,0 +1,79 @@ +// +// AdPlugContainer.m +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import +#import + +#import "AdPlugContainer.h" +#import "AdPlugDecoder.h" + +#import "Logging.h" + +#import "fileprovider.h" + +@implementation AdPlugContainer + ++ (NSArray *)fileTypes +{ + return [AdPlugDecoder fileTypes]; +} + ++ (NSArray *)mimeTypes +{ + return nil; +} + ++ (float)priority +{ + return [AdPlugDecoder priority]; +} + ++ (NSArray *)urlsForContainerURL:(NSURL *)url +{ + if ([url fragment]) { + // input url already has fragment defined - no need to expand further + return [NSMutableArray arrayWithObject:url]; + } + + id audioSourceClass = NSClassFromString(@"AudioSource"); + id source = [audioSourceClass audioSourceForURL:url]; + + if (![source open:url]) + return 0; + + if (![source seekable]) + return 0; + + Copl * p_emu = new CSilentopl; + + std::string path = [[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String]; + CPlayer * p_player = CAdPlug::factory(path, p_emu, CAdPlug::players, CProvider_cog( path, source )); + + if ( !p_player ) + { + delete p_emu; + return 0; + } + + NSMutableArray *tracks = [NSMutableArray array]; + + unsigned int i; + unsigned int subsongs = p_player->getsubsongs(); + + delete p_player; + delete p_emu; + + for (i = 0; i < subsongs; ++i) { + [tracks addObject:[NSURL URLWithString:[[url absoluteString] stringByAppendingFormat:@"#%i", i]]]; + } + + return tracks; +} + + +@end diff --git a/Plugins/AdPlug/AdPlug/AdPlugDecoder.h b/Plugins/AdPlug/AdPlug/AdPlugDecoder.h new file mode 100755 index 000000000..acb89a7bb --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugDecoder.h @@ -0,0 +1,30 @@ +// +// AdPlugDecoder.h +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import + +#import +#import + +#import "Plugin.h" + +@interface AdPlugDecoder : NSObject { + CPlayer * m_player; + Copl * m_emu; + + unsigned int subsong, samples_todo; + + id source; + unsigned long current_pos; + unsigned long length; +} + +- (void)setSource:(id)s; +- (id)source; +- (void)cleanUp; +@end diff --git a/Plugins/AdPlug/AdPlug/AdPlugDecoder.mm b/Plugins/AdPlug/AdPlug/AdPlugDecoder.mm new file mode 100755 index 000000000..0dba6893f --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugDecoder.mm @@ -0,0 +1,184 @@ +// +// AdPlugDecoder.m +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import "AdPlugDecoder.h" + +#import + +#import "fileprovider.h" + +#import "Logging.h" + +#import "PlaylistController.h" + +@implementation AdPlugDecoder + +- (id)init +{ + self = [super init]; + if (self) { + m_player = NULL; + m_emu = NULL; + } + return self; +} + +- (BOOL)open:(id)s +{ + [self setSource:s]; + + m_emu = new CNemuopl(44100); + + std::string path = [[[[source url] absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String]; + m_player = CAdPlug::factory(path, m_emu, CAdPlug::players, CProvider_cog( path, source )); + + if ( !m_player ) + return 0; + + if ([[source.url fragment] length] == 0) + subsong = 0; + else + subsong = [[source.url fragment] intValue]; + + samples_todo = 0; + + length = m_player->songlength(subsong) * 441 / 10; + current_pos = 0; + + m_player->rewind(subsong); + + [self willChangeValueForKey:@"properties"]; + [self didChangeValueForKey:@"properties"]; + + return YES; +} + +- (NSDictionary *)properties +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithInt:0], @"bitrate", + [NSNumber numberWithFloat:44100], @"sampleRate", + [NSNumber numberWithDouble:length], @"totalFrames", + [NSNumber numberWithInt:16], @"bitsPerSample", //Samples are short + [NSNumber numberWithBool:NO], @"floatingPoint", + [NSNumber numberWithInt:2], @"channels", //output from gme_play is in stereo + [NSNumber numberWithBool:YES], @"seekable", + @"host", @"endian", + nil]; +} + +- (int)readAudio:(void *)buf frames:(UInt32)frames +{ + int total = 0; + bool dont_loop = !IsRepeatOneSet(); + if ( dont_loop && current_pos + frames > length ) + frames = (UInt32) (length - current_pos); + while ( total < frames ) + { + bool running = true; + if ( !samples_todo ) + { + running = m_player->update() && running; + if ( !dont_loop || running ) + { + samples_todo = 44100 / m_player->getrefresh(); + current_pos += samples_todo; + } + } + if ( !samples_todo ) + break; + int samples_now = samples_todo; + if ( samples_now > (frames - total) ) + samples_now = frames - total; + m_emu->update( (short*)buf, samples_now ); + buf = ((short *)buf) + samples_now * 2; + samples_todo -= samples_now; + total += samples_now; + } + + return total; +} + +- (long)seek:(long)frame +{ + if ( frame < current_pos ) + { + current_pos = 0; + m_player->rewind( subsong ); + } + + while ( current_pos < frame ) + { + m_player->update(); + current_pos += 44100 / m_player->getrefresh(); + } + + samples_todo = (UInt32) (frame - current_pos); + + return frame; +} + +- (void)cleanUp +{ + delete m_player; m_player = NULL; + delete m_emu; m_emu = NULL; +} + +- (void)close +{ + [self cleanUp]; + + if (source) { + [source close]; + [self setSource:nil]; + } +} + +- (void)dealloc +{ + [self close]; +} + +- (void)setSource:(id)s +{ + source = s; +} + +- (id)source +{ + return source; +} + ++ (NSArray *)fileTypes +{ + const CPlayers & pl = CAdPlug::players; + CPlayers::const_iterator i; + unsigned j; + NSMutableArray * array = [NSMutableArray array]; + + for (i = pl.begin(); i != pl.end(); ++i) { + for ( j = 0; ( *i )->get_extension(j); ++j ) + { + [array addObject:[NSString stringWithUTF8String:(*i)->get_extension(j) + 1]]; + } + } + + return array; +} + ++ (NSArray *)mimeTypes +{ + return nil; +} + ++ (float)priority +{ + return 0.5; +} + +@end diff --git a/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.h b/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.h new file mode 100644 index 000000000..cf6d309ad --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.h @@ -0,0 +1,17 @@ +// +// AdPlugMetadataReader.h +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import + +#import "Plugin.h" + +@interface AdPlugMetadataReader : NSObject { + +} + +@end diff --git a/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.mm b/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.mm new file mode 100644 index 000000000..b5d8bd89b --- /dev/null +++ b/Plugins/AdPlug/AdPlug/AdPlugMetadataReader.mm @@ -0,0 +1,72 @@ +// +// AdPlugMetadataReader.m +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright 2018 __LoSnoCo__. All rights reserved. +// + +#import "AdPlugMetadataReader.h" +#import "AdPlugDecoder.h" + +#import +#import + +#import "fileprovider.h" + +#import "Logging.H" + +@implementation AdPlugMetadataReader + ++ (NSArray *)fileTypes +{ + return [AdPlugDecoder fileTypes]; +} + ++ (NSArray *)mimeTypes +{ + return [AdPlugDecoder mimeTypes]; +} + ++ (float)priority +{ + return [AdPlugDecoder priority]; +} + ++ (NSDictionary *)metadataForURL:(NSURL *)url +{ + id audioSourceClass = NSClassFromString(@"AudioSource"); + id source = [audioSourceClass audioSourceForURL:url]; + + if (![source open:url]) + return 0; + + if (![source seekable]) + return 0; + + Copl * p_emu = new CSilentopl; + + std::string path = [[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] UTF8String]; + CPlayer * p_player = CAdPlug::factory(path, p_emu, CAdPlug::players, CProvider_cog( path, source )); + + if ( !p_player ) + { + delete p_emu; + return 0; + } + + NSString * title = @""; + NSString * artist = @""; + + if ( !p_player->gettitle().empty() ) + title = [NSString stringWithUTF8String: p_player->gettitle().c_str()]; + if ( !p_player->getauthor().empty() ) + artist = [NSString stringWithUTF8String: p_player->getauthor().c_str()]; + + delete p_player; + delete p_emu; + + return [NSDictionary dictionaryWithObjectsAndKeys:title, @"title", artist, @"artist", nil]; +} + +@end diff --git a/Plugins/AdPlug/AdPlug/Info.plist b/Plugins/AdPlug/AdPlug/Info.plist new file mode 100644 index 000000000..494824be3 --- /dev/null +++ b/Plugins/AdPlug/AdPlug/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + NSHumanReadableCopyright + Copyright © 2018 Christopher Snowhill. All rights reserved. + NSPrincipalClass + + + diff --git a/Plugins/AdPlug/AdPlug/fileprovider.h b/Plugins/AdPlug/AdPlug/fileprovider.h new file mode 100644 index 000000000..273960aa8 --- /dev/null +++ b/Plugins/AdPlug/AdPlug/fileprovider.h @@ -0,0 +1,35 @@ +// +// fileprovider.h +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright © 2018 Christopher Snowhill. All rights reserved. +// + +#ifndef fileprovider_h +#define fileprovider_h + +#import + +#import "Plugin.h" + +#include +#include +#include + +class CProvider_cog : public CFileProvider +{ + id m_file_hint; + std::string m_file_path; + +public: + virtual binistream *open(std::string filename) const; + virtual void close(binistream *f) const; + + CProvider_cog() { } + + CProvider_cog(std::string filename, id file) + : m_file_path( filename ), m_file_hint(file) { } +}; + +#endif /* fileprovider_h */ diff --git a/Plugins/AdPlug/AdPlug/fileprovider.mm b/Plugins/AdPlug/AdPlug/fileprovider.mm new file mode 100644 index 000000000..90283341f --- /dev/null +++ b/Plugins/AdPlug/AdPlug/fileprovider.mm @@ -0,0 +1,118 @@ +// +// fileprovider.cpp +// AdPlug +// +// Created by Christopher Snowhill on 1/27/18. +// Copyright © 2018 Christopher Snowhill. All rights reserved. +// + +#include "fileprovider.h" + +class binistream_cog : public binistream +{ + id m_file; + + Byte m_buffer[4096]; + int m_buffer_filled, m_buffer_position; + +public: + binistream_cog( id p_file ) + : m_file( p_file ), m_buffer_filled( 0 ), m_buffer_position( 0 ) { } + + void seek( long pos, Offset offs ) + { + switch (offs) + { + case Set: break; + + case Add: + if ( ( pos < 0 && m_buffer_position + pos >= 0 ) || + ( pos >= 0 && m_buffer_position + pos < m_buffer_filled + m_buffer_position ) ) + { + m_buffer_filled -= pos; + m_buffer_position += pos; + err &= ~Eof; + return; + } + else + pos += [m_file tell] - m_buffer_filled; + break; + + case End: + [m_file seek:0 whence:SEEK_END]; + pos += [m_file tell]; + break; + } + [m_file seek:0 whence:SEEK_END]; + if (pos < [m_file tell]) + { + err &= ~Eof; + [m_file seek:pos whence:SEEK_SET]; + } + + m_buffer_filled = 0; + m_buffer_position = 0; + } + + long pos() + { + return [m_file tell] - m_buffer_filled; + } + + Byte getByte() + { + if ( err & Eof ) return -1; + + if ( ! m_buffer_filled ) + { + m_buffer_filled = [m_file read:m_buffer amount:4096]; + if ( ! m_buffer_filled ) + { + err |= Eof; + return -1; + } + m_buffer_position = 0; + } + + Byte value = m_buffer[ m_buffer_position ]; + ++m_buffer_position; + --m_buffer_filled; + return value; + } +}; + +binistream * CProvider_cog::open(std::string filename) const +{ + id p_file; + + if ( filename == m_file_path ) + { + p_file = m_file_hint; + [p_file seek:0 whence:SEEK_SET]; + } + + if ( p_file == nil ) + { + NSString * urlString = [NSString stringWithUTF8String:filename.c_str()]; + NSURL * url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + id audioSourceClass = NSClassFromString(@"AudioSource"); + p_file = [audioSourceClass audioSourceForURL:url]; + + if (![p_file open:url]) + return 0; + } + + binistream_cog * f = new binistream_cog( p_file ); + if ( f->error() ) { delete f; return 0; } + + f->setFlag(binio::BigEndian, false); f->setFlag(binio::FloatIEEE); + + return f; +} + +void CProvider_cog::close(binistream *f) const +{ + binistream_cog * ff = ( binistream_cog * ) f; + if ( f ) + delete ff; +}