Compare commits
6 commits
1787af6062
...
2f23420a6c
Author | SHA1 | Date | |
---|---|---|---|
|
2f23420a6c | ||
|
b4a3bc6fdc | ||
|
6c0ca775cd | ||
|
f05aada52d | ||
|
aebc52880b | ||
|
e8a7eaf954 |
164 changed files with 2771 additions and 1381 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -36,7 +36,7 @@ Xcode-config/SENTRY_SETTINGS.xcconfig
|
||||||
/ThirdParty/ffmpeg/lib/libavformat.61.dylib
|
/ThirdParty/ffmpeg/lib/libavformat.61.dylib
|
||||||
/ThirdParty/ffmpeg/lib/libavutil.59.dylib
|
/ThirdParty/ffmpeg/lib/libavutil.59.dylib
|
||||||
/ThirdParty/ffmpeg/lib/libswresample.5.dylib
|
/ThirdParty/ffmpeg/lib/libswresample.5.dylib
|
||||||
/ThirdParty/flac/lib/libFLAC.12.dylib
|
/ThirdParty/flac/lib/libFLAC.14.dylib
|
||||||
/ThirdParty/libid3tag/lib/libid3tag.a
|
/ThirdParty/libid3tag/lib/libid3tag.a
|
||||||
/ThirdParty/libmad/lib/libmad.a
|
/ThirdParty/libmad/lib/libmad.a
|
||||||
/ThirdParty/libopenmpt/lib/libopenmpt.a
|
/ThirdParty/libopenmpt/lib/libopenmpt.a
|
||||||
|
|
|
@ -693,7 +693,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CogAudio" */;
|
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CogAudio" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -905,6 +905,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
PRODUCT_MODULE_NAME = CogAudio;
|
PRODUCT_MODULE_NAME = CogAudio;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "CogAudio-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "CogAudio-Bridging-Header.h";
|
||||||
SYMROOT = ../build;
|
SYMROOT = ../build;
|
||||||
};
|
};
|
||||||
|
@ -952,6 +953,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
PRODUCT_MODULE_NAME = CogAudio;
|
PRODUCT_MODULE_NAME = CogAudio;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "CogAudio-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "CogAudio-Bridging-Header.h";
|
||||||
SYMROOT = ../build;
|
SYMROOT = ../build;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -7,15 +7,5 @@
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spks</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spks</string>
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spki</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)-spki</string>
|
||||||
</array>
|
</array>
|
||||||
<key>com.apple.security.app-sandbox</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.disable-library-validation</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.allow-jit</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.files.user-selected.read-write</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.network.client</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -129,7 +129,7 @@
|
||||||
836EF0C827BB91E600BF35B2 /* libogg.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C427BB919300BF35B2 /* libogg.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0C827BB91E600BF35B2 /* libogg.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C427BB919300BF35B2 /* libogg.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836EF0C927BB91E900BF35B2 /* libvorbisfile.3.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0C927BB91E900BF35B2 /* libvorbisfile.3.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836EF0CA27BB91EB00BF35B2 /* libvorbis.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0CA27BB91EB00BF35B2 /* libvorbis.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836EF0CB27BB91EE00BF35B2 /* libFLAC.12.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C727BB91BC00BF35B2 /* libFLAC.12.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0CB27BB91EE00BF35B2 /* libFLAC.14.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0C727BB91BC00BF35B2 /* libFLAC.14.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836EF0E027BB98A800BF35B2 /* libopus.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0E027BB98A800BF35B2 /* libopus.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836EF0E127BB98AB00BF35B2 /* libopusfile.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
836EF0E127BB98AB00BF35B2 /* libopusfile.0.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
836F5BF91A357A01002730CC /* sidplay.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8314D6411A354DFF00EEE8E6 /* sidplay.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
836F5BF91A357A01002730CC /* sidplay.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8314D6411A354DFF00EEE8E6 /* sidplay.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
@ -158,6 +158,7 @@
|
||||||
83988F0E27BE0A5900A0E89A /* RedundantPlaylistDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 83988F0D27BE0A5900A0E89A /* RedundantPlaylistDataStore.m */; };
|
83988F0E27BE0A5900A0E89A /* RedundantPlaylistDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 83988F0D27BE0A5900A0E89A /* RedundantPlaylistDataStore.m */; };
|
||||||
8399D4E21805A55000B503B1 /* XmlContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8399D4E01805A55000B503B1 /* XmlContainer.m */; };
|
8399D4E21805A55000B503B1 /* XmlContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8399D4E01805A55000B503B1 /* XmlContainer.m */; };
|
||||||
839B837F286D7F8D00F529EE /* NumberHertzToStringTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839B837E286D7F8D00F529EE /* NumberHertzToStringTransformer.swift */; };
|
839B837F286D7F8D00F529EE /* NumberHertzToStringTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 839B837E286D7F8D00F529EE /* NumberHertzToStringTransformer.swift */; };
|
||||||
|
839C957A2DF8E70900D007EB /* Cog26.icon in Resources */ = {isa = PBXBuildFile; fileRef = 839C95792DF8E70900D007EB /* Cog26.icon */; };
|
||||||
839DA7CF274A2D4C001B18E5 /* NSDictionary+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = 839DA7CE274A2D4C001B18E5 /* NSDictionary+Merge.m */; };
|
839DA7CF274A2D4C001B18E5 /* NSDictionary+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = 839DA7CE274A2D4C001B18E5 /* NSDictionary+Merge.m */; };
|
||||||
839E56F52879625100DFB5F4 /* SADIE_D02-96000.mhr in Resources */ = {isa = PBXBuildFile; fileRef = 839E56F12879625100DFB5F4 /* SADIE_D02-96000.mhr */; };
|
839E56F52879625100DFB5F4 /* SADIE_D02-96000.mhr in Resources */ = {isa = PBXBuildFile; fileRef = 839E56F12879625100DFB5F4 /* SADIE_D02-96000.mhr */; };
|
||||||
839E876E2D5DA0AC00A13526 /* RubberbandEngineTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 839E876D2D5DA0AC00A13526 /* RubberbandEngineTransformer.m */; };
|
839E876E2D5DA0AC00A13526 /* RubberbandEngineTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 839E876D2D5DA0AC00A13526 /* RubberbandEngineTransformer.m */; };
|
||||||
|
@ -721,7 +722,7 @@
|
||||||
836DF617298F6F1700CD0580 /* libsoxr.0.dylib in CopyFiles */,
|
836DF617298F6F1700CD0580 /* libsoxr.0.dylib in CopyFiles */,
|
||||||
836EF0E127BB98AB00BF35B2 /* libopusfile.0.dylib in CopyFiles */,
|
836EF0E127BB98AB00BF35B2 /* libopusfile.0.dylib in CopyFiles */,
|
||||||
836EF0E027BB98A800BF35B2 /* libopus.0.dylib in CopyFiles */,
|
836EF0E027BB98A800BF35B2 /* libopus.0.dylib in CopyFiles */,
|
||||||
836EF0CB27BB91EE00BF35B2 /* libFLAC.12.dylib in CopyFiles */,
|
836EF0CB27BB91EE00BF35B2 /* libFLAC.14.dylib in CopyFiles */,
|
||||||
836EF0CA27BB91EB00BF35B2 /* libvorbis.0.dylib in CopyFiles */,
|
836EF0CA27BB91EB00BF35B2 /* libvorbis.0.dylib in CopyFiles */,
|
||||||
83256B69286661FC0036D9C0 /* libmpg123.0.dylib in CopyFiles */,
|
83256B69286661FC0036D9C0 /* libmpg123.0.dylib in CopyFiles */,
|
||||||
836EF0C927BB91E900BF35B2 /* libvorbisfile.3.dylib in CopyFiles */,
|
836EF0C927BB91E900BF35B2 /* libvorbisfile.3.dylib in CopyFiles */,
|
||||||
|
@ -951,7 +952,7 @@
|
||||||
836EF0C427BB919300BF35B2 /* libogg.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libogg.0.dylib; path = ThirdParty/ogg/lib/libogg.0.dylib; sourceTree = "<group>"; };
|
836EF0C427BB919300BF35B2 /* libogg.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libogg.0.dylib; path = ThirdParty/ogg/lib/libogg.0.dylib; sourceTree = "<group>"; };
|
||||||
836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libvorbis.0.dylib; path = ThirdParty/vorbis/lib/libvorbis.0.dylib; sourceTree = "<group>"; };
|
836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libvorbis.0.dylib; path = ThirdParty/vorbis/lib/libvorbis.0.dylib; sourceTree = "<group>"; };
|
||||||
836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libvorbisfile.3.dylib; path = ThirdParty/vorbis/lib/libvorbisfile.3.dylib; sourceTree = "<group>"; };
|
836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libvorbisfile.3.dylib; path = ThirdParty/vorbis/lib/libvorbisfile.3.dylib; sourceTree = "<group>"; };
|
||||||
836EF0C727BB91BC00BF35B2 /* libFLAC.12.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libFLAC.12.dylib; path = ThirdParty/flac/lib/libFLAC.12.dylib; sourceTree = "<group>"; };
|
836EF0C727BB91BC00BF35B2 /* libFLAC.14.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libFLAC.14.dylib; path = ThirdParty/flac/lib/libFLAC.14.dylib; sourceTree = "<group>"; };
|
||||||
836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopus.0.dylib; path = ThirdParty/opus/lib/libopus.0.dylib; sourceTree = "<group>"; };
|
836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopus.0.dylib; path = ThirdParty/opus/lib/libopus.0.dylib; sourceTree = "<group>"; };
|
||||||
836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopusfile.0.dylib; path = ThirdParty/opusfile/lib/libopusfile.0.dylib; sourceTree = "<group>"; };
|
836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopusfile.0.dylib; path = ThirdParty/opusfile/lib/libopusfile.0.dylib; sourceTree = "<group>"; };
|
||||||
836F6B2518BDB80D0095E648 /* vgmstream.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = vgmstream.xcodeproj; path = Plugins/vgmstream/vgmstream.xcodeproj; sourceTree = "<group>"; };
|
836F6B2518BDB80D0095E648 /* vgmstream.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = vgmstream.xcodeproj; path = Plugins/vgmstream/vgmstream.xcodeproj; sourceTree = "<group>"; };
|
||||||
|
@ -1004,6 +1005,7 @@
|
||||||
8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = "<group>"; };
|
8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = "<group>"; };
|
||||||
8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = "<group>"; };
|
8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = "<group>"; };
|
||||||
839B837E286D7F8D00F529EE /* NumberHertzToStringTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = NumberHertzToStringTransformer.swift; path = Transformers/NumberHertzToStringTransformer.swift; sourceTree = "<group>"; };
|
839B837E286D7F8D00F529EE /* NumberHertzToStringTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = NumberHertzToStringTransformer.swift; path = Transformers/NumberHertzToStringTransformer.swift; sourceTree = "<group>"; };
|
||||||
|
839C95792DF8E70900D007EB /* Cog26.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Cog26.icon; sourceTree = "<group>"; };
|
||||||
839DA7CB274A2D4C001B18E5 /* NSDictionary+Merge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Merge.h"; sourceTree = "<group>"; };
|
839DA7CB274A2D4C001B18E5 /* NSDictionary+Merge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Merge.h"; sourceTree = "<group>"; };
|
||||||
839DA7CE274A2D4C001B18E5 /* NSDictionary+Merge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Merge.m"; sourceTree = "<group>"; };
|
839DA7CE274A2D4C001B18E5 /* NSDictionary+Merge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Merge.m"; sourceTree = "<group>"; };
|
||||||
839E3B53286595D700880EA2 /* GeneralPane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GeneralPane.h; path = Preferences/Preferences/GeneralPane.h; sourceTree = "<group>"; };
|
839E3B53286595D700880EA2 /* GeneralPane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GeneralPane.h; path = Preferences/Preferences/GeneralPane.h; sourceTree = "<group>"; };
|
||||||
|
@ -1154,7 +1156,7 @@
|
||||||
835FAC7D27BCDF5B00BA8562 /* libavif.a */,
|
835FAC7D27BCDF5B00BA8562 /* libavif.a */,
|
||||||
836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */,
|
836EF0CD27BB94F100BF35B2 /* libopusfile.0.dylib */,
|
||||||
836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */,
|
836EF0CC27BB94E100BF35B2 /* libopus.0.dylib */,
|
||||||
836EF0C727BB91BC00BF35B2 /* libFLAC.12.dylib */,
|
836EF0C727BB91BC00BF35B2 /* libFLAC.14.dylib */,
|
||||||
836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */,
|
836EF0C527BB91AB00BF35B2 /* libvorbis.0.dylib */,
|
||||||
836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */,
|
836EF0C627BB91AB00BF35B2 /* libvorbisfile.3.dylib */,
|
||||||
836EF0C427BB919300BF35B2 /* libogg.0.dylib */,
|
836EF0C427BB919300BF35B2 /* libogg.0.dylib */,
|
||||||
|
@ -1473,6 +1475,7 @@
|
||||||
29B97314FDCFA39411CA2CEA /* Cog */ = {
|
29B97314FDCFA39411CA2CEA /* Cog */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
839C95792DF8E70900D007EB /* Cog26.icon */,
|
||||||
0A1B412E286F6301008A6A44 /* Localizable.stringsdict */,
|
0A1B412E286F6301008A6A44 /* Localizable.stringsdict */,
|
||||||
83D0380E24A40DF2004CF90F /* CogAssets.xcassets */,
|
83D0380E24A40DF2004CF90F /* CogAssets.xcassets */,
|
||||||
83859520234FEB35004E9946 /* Cog.entitlements */,
|
83859520234FEB35004E9946 /* Cog.entitlements */,
|
||||||
|
@ -2043,7 +2046,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1500;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cog" */;
|
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cog" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -2467,6 +2470,7 @@
|
||||||
839614AD286EDA5C00D3EEDB /* SpectrumWindow.xib in Resources */,
|
839614AD286EDA5C00D3EEDB /* SpectrumWindow.xib in Resources */,
|
||||||
171B57DD0C091F2B00F6AFAF /* flac.icns in Resources */,
|
171B57DD0C091F2B00F6AFAF /* flac.icns in Resources */,
|
||||||
171B57DE0C091F2B00F6AFAF /* m4a.icns in Resources */,
|
171B57DE0C091F2B00F6AFAF /* m4a.icns in Resources */,
|
||||||
|
839C957A2DF8E70900D007EB /* Cog26.icon in Resources */,
|
||||||
839E56F52879625100DFB5F4 /* SADIE_D02-96000.mhr in Resources */,
|
839E56F52879625100DFB5F4 /* SADIE_D02-96000.mhr in Resources */,
|
||||||
830C37A127B95E3000E02BB0 /* Equalizer.xib in Resources */,
|
830C37A127B95E3000E02BB0 /* Equalizer.xib in Resources */,
|
||||||
171B57DF0C091F2B00F6AFAF /* mp3.icns in Resources */,
|
171B57DF0C091F2B00F6AFAF /* mp3.icns in Resources */,
|
||||||
|
@ -2943,10 +2947,15 @@
|
||||||
C01FCF4B08A954540054247B /* Debug */ = {
|
C01FCF4B08A954540054247B /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = Cog26;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color";
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
|
ENABLE_APP_SANDBOX = YES;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
||||||
|
ENABLE_USER_SELECTED_FILES = readwrite;
|
||||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/ThirdParty/Frameworks";
|
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/ThirdParty/Frameworks";
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
|
@ -2971,6 +2980,7 @@
|
||||||
"$(PROJECT_DIR)",
|
"$(PROJECT_DIR)",
|
||||||
"$(PROJECT_DIR)/ThirdParty/rubberband/lib",
|
"$(PROJECT_DIR)/ThirdParty/rubberband/lib",
|
||||||
);
|
);
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-D__MACOSX__",
|
"-D__MACOSX__",
|
||||||
"-DHAVE_CONFIG_H",
|
"-DHAVE_CONFIG_H",
|
||||||
|
@ -2989,6 +2999,9 @@
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog;
|
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog;
|
||||||
PRODUCT_NAME = Cog;
|
PRODUCT_NAME = Cog;
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
RUNTIME_EXCEPTION_ALLOW_JIT = YES;
|
||||||
|
RUNTIME_EXCEPTION_DISABLE_LIBRARY_VALIDATION = YES;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Cog-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Cog-Bridging-Header.h";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
@ -3000,9 +3013,14 @@
|
||||||
C01FCF4C08A954540054247B /* Release */ = {
|
C01FCF4C08A954540054247B /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = Cog26;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color";
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color";
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
|
ENABLE_APP_SANDBOX = YES;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
||||||
|
ENABLE_USER_SELECTED_FILES = readwrite;
|
||||||
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/ThirdParty/Frameworks";
|
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/ThirdParty/Frameworks";
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
HEADER_SEARCH_PATHS = ThirdParty/avif/include;
|
HEADER_SEARCH_PATHS = ThirdParty/avif/include;
|
||||||
|
@ -3025,6 +3043,7 @@
|
||||||
"$(PROJECT_DIR)",
|
"$(PROJECT_DIR)",
|
||||||
"$(PROJECT_DIR)/ThirdParty/rubberband/lib",
|
"$(PROJECT_DIR)/ThirdParty/rubberband/lib",
|
||||||
);
|
);
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-D__MACOSX__",
|
"-D__MACOSX__",
|
||||||
"-DHAVE_CONFIG_H",
|
"-DHAVE_CONFIG_H",
|
||||||
|
@ -3043,6 +3062,9 @@
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog;
|
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog;
|
||||||
PRODUCT_NAME = Cog;
|
PRODUCT_NAME = Cog;
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
RUNTIME_EXCEPTION_ALLOW_JIT = YES;
|
||||||
|
RUNTIME_EXCEPTION_DISABLE_LIBRARY_VALIDATION = YES;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Cog-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Cog-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
|
@ -3079,7 +3101,7 @@
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
@ -3093,6 +3115,7 @@
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -3124,8 +3147,8 @@
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
@ -3136,6 +3159,7 @@
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
9
Cog26.icon/Assets/cog.svg
Normal file
9
Cog26.icon/Assets/cog.svg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 720 720" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<g transform="matrix(1.00628,0.269633,-0.322362,1.20307,-166.912,-364.608)">
|
||||||
|
<g>
|
||||||
|
<path d="M688.647,164.035C696.109,164.437 702.246,169.104 703.433,175.279C705.212,184.454 707.761,197.712 709.467,206.587C710.54,212.171 715.688,216.592 722.334,217.638C735.557,219.762 748.579,222.681 761.306,226.357C767.68,228.229 774.772,226.554 779.036,222.172C785.832,215.21 795.964,204.793 802.977,197.584C807.701,192.727 815.814,191.25 822.524,194.026C834.796,199.178 846.699,204.926 858.161,211.252C864.383,214.721 866.908,221.329 864.244,227.173C860.301,235.863 854.582,248.41 850.754,256.809C848.346,262.095 850.161,268.076 855.292,271.761C865.473,279.131 875.006,287.104 883.831,295.61C888.231,299.897 895.374,301.413 901.686,299.401C911.734,296.214 926.736,291.43 937.119,288.12C944.113,285.889 952.022,288.003 956.173,293.213C963.722,302.807 970.594,312.763 976.739,323.035C980.053,328.641 978.29,335.42 972.49,339.367C963.88,345.243 951.427,353.719 943.091,359.391C937.846,362.961 935.842,368.901 938.083,374.238C942.494,384.878 945.984,395.771 948.542,406.828C949.79,412.381 955.07,416.681 961.74,417.578C972.346,419.02 988.197,421.151 999.17,422.626C1006.56,423.62 1012.15,428.76 1012.63,435.009C1013.43,446.473 1013.43,457.967 1012.61,469.43C1012.13,475.673 1006.55,480.808 999.167,481.801C988.198,483.289 972.346,485.421 961.736,486.847C955.059,487.745 949.774,492.051 948.524,497.61C945.984,508.67 942.495,519.562 938.1,530.207C935.862,535.538 937.864,541.471 943.103,545.037C951.427,550.721 963.88,559.197 972.5,565.063C978.306,569.014 980.071,575.799 976.754,581.411C970.594,591.677 963.722,601.633 956.16,611.219C952.012,616.424 944.112,618.536 937.125,616.308C926.736,613.01 911.734,608.226 901.693,605.025C895.374,603.01 888.223,604.528 883.817,608.82C875.006,617.336 865.473,625.31 855.303,632.691C850.178,636.372 848.366,642.347 850.772,647.626C854.582,656.03 860.301,668.578 864.259,677.263C866.926,683.113 864.398,689.728 858.17,693.201C846.699,699.515 834.796,705.262 822.516,710.402C815.813,713.175 807.709,711.7 802.989,706.848C795.964,699.647 785.832,689.23 779.05,682.258C774.782,677.871 767.681,676.195 761.3,678.069C748.579,681.759 735.557,684.678 722.337,686.817C715.699,687.862 710.557,692.278 709.485,697.856C707.761,706.728 705.212,719.986 703.448,729.163C702.261,735.345 696.118,740.016 688.648,740.419C674.94,741.09 661.196,741.09 647.488,740.405C640.026,740.003 633.889,735.336 632.702,729.161C630.923,719.986 628.375,706.728 626.669,697.854C625.596,692.269 620.448,687.848 613.802,686.802C600.579,684.678 587.557,681.759 574.83,678.083C568.456,676.211 561.364,677.886 557.1,682.268C550.304,689.23 540.172,699.647 533.159,706.856C528.435,711.713 520.322,713.19 513.612,710.414C501.339,705.263 489.437,699.515 477.975,693.189C471.753,689.72 469.228,683.112 471.892,677.268C475.835,668.578 481.554,656.03 485.382,647.632C487.79,642.346 485.975,636.365 480.845,632.68C470.663,625.31 461.13,617.336 452.305,608.83C447.905,604.543 440.762,603.027 434.45,605.039C424.402,608.226 409.4,613.01 399.017,616.32C392.023,618.551 384.114,616.437 379.963,611.227C372.414,601.633 365.542,591.677 359.397,581.405C356.083,575.799 357.846,569.02 363.646,565.073C372.256,559.197 384.709,550.721 393.044,545.049C398.29,541.479 400.294,535.539 398.053,530.202C393.641,519.562 390.152,508.67 387.594,497.613C386.346,492.06 381.066,487.76 374.397,486.863C363.79,485.42 347.939,483.289 336.967,481.813C329.577,480.82 323.992,475.682 323.511,469.434C322.709,457.968 322.709,446.472 323.527,435.007C324.008,428.766 329.587,423.633 336.97,422.64C347.939,421.152 363.79,419.02 374.399,417.594C381.076,416.696 386.362,412.39 387.612,406.831C390.152,395.771 393.642,384.878 398.036,374.232C400.274,368.902 398.272,362.969 393.033,359.403C384.709,353.719 372.256,345.243 363.636,339.377C357.83,335.426 356.065,328.641 359.382,323.029C365.542,312.763 372.414,302.807 379.976,293.221C384.124,288.016 392.024,285.904 399.011,288.132C409.4,291.43 424.402,296.214 434.443,299.415C440.762,301.43 447.913,299.912 452.319,295.62C461.13,287.104 470.663,279.131 480.832,271.75C485.957,268.069 487.77,262.094 485.364,256.815C481.554,248.41 475.835,235.863 471.877,227.178C469.21,221.328 471.738,214.713 477.966,211.24C489.437,204.926 501.339,199.178 513.62,194.038C520.323,191.265 528.427,192.74 533.147,197.592C540.172,204.793 550.304,215.21 557.086,222.182C561.354,226.569 568.455,228.245 574.836,226.371C587.557,222.681 600.579,219.762 613.798,217.623C620.437,216.578 625.579,212.162 626.651,206.584C628.375,197.712 630.923,184.454 632.687,175.278C633.874,169.096 640.018,164.424 647.488,164.022C661.196,163.351 674.94,163.351 688.647,164.035Z" style="fill:rgb(170,170,170);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5 KiB |
9
Cog26.icon/Assets/orb.svg
Normal file
9
Cog26.icon/Assets/orb.svg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 444 444" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<g transform="matrix(1,0,0,1,-290.495,-290.495)">
|
||||||
|
<g transform="matrix(1.64928,0,0,2.40966,-344.908,-858.521)">
|
||||||
|
<ellipse cx="519.565" cy="568.761" rx="134.304" ry="91.924" style="fill:rgb(255,200,0);"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 701 B |
9
Cog26.icon/Assets/play.svg
Normal file
9
Cog26.icon/Assets/play.svg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 207 234" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<g transform="matrix(1,0,0,1,-421.248,-394.96)">
|
||||||
|
<g transform="matrix(11.2166,0,0,11.2166,395.945,394.96)">
|
||||||
|
<path d="M2.256,19.17C2.256,20.322 2.93,20.859 3.721,20.859C4.063,20.859 4.424,20.752 4.766,20.557L19.453,11.924C20.361,11.397 20.693,11.025 20.693,10.43C20.693,9.824 20.361,9.453 19.453,8.926L4.766,0.293C4.424,0.098 4.063,0 3.721,0C2.93,0 2.256,0.527 2.256,1.68L2.256,19.17Z" style="fill:rgb(226,255,0);fill-opacity:0.85;fill-rule:nonzero;"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 950 B |
170
Cog26.icon/icon.json
Normal file
170
Cog26.icon/icon.json
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
{
|
||||||
|
"fill" : "automatic",
|
||||||
|
"groups" : [
|
||||||
|
{
|
||||||
|
"blend-mode" : "plus-lighter",
|
||||||
|
"blur-material" : 1,
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"blend-mode-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : "plus-lighter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "tinted",
|
||||||
|
"value" : "plus-darker"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fill-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : {
|
||||||
|
"automatic-gradient" : "extended-gray:1.00000,1.00000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "tinted",
|
||||||
|
"value" : {
|
||||||
|
"solid" : "srgb:0.74968,0.74968,0.74968,1.00000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"glass" : true,
|
||||||
|
"image-name" : "play.svg",
|
||||||
|
"name" : "play",
|
||||||
|
"opacity" : 0.51,
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.06,
|
||||||
|
"translation-in-points" : [
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "layer-color",
|
||||||
|
"opacity" : 1
|
||||||
|
},
|
||||||
|
"specular" : true,
|
||||||
|
"translucency-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "tinted",
|
||||||
|
"value" : {
|
||||||
|
"enabled" : false,
|
||||||
|
"value" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blur-material" : 0.53,
|
||||||
|
"hidden" : false,
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"fill-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : {
|
||||||
|
"automatic-gradient" : "srgb:1.00000,0.45770,0.00000,1.00000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "tinted",
|
||||||
|
"value" : {
|
||||||
|
"linear-gradient" : [
|
||||||
|
"gray:0.69290,1.00000",
|
||||||
|
"srgb:0.30390,0.30390,0.30390,1.00000"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"glass" : true,
|
||||||
|
"hidden" : false,
|
||||||
|
"image-name" : "orb.svg",
|
||||||
|
"name" : "orb",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.15,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lighting" : "combined",
|
||||||
|
"name" : "Group",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "layer-color",
|
||||||
|
"opacity" : 1
|
||||||
|
},
|
||||||
|
"specular" : true,
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"blur-material" : null,
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"blend-mode" : "normal",
|
||||||
|
"fill-specializations" : [
|
||||||
|
{
|
||||||
|
"value" : "automatic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "light",
|
||||||
|
"value" : {
|
||||||
|
"automatic-gradient" : "extended-gray:0.45594,1.00000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appearance" : "dark",
|
||||||
|
"value" : {
|
||||||
|
"automatic-gradient" : "extended-gray:0.57231,1.00000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hidden" : false,
|
||||||
|
"image-name" : "cog.svg",
|
||||||
|
"name" : "cog",
|
||||||
|
"opacity" : 1,
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.15,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lighting" : "combined",
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "layer-color",
|
||||||
|
"opacity" : 1
|
||||||
|
},
|
||||||
|
"specular" : true,
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : false,
|
||||||
|
"value" : 0.72
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"supported-platforms" : {
|
||||||
|
"squares" : [
|
||||||
|
"macOS"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -558,7 +558,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83D3C4CE201C654F005564CB /* Build configuration list for PBXProject "libAdPlug" */;
|
buildConfigurationList = 83D3C4CE201C654F005564CB /* Build configuration list for PBXProject "libAdPlug" */;
|
||||||
|
@ -743,6 +743,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -802,6 +803,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -632,7 +632,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1640;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8359FF3617FEF39F0060F3ED /* Build configuration list for PBXProject "File_Extractor" */;
|
buildConfigurationList = 8359FF3617FEF39F0060F3ED /* Build configuration list for PBXProject "File_Extractor" */;
|
||||||
|
@ -811,6 +811,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -863,6 +864,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -628,7 +628,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "GME" */;
|
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "GME" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -849,6 +849,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -896,6 +897,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8343792F17F97BDB00584396 /* Build configuration list for PBXProject "HighlyAdvanced" */;
|
buildConfigurationList = 8343792F17F97BDB00584396 /* Build configuration list for PBXProject "HighlyAdvanced" */;
|
||||||
|
@ -375,6 +375,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -426,6 +427,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -188,7 +188,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8360EF0A17F92C91005208A4 /* Build configuration list for PBXProject "HighlyExperimental" */;
|
buildConfigurationList = 8360EF0A17F92C91005208A4 /* Build configuration list for PBXProject "HighlyExperimental" */;
|
||||||
|
@ -312,6 +312,7 @@
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -363,6 +364,7 @@
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 834378D817F96E2600584396 /* Build configuration list for PBXProject "HighlyQuixotic" */;
|
buildConfigurationList = 834378D817F96E2600584396 /* Build configuration list for PBXProject "HighlyQuixotic" */;
|
||||||
|
@ -284,6 +284,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -342,6 +343,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -202,7 +202,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8343786817F9658E00584396 /* Build configuration list for PBXProject "HighlyTheoretical" */;
|
buildConfigurationList = 8343786817F9658E00584396 /* Build configuration list for PBXProject "HighlyTheoretical" */;
|
||||||
|
@ -331,6 +331,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -391,6 +392,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -142,7 +142,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 836FB550182053D700B3AD2D /* Build configuration list for PBXProject "HivelyPlayer" */;
|
buildConfigurationList = 836FB550182053D700B3AD2D /* Build configuration list for PBXProject "HivelyPlayer" */;
|
||||||
|
@ -261,6 +261,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -314,6 +315,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -243,7 +243,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "MPCDec" */;
|
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "MPCDec" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -410,6 +410,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -455,6 +456,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -2347,7 +2347,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83E5EFB71FFEF7CC00659F0F /* Build configuration list for PBXProject "libOpenMPT" */;
|
buildConfigurationList = 83E5EFB71FFEF7CC00659F0F /* Build configuration list for PBXProject "libOpenMPT" */;
|
||||||
|
@ -2611,6 +2611,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
USE_HEADERMAP = YES;
|
USE_HEADERMAP = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
|
@ -2684,6 +2685,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
USE_HEADERMAP = YES;
|
USE_HEADERMAP = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
|
|
|
@ -251,7 +251,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83848FB21807623F00E7332D /* Build configuration list for PBXProject "SSEQPlayer" */;
|
buildConfigurationList = 83848FB21807623F00E7332D /* Build configuration list for PBXProject "SSEQPlayer" */;
|
||||||
|
@ -380,6 +380,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -431,6 +432,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -187,7 +187,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Shorten" */;
|
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Shorten" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -362,6 +362,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -414,6 +415,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -230,7 +230,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83D731161A74968900CA1366 /* Build configuration list for PBXProject "g719" */;
|
buildConfigurationList = 83D731161A74968900CA1366 /* Build configuration list for PBXProject "g719" */;
|
||||||
|
@ -353,6 +353,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -407,6 +408,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -959,7 +959,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83C8B61C18AF57770071B040 /* Build configuration list for PBXProject "lazyusf2" */;
|
buildConfigurationList = 83C8B61C18AF57770071B040 /* Build configuration list for PBXProject "lazyusf2" */;
|
||||||
|
@ -1123,6 +1123,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -1175,6 +1176,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -186,7 +186,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
835FC6AF23F61BF0006960FA = {
|
835FC6AF23F61BF0006960FA = {
|
||||||
|
@ -308,6 +308,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -368,6 +369,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -126,7 +126,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83D3C675201D37D8005564CB /* Build configuration list for PBXProject "libbinio" */;
|
buildConfigurationList = 83D3C675201D37D8005564CB /* Build configuration list for PBXProject "libbinio" */;
|
||||||
|
@ -233,6 +233,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -292,6 +293,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -274,7 +274,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
83D6761F26539A7100252130 = {
|
83D6761F26539A7100252130 = {
|
||||||
CreatedOnToolsVersion = 12.5;
|
CreatedOnToolsVersion = 12.5;
|
||||||
|
@ -441,6 +441,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -542,6 +543,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -263,7 +263,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
83D676AD26539F4E00252130 = {
|
83D676AD26539F4E00252130 = {
|
||||||
CreatedOnToolsVersion = 12.5;
|
CreatedOnToolsVersion = 12.5;
|
||||||
|
@ -429,6 +429,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -530,6 +531,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1147,7 +1147,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
EDBE8EF825E7E641001EB4A4 = {
|
EDBE8EF825E7E641001EB4A4 = {
|
||||||
CreatedOnToolsVersion = 12.5;
|
CreatedOnToolsVersion = 12.5;
|
||||||
|
@ -1320,6 +1320,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -1380,6 +1381,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1105,7 +1105,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83CA240D1D7BC47C00F2EA53 /* Build configuration list for PBXProject "mGBA" */;
|
buildConfigurationList = 83CA240D1D7BC47C00F2EA53 /* Build configuration list for PBXProject "mGBA" */;
|
||||||
|
@ -1266,6 +1266,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
@ -1324,6 +1325,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83B066A6180D56B9008E3612 /* Build configuration list for PBXProject "midi_processing" */;
|
buildConfigurationList = 83B066A6180D56B9008E3612 /* Build configuration list for PBXProject "midi_processing" */;
|
||||||
|
@ -301,6 +301,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -354,6 +355,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -146,7 +146,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8343781617F93CB500584396 /* Build configuration list for PBXProject "psflib" */;
|
buildConfigurationList = 8343781617F93CB500584396 /* Build configuration list for PBXProject "psflib" */;
|
||||||
|
@ -264,6 +264,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -315,6 +316,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
8306B0EB20984590000302D4 /* wave_segmented.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D02098458F000302D4 /* wave_segmented.c */; };
|
8306B0EB20984590000302D4 /* wave_segmented.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D02098458F000302D4 /* wave_segmented.c */; };
|
||||||
8306B0EC20984590000302D4 /* pcm_sre.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D12098458F000302D4 /* pcm_sre.c */; };
|
8306B0EC20984590000302D4 /* pcm_sre.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D12098458F000302D4 /* pcm_sre.c */; };
|
||||||
8306B0ED20984590000302D4 /* txtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D22098458F000302D4 /* txtp.c */; };
|
8306B0ED20984590000302D4 /* txtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D22098458F000302D4 /* txtp.c */; };
|
||||||
8306B0EE20984590000302D4 /* smc_smh.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D32098458F000302D4 /* smc_smh.c */; };
|
8306B0EE20984590000302D4 /* smh_smc.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D32098458F000302D4 /* smh_smc.c */; };
|
||||||
8306B0EF20984590000302D4 /* ubi_bao.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D420984590000302D4 /* ubi_bao.c */; };
|
8306B0EF20984590000302D4 /* ubi_bao.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D420984590000302D4 /* ubi_bao.c */; };
|
||||||
8306B0F020984590000302D4 /* atsl.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D520984590000302D4 /* atsl.c */; };
|
8306B0F020984590000302D4 /* atsl.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D520984590000302D4 /* atsl.c */; };
|
||||||
8306B0F120984590000302D4 /* ppst.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D620984590000302D4 /* ppst.c */; };
|
8306B0F120984590000302D4 /* ppst.c in Sources */ = {isa = PBXBuildFile; fileRef = 8306B0D620984590000302D4 /* ppst.c */; };
|
||||||
|
@ -154,6 +154,8 @@
|
||||||
832BF82B21E0514B006F50F1 /* xopus.c in Sources */ = {isa = PBXBuildFile; fileRef = 832BF81921E0514A006F50F1 /* xopus.c */; };
|
832BF82B21E0514B006F50F1 /* xopus.c in Sources */ = {isa = PBXBuildFile; fileRef = 832BF81921E0514A006F50F1 /* xopus.c */; };
|
||||||
832BF82C21E0514B006F50F1 /* hca_keys_awb.h in Headers */ = {isa = PBXBuildFile; fileRef = 832BF81A21E0514A006F50F1 /* hca_keys_awb.h */; };
|
832BF82C21E0514B006F50F1 /* hca_keys_awb.h in Headers */ = {isa = PBXBuildFile; fileRef = 832BF81A21E0514A006F50F1 /* hca_keys_awb.h */; };
|
||||||
832BF82D21E0514B006F50F1 /* nus3audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 832BF81B21E0514B006F50F1 /* nus3audio.c */; };
|
832BF82D21E0514B006F50F1 /* nus3audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 832BF81B21E0514B006F50F1 /* nus3audio.c */; };
|
||||||
|
832F9EA62E29047F00D08728 /* srcd.c in Sources */ = {isa = PBXBuildFile; fileRef = 832F9EA52E29047F00D08728 /* srcd.c */; };
|
||||||
|
832F9EA82E2905D500D08728 /* mhwk.c in Sources */ = {isa = PBXBuildFile; fileRef = 832F9EA72E2905D500D08728 /* mhwk.c */; };
|
||||||
832FC36C278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 832FC367278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h */; };
|
832FC36C278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 832FC367278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h */; };
|
||||||
832FC36D278FA4CB0056A860 /* ubi_ckd_cwav.c in Sources */ = {isa = PBXBuildFile; fileRef = 832FC36B278FA4CB0056A860 /* ubi_ckd_cwav.c */; };
|
832FC36D278FA4CB0056A860 /* ubi_ckd_cwav.c in Sources */ = {isa = PBXBuildFile; fileRef = 832FC36B278FA4CB0056A860 /* ubi_ckd_cwav.c */; };
|
||||||
832FC36F278FAE3E0056A860 /* encrypted_mc161_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 832FC36E278FAE3E0056A860 /* encrypted_mc161_streamfile.h */; };
|
832FC36F278FAE3E0056A860 /* encrypted_mc161_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 832FC36E278FAE3E0056A860 /* encrypted_mc161_streamfile.h */; };
|
||||||
|
@ -515,7 +517,7 @@
|
||||||
836F6F9418BDC2190095E648 /* iivb.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5818BDC2180095E648 /* iivb.c */; };
|
836F6F9418BDC2190095E648 /* iivb.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5818BDC2180095E648 /* iivb.c */; };
|
||||||
836F6F9518BDC2190095E648 /* kraw.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5918BDC2180095E648 /* kraw.c */; };
|
836F6F9518BDC2190095E648 /* kraw.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5918BDC2180095E648 /* kraw.c */; };
|
||||||
836F6F9618BDC2190095E648 /* lsf.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5A18BDC2180095E648 /* lsf.c */; };
|
836F6F9618BDC2190095E648 /* lsf.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5A18BDC2180095E648 /* lsf.c */; };
|
||||||
836F6F9818BDC2190095E648 /* mattel_hyperscan.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5C18BDC2180095E648 /* mattel_hyperscan.c */; };
|
836F6F9818BDC2190095E648 /* kvag.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5C18BDC2180095E648 /* kvag.c */; };
|
||||||
836F6F9918BDC2190095E648 /* maxis_xa.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5D18BDC2180095E648 /* maxis_xa.c */; };
|
836F6F9918BDC2190095E648 /* maxis_xa.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E5D18BDC2180095E648 /* maxis_xa.c */; };
|
||||||
836F6F9A18BDC2190095E648 /* meta.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6E5E18BDC2180095E648 /* meta.h */; };
|
836F6F9A18BDC2190095E648 /* meta.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6E5E18BDC2180095E648 /* meta.h */; };
|
||||||
836F6F9C18BDC2190095E648 /* mp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6018BDC2180095E648 /* mp4.c */; };
|
836F6F9C18BDC2190095E648 /* mp4.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6018BDC2180095E648 /* mp4.c */; };
|
||||||
|
@ -1020,7 +1022,7 @@
|
||||||
8306B0D02098458F000302D4 /* wave_segmented.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wave_segmented.c; sourceTree = "<group>"; };
|
8306B0D02098458F000302D4 /* wave_segmented.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wave_segmented.c; sourceTree = "<group>"; };
|
||||||
8306B0D12098458F000302D4 /* pcm_sre.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcm_sre.c; sourceTree = "<group>"; };
|
8306B0D12098458F000302D4 /* pcm_sre.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pcm_sre.c; sourceTree = "<group>"; };
|
||||||
8306B0D22098458F000302D4 /* txtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = txtp.c; sourceTree = "<group>"; };
|
8306B0D22098458F000302D4 /* txtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = txtp.c; sourceTree = "<group>"; };
|
||||||
8306B0D32098458F000302D4 /* smc_smh.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smc_smh.c; sourceTree = "<group>"; };
|
8306B0D32098458F000302D4 /* smh_smc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smh_smc.c; sourceTree = "<group>"; };
|
||||||
8306B0D420984590000302D4 /* ubi_bao.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubi_bao.c; sourceTree = "<group>"; };
|
8306B0D420984590000302D4 /* ubi_bao.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubi_bao.c; sourceTree = "<group>"; };
|
||||||
8306B0D520984590000302D4 /* atsl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atsl.c; sourceTree = "<group>"; };
|
8306B0D520984590000302D4 /* atsl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atsl.c; sourceTree = "<group>"; };
|
||||||
8306B0D620984590000302D4 /* ppst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ppst.c; sourceTree = "<group>"; };
|
8306B0D620984590000302D4 /* ppst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ppst.c; sourceTree = "<group>"; };
|
||||||
|
@ -1112,6 +1114,8 @@
|
||||||
832BF81921E0514A006F50F1 /* xopus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xopus.c; sourceTree = "<group>"; };
|
832BF81921E0514A006F50F1 /* xopus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xopus.c; sourceTree = "<group>"; };
|
||||||
832BF81A21E0514A006F50F1 /* hca_keys_awb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hca_keys_awb.h; sourceTree = "<group>"; };
|
832BF81A21E0514A006F50F1 /* hca_keys_awb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hca_keys_awb.h; sourceTree = "<group>"; };
|
||||||
832BF81B21E0514B006F50F1 /* nus3audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nus3audio.c; sourceTree = "<group>"; };
|
832BF81B21E0514B006F50F1 /* nus3audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nus3audio.c; sourceTree = "<group>"; };
|
||||||
|
832F9EA52E29047F00D08728 /* srcd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = srcd.c; sourceTree = "<group>"; };
|
||||||
|
832F9EA72E2905D500D08728 /* mhwk.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mhwk.c; sourceTree = "<group>"; };
|
||||||
832FC367278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubi_ckd_cwav_streamfile.h; sourceTree = "<group>"; };
|
832FC367278FA4CB0056A860 /* ubi_ckd_cwav_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ubi_ckd_cwav_streamfile.h; sourceTree = "<group>"; };
|
||||||
832FC36B278FA4CB0056A860 /* ubi_ckd_cwav.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubi_ckd_cwav.c; sourceTree = "<group>"; };
|
832FC36B278FA4CB0056A860 /* ubi_ckd_cwav.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ubi_ckd_cwav.c; sourceTree = "<group>"; };
|
||||||
832FC36E278FAE3E0056A860 /* encrypted_mc161_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encrypted_mc161_streamfile.h; sourceTree = "<group>"; };
|
832FC36E278FAE3E0056A860 /* encrypted_mc161_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encrypted_mc161_streamfile.h; sourceTree = "<group>"; };
|
||||||
|
@ -1473,7 +1477,7 @@
|
||||||
836F6E5818BDC2180095E648 /* iivb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = iivb.c; sourceTree = "<group>"; };
|
836F6E5818BDC2180095E648 /* iivb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = iivb.c; sourceTree = "<group>"; };
|
||||||
836F6E5918BDC2180095E648 /* kraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = kraw.c; sourceTree = "<group>"; };
|
836F6E5918BDC2180095E648 /* kraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = kraw.c; sourceTree = "<group>"; };
|
||||||
836F6E5A18BDC2180095E648 /* lsf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lsf.c; sourceTree = "<group>"; };
|
836F6E5A18BDC2180095E648 /* lsf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lsf.c; sourceTree = "<group>"; };
|
||||||
836F6E5C18BDC2180095E648 /* mattel_hyperscan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mattel_hyperscan.c; sourceTree = "<group>"; };
|
836F6E5C18BDC2180095E648 /* kvag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = kvag.c; sourceTree = "<group>"; };
|
||||||
836F6E5D18BDC2180095E648 /* maxis_xa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maxis_xa.c; sourceTree = "<group>"; };
|
836F6E5D18BDC2180095E648 /* maxis_xa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maxis_xa.c; sourceTree = "<group>"; };
|
||||||
836F6E5E18BDC2180095E648 /* meta.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = meta.h; sourceTree = "<group>"; };
|
836F6E5E18BDC2180095E648 /* meta.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = meta.h; sourceTree = "<group>"; };
|
||||||
836F6E6018BDC2180095E648 /* mp4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mp4.c; sourceTree = "<group>"; };
|
836F6E6018BDC2180095E648 /* mp4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mp4.c; sourceTree = "<group>"; };
|
||||||
|
@ -2498,6 +2502,7 @@
|
||||||
83D20074248DDB760048BD24 /* ktsr.c */,
|
83D20074248DDB760048BD24 /* ktsr.c */,
|
||||||
834F7CFE2C7085EA003AC386 /* ktsr_streamfile.h */,
|
834F7CFE2C7085EA003AC386 /* ktsr_streamfile.h */,
|
||||||
830EBE122004656E0023AA10 /* ktss.c */,
|
830EBE122004656E0023AA10 /* ktss.c */,
|
||||||
|
836F6E5C18BDC2180095E648 /* kvag.c */,
|
||||||
8373342423F60CDB00DE14DC /* kwb.c */,
|
8373342423F60CDB00DE14DC /* kwb.c */,
|
||||||
835B9B8C2730BF2C00F87EE3 /* lopu_fb.c */,
|
835B9B8C2730BF2C00F87EE3 /* lopu_fb.c */,
|
||||||
836F6E9918BDC2180095E648 /* lp_ap_lep.c */,
|
836F6E9918BDC2180095E648 /* lp_ap_lep.c */,
|
||||||
|
@ -2509,11 +2514,11 @@
|
||||||
8373341F23F60CDB00DE14DC /* lrmd_streamfile.h */,
|
8373341F23F60CDB00DE14DC /* lrmd_streamfile.h */,
|
||||||
836F6E5A18BDC2180095E648 /* lsf.c */,
|
836F6E5A18BDC2180095E648 /* lsf.c */,
|
||||||
83EDE5D61A70951A005F5D84 /* madp.c */,
|
83EDE5D61A70951A005F5D84 /* madp.c */,
|
||||||
836F6E5C18BDC2180095E648 /* mattel_hyperscan.c */,
|
|
||||||
836F6E5D18BDC2180095E648 /* maxis_xa.c */,
|
836F6E5D18BDC2180095E648 /* maxis_xa.c */,
|
||||||
836F6E9D18BDC2180095E648 /* mcg.c */,
|
836F6E9D18BDC2180095E648 /* mcg.c */,
|
||||||
83709E011ECBC1A4005C03D3 /* mcss.c */,
|
83709E011ECBC1A4005C03D3 /* mcss.c */,
|
||||||
836F6E5E18BDC2180095E648 /* meta.h */,
|
836F6E5E18BDC2180095E648 /* meta.h */,
|
||||||
|
832F9EA72E2905D500D08728 /* mhwk.c */,
|
||||||
834FE0DE215C79EB000A5D3D /* mib_mih.c */,
|
834FE0DE215C79EB000A5D3D /* mib_mih.c */,
|
||||||
836F6EAC18BDC2180095E648 /* mic_koei.c */,
|
836F6EAC18BDC2180095E648 /* mic_koei.c */,
|
||||||
83B73C4A2D8FF19800A57F08 /* mio.c */,
|
83B73C4A2D8FF19800A57F08 /* mio.c */,
|
||||||
|
@ -2660,7 +2665,7 @@
|
||||||
83CBF5422D46339200AA2D75 /* skex.c */,
|
83CBF5422D46339200AA2D75 /* skex.c */,
|
||||||
836F6EBB18BDC2180095E648 /* sl3.c */,
|
836F6EBB18BDC2180095E648 /* sl3.c */,
|
||||||
836F6EF218BDC2190095E648 /* sli.c */,
|
836F6EF218BDC2190095E648 /* sli.c */,
|
||||||
8306B0D32098458F000302D4 /* smc_smh.c */,
|
8306B0D32098458F000302D4 /* smh_smc.c */,
|
||||||
837CEAEB23487F2B00E62A4A /* smk.c */,
|
837CEAEB23487F2B00E62A4A /* smk.c */,
|
||||||
83F0AA5C21E2028B004BBC04 /* smp.c */,
|
83F0AA5C21E2028B004BBC04 /* smp.c */,
|
||||||
836F6EBC18BDC2180095E648 /* smpl.c */,
|
836F6EBC18BDC2180095E648 /* smpl.c */,
|
||||||
|
@ -2679,6 +2684,7 @@
|
||||||
83A21F84201D8981000F04B9 /* sqex_sead.c */,
|
83A21F84201D8981000F04B9 /* sqex_sead.c */,
|
||||||
837CEAF023487F2C00E62A4A /* sqex_streamfile.h */,
|
837CEAF023487F2C00E62A4A /* sqex_streamfile.h */,
|
||||||
83C0C75C2AA435C60056AFD8 /* squeak.c */,
|
83C0C75C2AA435C60056AFD8 /* squeak.c */,
|
||||||
|
832F9EA52E29047F00D08728 /* srcd.c */,
|
||||||
834FE0D6215C79E9000A5D3D /* sscf.c */,
|
834FE0D6215C79E9000A5D3D /* sscf.c */,
|
||||||
8396BE792935FC2F00CD0580 /* sscf_encrypted.h */,
|
8396BE792935FC2F00CD0580 /* sscf_encrypted.h */,
|
||||||
8396BE782935FC2F00CD0580 /* sscf_encrypted.c */,
|
8396BE782935FC2F00CD0580 /* sscf_encrypted.c */,
|
||||||
|
@ -3127,7 +3133,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 836F6B3318BDB8880095E648 /* Build configuration list for PBXProject "libvgmstream" */;
|
buildConfigurationList = 836F6B3318BDB8880095E648 /* Build configuration list for PBXProject "libvgmstream" */;
|
||||||
|
@ -3245,7 +3251,7 @@
|
||||||
83A21F8D201D8982000F04B9 /* sqex_sead.c in Sources */,
|
83A21F8D201D8982000F04B9 /* sqex_sead.c in Sources */,
|
||||||
834F7ED32C70A786003AC386 /* mixing.c in Sources */,
|
834F7ED32C70A786003AC386 /* mixing.c in Sources */,
|
||||||
83EED5D3203A8BC7008BEB45 /* ea_swvr.c in Sources */,
|
83EED5D3203A8BC7008BEB45 /* ea_swvr.c in Sources */,
|
||||||
8306B0EE20984590000302D4 /* smc_smh.c in Sources */,
|
8306B0EE20984590000302D4 /* smh_smc.c in Sources */,
|
||||||
834F7DAB2C7093EA003AC386 /* asf_decoder.c in Sources */,
|
834F7DAB2C7093EA003AC386 /* asf_decoder.c in Sources */,
|
||||||
834F7E0C2C7093EA003AC386 /* ws_decoder.c in Sources */,
|
834F7E0C2C7093EA003AC386 /* ws_decoder.c in Sources */,
|
||||||
834F7EDB2C70A786003AC386 /* streamfile_api.c in Sources */,
|
834F7EDB2C70A786003AC386 /* streamfile_api.c in Sources */,
|
||||||
|
@ -3553,7 +3559,7 @@
|
||||||
834F7E962C70A45C003AC386 /* txtp_parser.c in Sources */,
|
834F7E962C70A45C003AC386 /* txtp_parser.c in Sources */,
|
||||||
834FE0EA215C79ED000A5D3D /* aif_asobo.c in Sources */,
|
834FE0EA215C79ED000A5D3D /* aif_asobo.c in Sources */,
|
||||||
836F700418BDC2190095E648 /* vas_kceo.c in Sources */,
|
836F700418BDC2190095E648 /* vas_kceo.c in Sources */,
|
||||||
836F6F9818BDC2190095E648 /* mattel_hyperscan.c in Sources */,
|
836F6F9818BDC2190095E648 /* kvag.c in Sources */,
|
||||||
8306B0BA20984552000302D4 /* blocked_wsi.c in Sources */,
|
8306B0BA20984552000302D4 /* blocked_wsi.c in Sources */,
|
||||||
834F7E802C709EA0003AC386 /* adp_ongakukan.c in Sources */,
|
834F7E802C709EA0003AC386 /* adp_ongakukan.c in Sources */,
|
||||||
83BAFB6C19F45EB3005DAB60 /* bfstm.c in Sources */,
|
83BAFB6C19F45EB3005DAB60 /* bfstm.c in Sources */,
|
||||||
|
@ -3667,6 +3673,7 @@
|
||||||
834F7DB62C7093EA003AC386 /* compresswave_lib.c in Sources */,
|
834F7DB62C7093EA003AC386 /* compresswave_lib.c in Sources */,
|
||||||
834F7E042C7093EA003AC386 /* vorbis_custom_utils_awc.c in Sources */,
|
834F7E042C7093EA003AC386 /* vorbis_custom_utils_awc.c in Sources */,
|
||||||
8306B0EC20984590000302D4 /* pcm_sre.c in Sources */,
|
8306B0EC20984590000302D4 /* pcm_sre.c in Sources */,
|
||||||
|
832F9EA62E29047F00D08728 /* srcd.c in Sources */,
|
||||||
836F6FC818BDC2190095E648 /* pos.c in Sources */,
|
836F6FC818BDC2190095E648 /* pos.c in Sources */,
|
||||||
836F6F8918BDC2190095E648 /* gca.c in Sources */,
|
836F6F8918BDC2190095E648 /* gca.c in Sources */,
|
||||||
836F6FA418BDC2190095E648 /* nds_hwas.c in Sources */,
|
836F6FA418BDC2190095E648 /* nds_hwas.c in Sources */,
|
||||||
|
@ -3805,6 +3812,7 @@
|
||||||
836F6FA918BDC2190095E648 /* ngc_adpdtk.c in Sources */,
|
836F6FA918BDC2190095E648 /* ngc_adpdtk.c in Sources */,
|
||||||
836F6FDC18BDC2190095E648 /* iab.c in Sources */,
|
836F6FDC18BDC2190095E648 /* iab.c in Sources */,
|
||||||
83C7282122BC893D00678B4A /* msf_konami.c in Sources */,
|
83C7282122BC893D00678B4A /* msf_konami.c in Sources */,
|
||||||
|
832F9EA82E2905D500D08728 /* mhwk.c in Sources */,
|
||||||
833E82F72A2858EF00CD0580 /* reader.c in Sources */,
|
833E82F72A2858EF00CD0580 /* reader.c in Sources */,
|
||||||
83B69B222845A26600D2435A /* bw_mp3_riff.c in Sources */,
|
83B69B222845A26600D2435A /* bw_mp3_riff.c in Sources */,
|
||||||
834F7E192C709A1D003AC386 /* ea_schl_abk.c in Sources */,
|
834F7E192C709A1D003AC386 /* ea_schl_abk.c in Sources */,
|
||||||
|
@ -3981,6 +3989,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -4066,6 +4075,7 @@
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -10,7 +10,6 @@ void decode_tantalus(VGMSTREAMCHANNEL* stream, sample_t* outbuf, int channelspac
|
||||||
size_t bytes_per_frame, samples_per_frame;
|
size_t bytes_per_frame, samples_per_frame;
|
||||||
|
|
||||||
int32_t hist1 = stream->adpcm_history1_32;
|
int32_t hist1 = stream->adpcm_history1_32;
|
||||||
int32_t hist2 = stream->adpcm_history2_32;
|
|
||||||
|
|
||||||
|
|
||||||
/* external interleave (fixed size), mono */
|
/* external interleave (fixed size), mono */
|
||||||
|
|
|
@ -347,6 +347,7 @@ static const char* extension_list[] = {
|
||||||
"mds",
|
"mds",
|
||||||
"mdsp",
|
"mdsp",
|
||||||
"med",
|
"med",
|
||||||
|
"mhwk",
|
||||||
"mjb",
|
"mjb",
|
||||||
"mi4", //fake extension for .mib (renamed, to be removed)
|
"mi4", //fake extension for .mib (renamed, to be removed)
|
||||||
"mib",
|
"mib",
|
||||||
|
@ -536,7 +537,7 @@ static const char* extension_list[] = {
|
||||||
"skx",
|
"skx",
|
||||||
"slb", //txth/reserved [THE Nekomura no Hitobito (PS2)]
|
"slb", //txth/reserved [THE Nekomura no Hitobito (PS2)]
|
||||||
"sli",
|
"sli",
|
||||||
"smc",
|
"smh",
|
||||||
"smk",
|
"smk",
|
||||||
"smp",
|
"smp",
|
||||||
"smv",
|
"smv",
|
||||||
|
@ -558,6 +559,7 @@ static const char* extension_list[] = {
|
||||||
"spsd",
|
"spsd",
|
||||||
"spw",
|
"spw",
|
||||||
"srsa",
|
"srsa",
|
||||||
|
"srcd",
|
||||||
"ss2",
|
"ss2",
|
||||||
"ssd", //txth/reserved [Zack & Wiki (Wii)]
|
"ssd", //txth/reserved [Zack & Wiki (Wii)]
|
||||||
"ssf",
|
"ssf",
|
||||||
|
@ -1253,7 +1255,7 @@ static const meta_info meta_info_list[] = {
|
||||||
{meta_LSF_N1NJ4N, "Gizmondo Studios Helsingborg LSF header"},
|
{meta_LSF_N1NJ4N, "Gizmondo Studios Helsingborg LSF header"},
|
||||||
{meta_XWAV, "feelplus XWAV header"},
|
{meta_XWAV, "feelplus XWAV header"},
|
||||||
{meta_RAW_SNDS, "PC .snds raw header"},
|
{meta_RAW_SNDS, "PC .snds raw header"},
|
||||||
{meta_HYPERSCAN_KVAG, "Mattel Hyperscan KVAG"},
|
{meta_KVAG, "Mattel KVAG header"},
|
||||||
{meta_PSND, "Polarbit PSND header"},
|
{meta_PSND, "Polarbit PSND header"},
|
||||||
{meta_ADP_WILDFIRE, "Wildfire ADP! header"},
|
{meta_ADP_WILDFIRE, "Wildfire ADP! header"},
|
||||||
{meta_QD_ADP, "Quantic Dream .ADP header"},
|
{meta_QD_ADP, "Quantic Dream .ADP header"},
|
||||||
|
@ -1479,6 +1481,8 @@ static const meta_info meta_info_list[] = {
|
||||||
{meta_AUDIOPKG, "Inevitable .AUDIOPKG header"},
|
{meta_AUDIOPKG, "Inevitable .AUDIOPKG header"},
|
||||||
{meta_SWAR, "Nintendo SWAR header"},
|
{meta_SWAR, "Nintendo SWAR header"},
|
||||||
{meta_IVB, "Metro IVB header"},
|
{meta_IVB, "Metro IVB header"},
|
||||||
|
{meta_SRCD, "Capcom SRCD header"},
|
||||||
|
{meta_MHWK, "Broderbund MHWK header"}
|
||||||
};
|
};
|
||||||
|
|
||||||
void get_vgmstream_coding_description(VGMSTREAM* vgmstream, char* out, size_t out_size) {
|
void get_vgmstream_coding_description(VGMSTREAM* vgmstream, char* out, size_t out_size) {
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
#include "layout.h"
|
#include "layout.h"
|
||||||
#include "../vgmstream.h"
|
#include "../vgmstream.h"
|
||||||
|
|
||||||
//MxCh blocked layout as used by Lego Island
|
//MxCh blocked layout as used by Lego Island
|
||||||
void block_update_mxch(off_t block_offset, VGMSTREAM * vgmstream) {
|
void block_update_mxch(off_t block_offset, VGMSTREAM * vgmstream) {
|
||||||
vgmstream->current_block_offset = block_offset;
|
vgmstream->current_block_offset = block_offset;
|
||||||
vgmstream->next_block_offset = block_offset +
|
vgmstream->next_block_offset = block_offset +
|
||||||
read_32bitLE(vgmstream->current_block_offset+4,vgmstream->ch[0].streamfile)+8;
|
read_32bitLE(vgmstream->current_block_offset+4,vgmstream->ch[0].streamfile)+8;
|
||||||
/* skip pad blocks */
|
/* skip pad blocks */
|
||||||
while (
|
while (
|
||||||
read_32bitBE(vgmstream->current_block_offset,
|
read_32bitBE(vgmstream->current_block_offset,
|
||||||
vgmstream->ch[0].streamfile) == 0x70616420)
|
vgmstream->ch[0].streamfile) == 0x70616420)
|
||||||
{
|
{
|
||||||
vgmstream->current_block_offset = vgmstream->next_block_offset;
|
vgmstream->current_block_offset = vgmstream->next_block_offset;
|
||||||
vgmstream->next_block_offset = vgmstream->current_block_offset +
|
vgmstream->next_block_offset = vgmstream->current_block_offset +
|
||||||
read_32bitLE(vgmstream->current_block_offset+4,vgmstream->ch[0].streamfile)+8;
|
read_32bitLE(vgmstream->current_block_offset+4,vgmstream->ch[0].streamfile)+8;
|
||||||
}
|
}
|
||||||
vgmstream->current_block_size =
|
vgmstream->current_block_size =
|
||||||
read_32bitLE(vgmstream->current_block_offset+4, vgmstream->ch[0].streamfile)-0xe;
|
read_32bitLE(vgmstream->current_block_offset+4, vgmstream->ch[0].streamfile)-0xe;
|
||||||
// only one channel for now
|
// only one channel for now
|
||||||
vgmstream->ch[0].offset = vgmstream->current_block_offset+8+0xe;
|
vgmstream->ch[0].offset = vgmstream->current_block_offset+8+0xe;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,13 +25,13 @@ VGMSTREAM* init_vgmstream_astl(STREAMFILE* sf) {
|
||||||
// 28: -1?
|
// 28: -1?
|
||||||
// 2c: -1?
|
// 2c: -1?
|
||||||
|
|
||||||
if (read_u16le(0x30,sf) != 0x0001) // PCM only
|
// fmt-like
|
||||||
return NULL;
|
int format = read_u16le(0x30 + 0x00, sf);
|
||||||
channels = read_u16le(0x32, sf);
|
channels = read_u16le(0x30 + 0x02, sf);
|
||||||
int sample_rate = read_s32le(0x34,sf);
|
int sample_rate = read_s32le(0x30 + 0x04, sf);
|
||||||
// 38: bitrate
|
// 08: avg bitrate
|
||||||
// 3a: block size
|
// 0a: block size
|
||||||
// 3c: bps
|
// 0e: bps
|
||||||
|
|
||||||
loop_flag = 0; // unlike X360 no apparent loop info in the files
|
loop_flag = 0; // unlike X360 no apparent loop info in the files
|
||||||
|
|
||||||
|
@ -42,11 +42,51 @@ VGMSTREAM* init_vgmstream_astl(STREAMFILE* sf) {
|
||||||
|
|
||||||
vgmstream->meta_type = meta_ASTL;
|
vgmstream->meta_type = meta_ASTL;
|
||||||
vgmstream->sample_rate = sample_rate;
|
vgmstream->sample_rate = sample_rate;
|
||||||
vgmstream->num_samples = pcm16_bytes_to_samples(data_size, channels);
|
|
||||||
|
|
||||||
vgmstream->coding_type = coding_PCM16LE;
|
switch(format) {
|
||||||
vgmstream->layout_type = layout_interleave;
|
case 0x0001:
|
||||||
vgmstream->interleave_block_size = 0x2;
|
vgmstream->num_samples = pcm16_bytes_to_samples(data_size, channels);
|
||||||
|
vgmstream->coding_type = coding_PCM16LE;
|
||||||
|
vgmstream->layout_type = layout_interleave;
|
||||||
|
vgmstream->interleave_block_size = 0x2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
#ifdef VGM_USE_FFMPEG
|
||||||
|
case 0xFFFE: { // WAVEFORMATEXTENSIBLE
|
||||||
|
uint32_t avg_bitrate = read_u32le(0x30 + 0x08, sf);
|
||||||
|
uint16_t block_size = read_u16le(0x30 + 0x0c, sf);
|
||||||
|
uint32_t channel_layout = read_u32le(0x30 + 0x14, sf);
|
||||||
|
// actually a GUID but first 32b matches fmt (0x0162 / STATIC_KSDATAFORMAT_SUBTYPE_WMAUDIO3 only?)
|
||||||
|
uint32_t xwma_format = read_u32le(0x30 + 0x18, sf);
|
||||||
|
|
||||||
|
uint32_t dpds_offset = 0x30 + 0x28;
|
||||||
|
uint32_t dpds_size;
|
||||||
|
uint32_t offset = dpds_offset;
|
||||||
|
// TODO channel layout
|
||||||
|
|
||||||
|
vgmstream->codec_data = init_ffmpeg_xwma(sf, start_offset, data_size, xwma_format, channels, sample_rate, avg_bitrate, block_size);
|
||||||
|
if (!vgmstream->codec_data) goto fail;
|
||||||
|
vgmstream->coding_type = coding_FFmpeg;
|
||||||
|
vgmstream->layout_type = layout_none;
|
||||||
|
|
||||||
|
vgmstream->channel_layout = channel_layout;
|
||||||
|
|
||||||
|
// somehow there is no dpds size, so find last value before null padding
|
||||||
|
while (offset < start_offset) {
|
||||||
|
uint32_t sample = read_u32le(offset, sf);
|
||||||
|
if (sample == 0)
|
||||||
|
break;
|
||||||
|
offset += 0x04;
|
||||||
|
}
|
||||||
|
|
||||||
|
dpds_size = offset - dpds_offset;
|
||||||
|
vgmstream->num_samples = xwma_dpds_get_samples(sf, dpds_offset, dpds_size, channels, false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
|
@ -9,7 +9,7 @@ VGMSTREAM * init_vgmstream_bar(STREAMFILE *streamFile) {
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
off_t ch2_start_offset;
|
off_t ch2_start_offset;
|
||||||
int loop_flag;
|
int loop_flag;
|
||||||
int channel_count;
|
int channel_count;
|
||||||
long file_size;
|
long file_size;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -175,10 +175,10 @@ VGMSTREAM* init_vgmstream_ea_swvr(STREAMFILE* sf) {
|
||||||
do {
|
do {
|
||||||
block_update(vgmstream->next_block_offset,vgmstream);
|
block_update(vgmstream->next_block_offset,vgmstream);
|
||||||
switch(vgmstream->coding_type) {
|
switch(vgmstream->coding_type) {
|
||||||
case coding_PSX: num_samples = ps_bytes_to_samples(vgmstream->current_block_size,1); break;
|
case coding_PSX: num_samples = ps_bytes_to_samples(vgmstream->current_block_size,1); break;
|
||||||
case coding_NGC_DSP: num_samples = dsp_bytes_to_samples(vgmstream->current_block_size,1); break;
|
case coding_NGC_DSP: num_samples = dsp_bytes_to_samples(vgmstream->current_block_size,1); break;
|
||||||
case coding_PCM8_U_int: num_samples = pcm_bytes_to_samples(vgmstream->current_block_size,1,8); break;
|
case coding_PCM8_U_int: num_samples = pcm_bytes_to_samples(vgmstream->current_block_size,1,8); break;
|
||||||
default: num_samples = 0; break;
|
default: num_samples = 0; break;
|
||||||
}
|
}
|
||||||
vgmstream->num_samples += num_samples;
|
vgmstream->num_samples += num_samples;
|
||||||
|
|
||||||
|
|
|
@ -50,11 +50,18 @@ VGMSTREAM* init_vgmstream_fsb5_fev_bank(STREAMFILE* sf) {
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
switch(chunk_type) {
|
switch(chunk_type) {
|
||||||
case 0x4C495354: /* "LIST" with "SNDH" (usually v0x28 but also in Fall Guys's BNK_Music_RoundReveal) */
|
case 0x4C495354: /* "LIST" */
|
||||||
if (read_u32be(offset + 0x04, sf) == 0x534E4448) {
|
// "SNDH" (usually v0x28 but also in Fall Guys's BNK_Music_RoundReveal)
|
||||||
|
if (read_u32be(offset + 0x04, sf) == get_id32be("SNDH")) {
|
||||||
bank_offset = offset + 0x0c;
|
bank_offset = offset + 0x0c;
|
||||||
bank_size = read_s32le(offset + 0x08,sf);
|
bank_size = read_s32le(offset + 0x08,sf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// multiple CrankcaseAudio REV ADM3 [Rennsport (PC)]
|
||||||
|
if (read_u32be(offset + 0x00, sf) == get_id32be("PEFX")) {
|
||||||
|
bank_offset = offset;
|
||||||
|
bank_size = chunk_size;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x534E4448: /* "SNDH" */
|
case 0x534E4448: /* "SNDH" */
|
||||||
|
|
|
@ -1572,6 +1572,9 @@ static const hcakey_info hcakey_list[] = {
|
||||||
// Sand Land (multi)
|
// Sand Land (multi)
|
||||||
{910990237314908160}, // 0CA47CCB51010000
|
{910990237314908160}, // 0CA47CCB51010000
|
||||||
|
|
||||||
|
// Patapon 1 & 2 Reloaded (PC)
|
||||||
|
{3316332033470531258}, // 2E05FA69EC4286BA
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,44 +1,45 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
|
|
||||||
/* IDSP - from Inevitable Entertainment games [Defender (GC)] */
|
/* IDSP - from Inevitable Entertainment games [Defender (GC)] */
|
||||||
VGMSTREAM * init_vgmstream_idsp_ie(STREAMFILE *streamFile) {
|
VGMSTREAM* init_vgmstream_idsp_ie(STREAMFILE* sf) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
int loop_flag, channel_count;
|
int loop_flag, channels;
|
||||||
|
|
||||||
|
|
||||||
/* checks */
|
/* checks */
|
||||||
if ( !check_extensions(streamFile,"idsp") )
|
if (!is_id32be(0x00, sf, "IDSP"))
|
||||||
goto fail;
|
return NULL;
|
||||||
if (read_32bitBE(0x00,streamFile) != 0x49445350) /* "IDSP" */
|
if (!check_extensions(sf,"idsp"))
|
||||||
goto fail;
|
return NULL;
|
||||||
|
|
||||||
loop_flag = 0;
|
channels = read_s32be(0x0C,sf);
|
||||||
channel_count = read_32bitBE(0x0C,streamFile);
|
if (channels > 2) return NULL;
|
||||||
if (channel_count > 2) goto fail;
|
|
||||||
start_offset = 0x70;
|
loop_flag = 0;
|
||||||
|
start_offset = 0x70;
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
/* build the VGMSTREAM */
|
||||||
if (!vgmstream) goto fail;
|
vgmstream = allocate_vgmstream(channels,loop_flag);
|
||||||
|
if (!vgmstream) goto fail;
|
||||||
vgmstream->meta_type = meta_IDSP_IE;
|
|
||||||
vgmstream->sample_rate = read_32bitBE(0x08,streamFile);
|
vgmstream->meta_type = meta_IDSP_IE;
|
||||||
vgmstream->coding_type = coding_NGC_DSP;
|
vgmstream->sample_rate = read_s32be(0x08,sf);
|
||||||
vgmstream->num_samples = dsp_bytes_to_samples(read_32bitBE(0x04,streamFile), channel_count);
|
vgmstream->coding_type = coding_NGC_DSP;
|
||||||
|
vgmstream->num_samples = dsp_bytes_to_samples(read_u32be(0x04,sf), channels);
|
||||||
vgmstream->layout_type = layout_interleave;
|
|
||||||
vgmstream->interleave_block_size = read_32bitBE(0x10,streamFile);
|
vgmstream->layout_type = layout_interleave;
|
||||||
dsp_read_coefs_be(vgmstream,streamFile,0x14,0x2E);
|
vgmstream->interleave_block_size = read_u32be(0x10,sf);
|
||||||
|
dsp_read_coefs_be(vgmstream, sf, 0x14, 0x2E);
|
||||||
if ( !vgmstream_open_stream(vgmstream, streamFile, start_offset) )
|
|
||||||
goto fail;
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
return vgmstream;
|
goto fail;
|
||||||
|
return vgmstream;
|
||||||
fail:
|
|
||||||
close_vgmstream(vgmstream);
|
fail:
|
||||||
return NULL;
|
close_vgmstream(vgmstream);
|
||||||
}
|
return NULL;
|
||||||
|
}
|
||||||
|
|
|
@ -1,115 +1,113 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
/* .IMC - from iNiS Gitaroo Man (PS2) */
|
/* .IMC (subfile) - from iNiS Gitaroo Man (PS2) */
|
||||||
VGMSTREAM * init_vgmstream_imc(STREAMFILE *streamFile) {
|
VGMSTREAM* init_vgmstream_imc(STREAMFILE* sf) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
off_t start_offset;
|
|
||||||
int loop_flag, channel_count, sample_rate, interleave, blocks;
|
/* checks */
|
||||||
size_t file_size, data_size;
|
/* .imc: extension from the main container */
|
||||||
|
if (!check_extensions(sf, "imc"))
|
||||||
|
return NULL;
|
||||||
/* checks */
|
|
||||||
/* .imc: extension from the main container */
|
int channels = read_s32le(0x00, sf);
|
||||||
if (!check_extensions(streamFile, "imc"))
|
int sample_rate = read_s32le(0x04, sf);
|
||||||
goto fail;
|
int interleave = read_s32le(0x08, sf) * 0x10; // number of frames in a block
|
||||||
|
int blocks = read_s32le(0x0c, sf); // number of interleave blocks (even in mono)
|
||||||
channel_count = read_32bitLE(0x00, streamFile);
|
|
||||||
sample_rate = read_32bitLE(0x04, streamFile);
|
uint32_t start_offset = 0x10;
|
||||||
interleave = read_32bitLE(0x08, streamFile) * 0x10; /* number of frames in a block */
|
uint32_t file_size = get_streamfile_size(sf);
|
||||||
blocks = read_32bitLE(0x0c, streamFile); /* number of interleave blocks (even in mono) */
|
bool loop_flag = false;
|
||||||
|
|
||||||
file_size = get_streamfile_size(streamFile);
|
// extra checks since the header is so simple
|
||||||
loop_flag = 0;
|
if (channels < 1 || channels > 8)
|
||||||
start_offset = 0x10;
|
return NULL;
|
||||||
|
|
||||||
/* extra checks since the header is so simple */
|
// Game can play 11025, 16000, 22050, 32000, 44100, 48000. Anything else will be
|
||||||
if (channel_count < 1 || channel_count > 8)
|
// silent in-game. ST10.IMC subsongs 42-47 use 22000, those are unused silent audio
|
||||||
goto fail;
|
if (sample_rate < 11025 || sample_rate > 48000)
|
||||||
if (sample_rate < 11025 || sample_rate > 48000)
|
return NULL;
|
||||||
/* game can play 11025, 16000, 22050, 32000, 44100, 48000. Anything else will be
|
|
||||||
silent in-game. ST10.IMC subsongs 42-47 use 22000, those are unused silent audio */
|
if (interleave * blocks + start_offset != file_size)
|
||||||
goto fail;
|
return NULL;
|
||||||
if (interleave*blocks + start_offset != file_size)
|
|
||||||
goto fail;
|
uint32_t data_size = file_size - start_offset;
|
||||||
|
data_size -= ps_find_padding(sf, start_offset, data_size, channels, interleave, 0);
|
||||||
data_size = file_size - start_offset;
|
|
||||||
data_size -= ps_find_padding(streamFile, start_offset, data_size, channel_count, interleave, 0);
|
|
||||||
|
/* build the VGMSTREAM */
|
||||||
|
vgmstream = allocate_vgmstream(channels, loop_flag);
|
||||||
/* build the VGMSTREAM */
|
if (!vgmstream) goto fail;
|
||||||
vgmstream = allocate_vgmstream(channel_count, loop_flag);
|
|
||||||
if (!vgmstream) goto fail;
|
vgmstream->meta_type = meta_IMC;
|
||||||
|
vgmstream->sample_rate = sample_rate;
|
||||||
vgmstream->meta_type = meta_IMC;
|
vgmstream->num_samples = ps_bytes_to_samples(data_size, channels);
|
||||||
vgmstream->sample_rate = sample_rate;
|
vgmstream->coding_type = coding_PSX;
|
||||||
vgmstream->num_samples = ps_bytes_to_samples(data_size, channel_count);
|
vgmstream->layout_type = layout_interleave;
|
||||||
vgmstream->coding_type = coding_PSX;
|
vgmstream->interleave_block_size = interleave;
|
||||||
vgmstream->layout_type = layout_interleave;
|
|
||||||
vgmstream->interleave_block_size = interleave;
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
|
goto fail;
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
return vgmstream;
|
||||||
goto fail;
|
|
||||||
return vgmstream;
|
fail:
|
||||||
|
close_vgmstream(vgmstream);
|
||||||
fail:
|
return NULL;
|
||||||
close_vgmstream(vgmstream);
|
}
|
||||||
return NULL;
|
|
||||||
}
|
/* ****************************************************************************** */
|
||||||
|
|
||||||
/* ****************************************************************************** */
|
/* .IMC in containers */
|
||||||
|
VGMSTREAM* init_vgmstream_imc_container(STREAMFILE* sf) {
|
||||||
/* .IMC in containers */
|
VGMSTREAM* vgmstream = NULL;
|
||||||
VGMSTREAM * init_vgmstream_imc_container(STREAMFILE *streamFile) {
|
STREAMFILE* temp_sf = NULL;
|
||||||
VGMSTREAM *vgmstream = NULL;
|
off_t header_offset, subfile_offset, next_offset, name_offset;
|
||||||
STREAMFILE *temp_streamFile = NULL;
|
size_t subfile_size;
|
||||||
off_t header_offset, subfile_offset, next_offset, name_offset;
|
int total_subsongs, target_subsong = sf->stream_index;
|
||||||
size_t subfile_size;
|
|
||||||
int total_subsongs, target_subsong = streamFile->stream_index;
|
|
||||||
|
/* checks */
|
||||||
|
if (!check_extensions(sf, "imc"))
|
||||||
/* checks */
|
return NULL;
|
||||||
if (!check_extensions(streamFile, "imc"))
|
|
||||||
goto fail;
|
total_subsongs = read_s32le(0x00, sf);
|
||||||
|
if (target_subsong == 0) target_subsong = 1;
|
||||||
total_subsongs = read_32bitLE(0x00, streamFile);
|
if (target_subsong < 0 || target_subsong > total_subsongs || total_subsongs < 1) goto fail;
|
||||||
if (target_subsong == 0) target_subsong = 1;
|
|
||||||
if (target_subsong < 0 || target_subsong > total_subsongs || total_subsongs < 1) goto fail;
|
|
||||||
|
header_offset = 0x04 + 0x20 * (target_subsong - 1);
|
||||||
|
|
||||||
header_offset = 0x04 + 0x20*(target_subsong-1);
|
name_offset = header_offset + 0x00;
|
||||||
|
/* 0x08: flags? (0x702ADE77|0x002ADE77|0x20000000|etc) */
|
||||||
name_offset = header_offset + 0x00;
|
/* 0x0c: same for all songs in single .imc but varies between .imc */
|
||||||
/* 0x08: flags? (0x702ADE77|0x002ADE77|0x20000000|etc) */
|
subfile_offset = read_u32le(header_offset + 0x10,sf);
|
||||||
/* 0x0c: same for all songs in single .imc but varies between .imc */
|
/* 0x14: flags/size? (0xF0950000|0x3CFA1200|etc) */
|
||||||
subfile_offset = read_32bitLE(header_offset + 0x10,streamFile);
|
/* 0x18: same for all songs in single .imc but varies between .imc */
|
||||||
/* 0x14: flags/size? (0xF0950000|0x3CFA1200|etc) */
|
/* 0x1c: flags? (0 or 2) */
|
||||||
/* 0x18: same for all songs in single .imc but varies between .imc */
|
|
||||||
/* 0x1c: flags? (0 or 2) */
|
if (target_subsong == total_subsongs) {
|
||||||
|
next_offset = get_streamfile_size(sf);
|
||||||
if (target_subsong == total_subsongs) {
|
}
|
||||||
next_offset = get_streamfile_size(streamFile);
|
else {
|
||||||
}
|
next_offset = read_u32le(header_offset + 0x20 + 0x10,sf);
|
||||||
else {
|
}
|
||||||
next_offset = read_32bitLE(header_offset + 0x20 + 0x10,streamFile);
|
subfile_size = next_offset - subfile_offset;
|
||||||
}
|
|
||||||
subfile_size = next_offset - subfile_offset;
|
|
||||||
|
temp_sf = setup_subfile_streamfile(sf, subfile_offset,subfile_size, NULL);
|
||||||
|
if (!temp_sf) goto fail;
|
||||||
temp_streamFile = setup_subfile_streamfile(streamFile, subfile_offset,subfile_size, NULL);
|
|
||||||
if (!temp_streamFile) goto fail;
|
vgmstream = init_vgmstream_imc(temp_sf);
|
||||||
|
if (!vgmstream) goto fail;
|
||||||
vgmstream = init_vgmstream_imc(temp_streamFile);
|
|
||||||
if (!vgmstream) goto fail;
|
vgmstream->num_streams = total_subsongs;
|
||||||
|
read_string(vgmstream->stream_name,0x08+1, name_offset,sf);
|
||||||
close_streamfile(temp_streamFile);
|
|
||||||
vgmstream->num_streams = total_subsongs;
|
close_streamfile(temp_sf);
|
||||||
read_string(vgmstream->stream_name,0x08+1, name_offset,streamFile);
|
return vgmstream;
|
||||||
|
|
||||||
return vgmstream;
|
fail:
|
||||||
|
close_streamfile(temp_sf);
|
||||||
fail:
|
close_vgmstream(vgmstream);
|
||||||
close_streamfile(temp_streamFile);
|
return NULL;
|
||||||
close_vgmstream(vgmstream);
|
}
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
32
Frameworks/vgmstream/vgmstream/src/meta/kvag.c
Normal file
32
Frameworks/vgmstream/vgmstream/src/meta/kvag.c
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#include "meta.h"
|
||||||
|
#include "../util/meta_utils.h"
|
||||||
|
|
||||||
|
/* KVAG - Mattel Hyperscan games [Marvel Heroes (Hyperscan), X-Men (Hyperscan)] */
|
||||||
|
VGMSTREAM* init_vgmstream_hyperscan_kvag(STREAMFILE* sf) {
|
||||||
|
|
||||||
|
/* checks */
|
||||||
|
if (!is_id32be(0x00,sf, "KVAG"))
|
||||||
|
return NULL;
|
||||||
|
if (!check_extensions(sf,"bvg"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
meta_header_t h = {0};
|
||||||
|
h.meta = meta_KVAG;
|
||||||
|
|
||||||
|
h.stream_size = read_u32le(0x04, sf);
|
||||||
|
h.sample_rate = read_s32le(0x08, sf);
|
||||||
|
h.channels = read_s16le(0x0c, sf) + 1;
|
||||||
|
h.stream_offset = 0x0e;
|
||||||
|
|
||||||
|
if (h.channels > 2) // 2ch is rare [Ben 10's Theme22ks]
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
h.num_samples = ima_bytes_to_samples(h.stream_size, h.channels);
|
||||||
|
|
||||||
|
h.coding = coding_DVI_IMA;
|
||||||
|
h.layout = layout_none;
|
||||||
|
h.open_stream = true;
|
||||||
|
h.sf = sf;
|
||||||
|
|
||||||
|
return alloc_metastream(&h);
|
||||||
|
}
|
|
@ -1,66 +0,0 @@
|
||||||
#include "meta.h"
|
|
||||||
#include "../util.h"
|
|
||||||
|
|
||||||
/* Mattel Hyperscan,
|
|
||||||
- Place all metas for this console here (there are just 5 games) */
|
|
||||||
VGMSTREAM * init_vgmstream_hyperscan_kvag(STREAMFILE *streamFile) {
|
|
||||||
VGMSTREAM * vgmstream = NULL;
|
|
||||||
char filename[PATH_LIMIT];
|
|
||||||
off_t start_offset;
|
|
||||||
int loop_flag = 0;
|
|
||||||
int channel_count;
|
|
||||||
|
|
||||||
/* check extension, case insensitive */
|
|
||||||
streamFile->get_name(streamFile,filename,sizeof(filename));
|
|
||||||
if (strcasecmp("bvg",filename_extension(filename))) goto fail;
|
|
||||||
|
|
||||||
/* check header */
|
|
||||||
if (read_32bitBE(0x00,streamFile) != 0x4B564147) /* "KVAG" */
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
channel_count = 1;
|
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
|
||||||
if (!vgmstream) goto fail;
|
|
||||||
|
|
||||||
/* fill in the vital statistics */
|
|
||||||
start_offset = 0xE;
|
|
||||||
vgmstream->channels = channel_count;
|
|
||||||
vgmstream->sample_rate = read_32bitLE(0x8,streamFile);
|
|
||||||
vgmstream->coding_type = coding_DVI_IMA;
|
|
||||||
vgmstream->num_samples = read_32bitLE(0x4,streamFile)*2;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (loop_flag) {
|
|
||||||
vgmstream->loop_start_sample = (read_32bitLE(0x08,streamFile)-1)*28;
|
|
||||||
vgmstream->loop_end_sample = (read_32bitLE(0x0c,streamFile)-1)*28;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vgmstream->layout_type = layout_none;
|
|
||||||
vgmstream->meta_type = meta_HYPERSCAN_KVAG;
|
|
||||||
|
|
||||||
/* open the file for reading */
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
STREAMFILE * file;
|
|
||||||
file = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE);
|
|
||||||
if (!file) goto fail;
|
|
||||||
for (i=0;i<channel_count;i++) {
|
|
||||||
vgmstream->ch[i].streamfile = file;
|
|
||||||
|
|
||||||
vgmstream->ch[i].channel_start_offset=
|
|
||||||
vgmstream->ch[i].offset=start_offset+
|
|
||||||
vgmstream->interleave_block_size*i;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return vgmstream;
|
|
||||||
|
|
||||||
/* clean up anything we may have opened */
|
|
||||||
fail:
|
|
||||||
if (vgmstream) close_vgmstream(vgmstream);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
|
@ -1,58 +1,54 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../util.h"
|
#include "../util.h"
|
||||||
|
|
||||||
/* Maxis XA - found in Sim City 3000 (PC), The Sims 2 (PC) */
|
/* Maxis XA - found in Sim City 3000 (PC), The Sims 2 (PC) */
|
||||||
VGMSTREAM * init_vgmstream_maxis_xa(STREAMFILE *streamFile) {
|
VGMSTREAM* init_vgmstream_maxis_xa(STREAMFILE* sf) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
off_t start_offset;
|
|
||||||
int avg_byte_rate, channel_count, loop_flag, resolution, sample_align, sample_rate;
|
/* checks */
|
||||||
|
if ((read_u32be(0x00,sf) & 0xFFFF0000) != get_id32be("XA\0\0")) // 02: "I"/"J"/null (version?)
|
||||||
/* check extension, case insensitive */
|
return NULL;
|
||||||
if (!check_extensions(streamFile,"xa"))
|
|
||||||
goto fail;
|
uint32_t pcm_size = read_u32le(0x04,sf);
|
||||||
|
if (read_u16le(0x08,sf) != 0x0001)
|
||||||
/* check header */
|
return NULL;
|
||||||
if ((read_16bitBE(0x00,streamFile) != 0x5841)) /* "XA" */
|
|
||||||
goto fail;
|
if (!check_extensions(sf,"xa"))
|
||||||
|
return NULL;
|
||||||
/* check format tag */
|
|
||||||
if ((read_16bitLE(0x08,streamFile) != 0x0001))
|
int channels = read_s16le(0x0A,sf);
|
||||||
goto fail;
|
int sample_rate = read_s32le(0x0C,sf);
|
||||||
|
int avg_byte_rate = read_s32le(0x10,sf);
|
||||||
channel_count = read_16bitLE(0x0A,streamFile);
|
int sample_align = read_u16le(0x14,sf);
|
||||||
sample_rate = read_32bitLE(0x0C,streamFile);
|
int resolution = read_u16le(0x16,sf);
|
||||||
avg_byte_rate = read_32bitLE(0x10,streamFile);
|
|
||||||
sample_align = read_16bitLE(0x14,streamFile);
|
/* check alignment */
|
||||||
resolution = read_16bitLE(0x16,streamFile);
|
if (sample_align != (resolution / 8) * channels)
|
||||||
|
return NULL;
|
||||||
/* check alignment */
|
|
||||||
if (sample_align != (resolution/8)*channel_count)
|
/* check average byte rate */
|
||||||
goto fail;
|
if (avg_byte_rate != sample_rate * sample_align)
|
||||||
|
return NULL;
|
||||||
/* check average byte rate */
|
|
||||||
if (avg_byte_rate != sample_rate*sample_align)
|
off_t start_offset = 0x18;
|
||||||
goto fail;
|
|
||||||
|
/* build the VGMSTREAM */
|
||||||
loop_flag = 0;
|
vgmstream = allocate_vgmstream(channels, false);
|
||||||
start_offset = 0x18;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
vgmstream->sample_rate = sample_rate;
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
vgmstream->num_samples = pcm_size / sizeof(short) / channels;
|
||||||
if (!vgmstream) goto fail;
|
|
||||||
|
vgmstream->meta_type = meta_MAXIS_XA;
|
||||||
vgmstream->sample_rate = sample_rate;
|
vgmstream->coding_type = coding_MAXIS_XA;
|
||||||
vgmstream->num_samples = read_32bitLE(0x04,streamFile)/2/channel_count;
|
vgmstream->layout_type = layout_none;
|
||||||
|
|
||||||
vgmstream->meta_type = meta_MAXIS_XA;
|
/* open streams */
|
||||||
vgmstream->coding_type = coding_MAXIS_XA;
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
vgmstream->layout_type = layout_none;
|
goto fail;
|
||||||
|
return vgmstream;
|
||||||
/* open streams */
|
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
fail:
|
||||||
goto fail;
|
close_vgmstream(vgmstream);
|
||||||
return vgmstream;
|
return NULL;
|
||||||
|
}
|
||||||
fail:
|
|
||||||
close_vgmstream(vgmstream);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
|
@ -701,7 +701,7 @@ VGMSTREAM * init_vgmstream_msb_msh(STREAMFILE * streamFile);
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_txtp(STREAMFILE * streamFile);
|
VGMSTREAM * init_vgmstream_txtp(STREAMFILE * streamFile);
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_smc_smh(STREAMFILE * streamFile);
|
VGMSTREAM* init_vgmstream_smh_smc(STREAMFILE* sf);
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_ppst(STREAMFILE *streamFile);
|
VGMSTREAM * init_vgmstream_ppst(STREAMFILE *streamFile);
|
||||||
|
|
||||||
|
@ -1035,4 +1035,8 @@ VGMSTREAM* init_vgmstream_swar(STREAMFILE* sf);
|
||||||
|
|
||||||
VGMSTREAM* init_vgmstream_ivb(STREAMFILE* sf);
|
VGMSTREAM* init_vgmstream_ivb(STREAMFILE* sf);
|
||||||
|
|
||||||
|
VGMSTREAM* init_vgmstream_mhwk(STREAMFILE* sf);
|
||||||
|
|
||||||
|
VGMSTREAM* init_vgmstream_srcd(STREAMFILE* sf);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
104
Frameworks/vgmstream/vgmstream/src/meta/mhwk.c
Normal file
104
Frameworks/vgmstream/vgmstream/src/meta/mhwk.c
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
#include "meta.h"
|
||||||
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
|
/* MHWK - Broderbund's Mohawk engine (.mhk) */
|
||||||
|
VGMSTREAM* init_vgmstream_mhwk(STREAMFILE* sf) {
|
||||||
|
VGMSTREAM* vgmstream = NULL;
|
||||||
|
off_t start_offset = 0;
|
||||||
|
int loop_flag = 0, channels = 0, sample_rate = 0, format = 0;
|
||||||
|
int32_t num_samples = 0, loop_start = 0, loop_end = 0;
|
||||||
|
off_t current_offset;
|
||||||
|
uint32_t chunk_id;
|
||||||
|
uint32_t chunk_size;
|
||||||
|
|
||||||
|
/* Check for MHWK magic word */
|
||||||
|
if (!is_id32be(0x00, sf, "MHWK"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!check_extensions(sf, "mhk"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* Check for WAVE magic word, which follows the MHWK header */
|
||||||
|
if (!is_id32be(0x08, sf, "WAVE"))
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
current_offset = 0x0C;
|
||||||
|
|
||||||
|
while (current_offset < get_streamfile_size(sf)) {
|
||||||
|
chunk_id = read_u32be(current_offset, sf);
|
||||||
|
chunk_size = read_u32be(current_offset + 0x04, sf);
|
||||||
|
current_offset += 0x08;
|
||||||
|
|
||||||
|
if (chunk_id == get_id32be("Cue#")) {
|
||||||
|
current_offset += chunk_size;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (chunk_id == get_id32be("ADPC")) {
|
||||||
|
current_offset += chunk_size;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (chunk_id == get_id32be("Data")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Data chunk header */
|
||||||
|
|
||||||
|
/* Header size is consistently 20 bytes from analysis */
|
||||||
|
sample_rate = read_u16be(current_offset + 0x00, sf);
|
||||||
|
num_samples = read_u32be(current_offset + 0x02, sf);
|
||||||
|
/* 0x06: sample width (1 byte), 0x07: channels (1 byte) */
|
||||||
|
channels = read_u8(current_offset + 0x07, sf);
|
||||||
|
format = read_u16be(current_offset + 0x08, sf);
|
||||||
|
|
||||||
|
if (read_u16be(current_offset + 0x0A, sf) == 0xFFFF) {
|
||||||
|
loop_flag = 1;
|
||||||
|
loop_start = read_u32be(current_offset + 0x0C, sf);
|
||||||
|
loop_end = read_u32be(current_offset + 0x10, sf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The actual audio data starts after the header's 20 bytes not 28 bytes */
|
||||||
|
start_offset = current_offset + 0x14;
|
||||||
|
|
||||||
|
vgmstream = allocate_vgmstream(channels, loop_flag);
|
||||||
|
if (!vgmstream)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
vgmstream->meta_type = meta_MHWK;
|
||||||
|
vgmstream->sample_rate = sample_rate;
|
||||||
|
vgmstream->num_samples = num_samples;
|
||||||
|
vgmstream->loop_start_sample = loop_start;
|
||||||
|
vgmstream->loop_end_sample = loop_end;
|
||||||
|
|
||||||
|
/* Determine coding type based on format ID */
|
||||||
|
switch (format) {
|
||||||
|
|
||||||
|
//Myst 1993
|
||||||
|
case 0x0000: /* 8-bit unsigned PCM. Default */
|
||||||
|
vgmstream->coding_type = coding_PCM8_U;
|
||||||
|
vgmstream->layout_type = layout_interleave; // Usually mono.
|
||||||
|
vgmstream->interleave_block_size = 0x01;
|
||||||
|
break;
|
||||||
|
|
||||||
|
//Carmen Sandiego: Word Detective
|
||||||
|
case 0x0001: /* IMA ADPCM */
|
||||||
|
vgmstream->coding_type = coding_IMA;
|
||||||
|
vgmstream->layout_type = layout_none;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: /* Unknown format */
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
return vgmstream;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
close_vgmstream(vgmstream);
|
||||||
|
return NULL;
|
||||||
|
}
|
|
@ -7,37 +7,37 @@
|
||||||
static VGMSTREAM* init_vgmstream_mp4_aac_offset(STREAMFILE* sf, uint64_t start, uint64_t size);
|
static VGMSTREAM* init_vgmstream_mp4_aac_offset(STREAMFILE* sf, uint64_t start, uint64_t size);
|
||||||
|
|
||||||
VGMSTREAM* init_vgmstream_mp4_aac(STREAMFILE* sf) {
|
VGMSTREAM* init_vgmstream_mp4_aac(STREAMFILE* sf) {
|
||||||
return init_vgmstream_mp4_aac_offset( sf, 0x00, get_streamfile_size(sf));
|
return init_vgmstream_mp4_aac_offset( sf, 0x00, get_streamfile_size(sf));
|
||||||
}
|
}
|
||||||
|
|
||||||
static VGMSTREAM* init_vgmstream_mp4_aac_offset(STREAMFILE* sf, uint64_t start, uint64_t size) {
|
static VGMSTREAM* init_vgmstream_mp4_aac_offset(STREAMFILE* sf, uint64_t start, uint64_t size) {
|
||||||
VGMSTREAM* vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
mp4_aac_codec_data* data = NULL;
|
mp4_aac_codec_data* data = NULL;
|
||||||
|
|
||||||
data = init_mp4_aac(sf);
|
data = init_mp4_aac(sf);
|
||||||
if (!data) goto fail;
|
if (!data) goto fail;
|
||||||
|
|
||||||
int channels = mp4_aac_get_channels(data);
|
int channels = mp4_aac_get_channels(data);
|
||||||
|
|
||||||
vgmstream = allocate_vgmstream(channels, 0);
|
vgmstream = allocate_vgmstream(channels, 0);
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
vgmstream->sample_rate = mp4_aac_get_sample_rate(data);
|
vgmstream->sample_rate = mp4_aac_get_sample_rate(data);
|
||||||
vgmstream->num_samples = mp4_aac_get_samples(data);
|
vgmstream->num_samples = mp4_aac_get_samples(data);
|
||||||
|
|
||||||
vgmstream->codec_data = data;
|
vgmstream->codec_data = data;
|
||||||
vgmstream->coding_type = coding_MP4_AAC;
|
vgmstream->coding_type = coding_MP4_AAC;
|
||||||
|
|
||||||
vgmstream->layout_type = layout_none;
|
vgmstream->layout_type = layout_none;
|
||||||
vgmstream->meta_type = meta_MP4;
|
vgmstream->meta_type = meta_MP4;
|
||||||
|
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
fail:
|
fail:
|
||||||
free_mp4_aac(data);
|
free_mp4_aac(data);
|
||||||
if (vgmstream) {
|
if (vgmstream) {
|
||||||
vgmstream->codec_data = NULL;
|
vgmstream->codec_data = NULL;
|
||||||
close_vgmstream(vgmstream);
|
close_vgmstream(vgmstream);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,218 +1,218 @@
|
||||||
//MxSt files ripped from Jukebox.si in Lego Island
|
//MxSt files ripped from Jukebox.si in Lego Island
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../layout/layout.h"
|
#include "../layout/layout.h"
|
||||||
#include "../util.h"
|
#include "../util.h"
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_pc_mxst(STREAMFILE *streamFile) {
|
VGMSTREAM * init_vgmstream_pc_mxst(STREAMFILE *streamFile) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM * vgmstream = NULL;
|
||||||
char filename[PATH_LIMIT];
|
char filename[PATH_LIMIT];
|
||||||
|
|
||||||
int loop_flag=0;
|
int loop_flag=0;
|
||||||
int bits_per_sample;
|
int bits_per_sample;
|
||||||
int channel_count;
|
int channel_count;
|
||||||
int sample_rate,bytes_per_second;
|
int sample_rate,bytes_per_second;
|
||||||
long sample_count;
|
long sample_count;
|
||||||
int i;
|
int i;
|
||||||
off_t file_size;
|
off_t file_size;
|
||||||
off_t chunk_list_size=-1;
|
off_t chunk_list_size=-1;
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
|
|
||||||
/* check extension, case insensitive */
|
/* check extension, case insensitive */
|
||||||
streamFile->get_name(streamFile,filename,sizeof(filename));
|
streamFile->get_name(streamFile,filename,sizeof(filename));
|
||||||
if (strcasecmp("mxst",filename_extension(filename))) goto fail;
|
if (strcasecmp("mxst",filename_extension(filename))) goto fail;
|
||||||
|
|
||||||
/* looping info not found yet */
|
/* looping info not found yet */
|
||||||
//loop_flag = get_streamfile_size(streamFile) > 700000;
|
//loop_flag = get_streamfile_size(streamFile) > 700000;
|
||||||
|
|
||||||
/* check MxSt header */
|
/* check MxSt header */
|
||||||
if (0x4d785374 != read_32bitBE(0, streamFile)) goto fail;
|
if (0x4d785374 != read_32bitBE(0, streamFile)) goto fail;
|
||||||
file_size = read_32bitLE(4, streamFile) + 8;
|
file_size = read_32bitLE(4, streamFile) + 8;
|
||||||
if (file_size != get_streamfile_size(streamFile)) goto fail;
|
if (file_size != get_streamfile_size(streamFile)) goto fail;
|
||||||
|
|
||||||
/* read chunks */
|
/* read chunks */
|
||||||
{
|
{
|
||||||
off_t MxDa=-1; /* points inside the MxDa chunk */
|
off_t MxDa=-1; /* points inside the MxDa chunk */
|
||||||
off_t MxCh=-1; /* point at start of the first MxCh chunk */
|
off_t MxCh=-1; /* point at start of the first MxCh chunk */
|
||||||
off_t chunk_offset = 8;
|
off_t chunk_offset = 8;
|
||||||
uint32_t stream_id;
|
uint32_t stream_id;
|
||||||
while (chunk_offset < file_size)
|
while (chunk_offset < file_size)
|
||||||
{
|
{
|
||||||
uint32_t chunk_size = (read_32bitLE(chunk_offset+4, streamFile)+1)/2*2;
|
uint32_t chunk_size = (read_32bitLE(chunk_offset+4, streamFile)+1)/2*2;
|
||||||
switch (read_32bitBE(chunk_offset, streamFile))
|
switch (read_32bitBE(chunk_offset, streamFile))
|
||||||
{
|
{
|
||||||
case 0x4d784f62: /* MxOb */
|
case 0x4d784f62: /* MxOb */
|
||||||
/* not interesting for playback */
|
/* not interesting for playback */
|
||||||
break;
|
break;
|
||||||
case 0x20574156: /* " WAV" */
|
case 0x20574156: /* " WAV" */
|
||||||
if (chunk_size == 1)
|
if (chunk_size == 1)
|
||||||
chunk_size = 8;
|
chunk_size = 8;
|
||||||
break;
|
break;
|
||||||
case 0x4c495354: /* LIST */
|
case 0x4c495354: /* LIST */
|
||||||
{
|
{
|
||||||
off_t first_item_offset = chunk_offset+0x14;
|
off_t first_item_offset = chunk_offset+0x14;
|
||||||
off_t list_chunk_offset = first_item_offset+
|
off_t list_chunk_offset = first_item_offset+
|
||||||
read_32bitLE(chunk_offset+0x10,streamFile);
|
read_32bitLE(chunk_offset+0x10,streamFile);
|
||||||
|
|
||||||
if (read_32bitBE(chunk_offset+0x8,streamFile) == 0x4d784461) /* MxDa */
|
if (read_32bitBE(chunk_offset+0x8,streamFile) == 0x4d784461) /* MxDa */
|
||||||
MxDa = first_item_offset;
|
MxDa = first_item_offset;
|
||||||
else
|
else
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (read_32bitBE(chunk_offset+0xC,streamFile) ==
|
if (read_32bitBE(chunk_offset+0xC,streamFile) ==
|
||||||
0x4d784368) /* MxCh */
|
0x4d784368) /* MxCh */
|
||||||
{
|
{
|
||||||
MxCh = list_chunk_offset;
|
MxCh = list_chunk_offset;
|
||||||
chunk_list_size = chunk_size - (list_chunk_offset-(chunk_offset+8));
|
chunk_list_size = chunk_size - (list_chunk_offset-(chunk_offset+8));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
chunk_offset += 8 + chunk_size;
|
chunk_offset += 8 + chunk_size;
|
||||||
if (chunk_offset > file_size) goto fail;
|
if (chunk_offset > file_size) goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MxDa == -1 || MxCh == -1 || chunk_list_size == -1) goto fail;
|
if (MxDa == -1 || MxCh == -1 || chunk_list_size == -1) goto fail;
|
||||||
|
|
||||||
/* parse MxDa */
|
/* parse MxDa */
|
||||||
{
|
{
|
||||||
/* ??? */
|
/* ??? */
|
||||||
if (0 != read_16bitLE(MxDa+0x00,streamFile)) goto fail;
|
if (0 != read_16bitLE(MxDa+0x00,streamFile)) goto fail;
|
||||||
stream_id = read_32bitLE(MxDa+0x2,streamFile);
|
stream_id = read_32bitLE(MxDa+0x2,streamFile);
|
||||||
/* First sample (none in MxDa block) */
|
/* First sample (none in MxDa block) */
|
||||||
if (-1 != read_32bitLE(MxDa+0x06,streamFile)) goto fail;
|
if (-1 != read_32bitLE(MxDa+0x06,streamFile)) goto fail;
|
||||||
/* size of format data */
|
/* size of format data */
|
||||||
if (0x18 != read_32bitLE(MxDa+0x0a,streamFile)) goto fail;
|
if (0x18 != read_32bitLE(MxDa+0x0a,streamFile)) goto fail;
|
||||||
/* PCM */
|
/* PCM */
|
||||||
if (1 != read_16bitLE(MxDa+0x0e,streamFile)) goto fail;
|
if (1 != read_16bitLE(MxDa+0x0e,streamFile)) goto fail;
|
||||||
/* channel count */
|
/* channel count */
|
||||||
channel_count = read_16bitLE(MxDa+0x10,streamFile);
|
channel_count = read_16bitLE(MxDa+0x10,streamFile);
|
||||||
/* only mono known */
|
/* only mono known */
|
||||||
if (1 != channel_count) goto fail;
|
if (1 != channel_count) goto fail;
|
||||||
sample_rate = read_32bitLE(MxDa+0x12,streamFile);
|
sample_rate = read_32bitLE(MxDa+0x12,streamFile);
|
||||||
bits_per_sample = read_16bitLE(MxDa+0x1c,streamFile);
|
bits_per_sample = read_16bitLE(MxDa+0x1c,streamFile);
|
||||||
/* bytes per second */
|
/* bytes per second */
|
||||||
bytes_per_second = read_32bitLE(MxDa+0x16,streamFile);
|
bytes_per_second = read_32bitLE(MxDa+0x16,streamFile);
|
||||||
if (bits_per_sample/8*channel_count*sample_rate != bytes_per_second) goto fail;
|
if (bits_per_sample/8*channel_count*sample_rate != bytes_per_second) goto fail;
|
||||||
/* block align */
|
/* block align */
|
||||||
if (bits_per_sample/8*channel_count !=
|
if (bits_per_sample/8*channel_count !=
|
||||||
read_16bitLE(MxDa+0x1a,streamFile)) goto fail;
|
read_16bitLE(MxDa+0x1a,streamFile)) goto fail;
|
||||||
sample_count = read_32bitLE(MxDa+0x1e,streamFile)/(bits_per_sample/8)/channel_count;
|
sample_count = read_32bitLE(MxDa+0x1e,streamFile)/(bits_per_sample/8)/channel_count;
|
||||||
/* 2c? data offset in normal RIFF WAVE? */
|
/* 2c? data offset in normal RIFF WAVE? */
|
||||||
if (0x2c != read_32bitLE(MxDa+0x22,streamFile)) goto fail;
|
if (0x2c != read_32bitLE(MxDa+0x22,streamFile)) goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* parse through all MxCh for consistency check */
|
/* parse through all MxCh for consistency check */
|
||||||
{
|
{
|
||||||
long samples = 0;
|
long samples = 0;
|
||||||
int split_frames_seen = 0;
|
int split_frames_seen = 0;
|
||||||
off_t MxCh_offset = MxCh;
|
off_t MxCh_offset = MxCh;
|
||||||
while (MxCh_offset < MxCh+chunk_list_size)
|
while (MxCh_offset < MxCh+chunk_list_size)
|
||||||
{
|
{
|
||||||
uint16_t flags;
|
uint16_t flags;
|
||||||
if (read_32bitBE(MxCh_offset,streamFile)!=0x70616420) /*pad*/
|
if (read_32bitBE(MxCh_offset,streamFile)!=0x70616420) /*pad*/
|
||||||
{
|
{
|
||||||
if (read_32bitBE(MxCh_offset,streamFile)!=0x4d784368) /*MxCh*/
|
if (read_32bitBE(MxCh_offset,streamFile)!=0x4d784368) /*MxCh*/
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
flags = read_16bitLE(MxCh_offset+8+0,streamFile);
|
flags = read_16bitLE(MxCh_offset+8+0,streamFile);
|
||||||
|
|
||||||
if (read_32bitLE(MxCh_offset+8+2,streamFile)!=stream_id)
|
if (read_32bitLE(MxCh_offset+8+2,streamFile)!=stream_id)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (flags & 0x10)
|
if (flags & 0x10)
|
||||||
{
|
{
|
||||||
split_frames_seen ++;
|
split_frames_seen ++;
|
||||||
if (split_frames_seen == 1)
|
if (split_frames_seen == 1)
|
||||||
{
|
{
|
||||||
if (read_32bitLE(MxCh_offset+8+6,streamFile)!=(samples*UINT64_C(1000)+sample_rate-1)/sample_rate)
|
if (read_32bitLE(MxCh_offset+8+6,streamFile)!=(samples*UINT64_C(1000)+sample_rate-1)/sample_rate)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
else if (split_frames_seen == 2)
|
else if (split_frames_seen == 2)
|
||||||
{
|
{
|
||||||
if ( read_32bitLE(MxCh_offset+8+0xa,streamFile)!=
|
if ( read_32bitLE(MxCh_offset+8+0xa,streamFile)!=
|
||||||
read_32bitLE(MxCh_offset+4,streamFile)-0xe ) goto fail;
|
read_32bitLE(MxCh_offset+4,streamFile)-0xe ) goto fail;
|
||||||
split_frames_seen = 0;
|
split_frames_seen = 0;
|
||||||
}
|
}
|
||||||
else goto fail;
|
else goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(flags & 0x10))
|
if (!(flags & 0x10))
|
||||||
{
|
{
|
||||||
if (split_frames_seen != 0)
|
if (split_frames_seen != 0)
|
||||||
{
|
{
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
if (read_32bitLE(MxCh_offset+8+6,streamFile)!=(samples*UINT64_C(1000)+sample_rate-1)/sample_rate)
|
if (read_32bitLE(MxCh_offset+8+6,streamFile)!=(samples*UINT64_C(1000)+sample_rate-1)/sample_rate)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if ( read_32bitLE(MxCh_offset+8+0xa,streamFile)!=
|
if ( read_32bitLE(MxCh_offset+8+0xa,streamFile)!=
|
||||||
read_32bitLE(MxCh_offset+4,streamFile)-0xe ) goto fail;
|
read_32bitLE(MxCh_offset+4,streamFile)-0xe ) goto fail;
|
||||||
}
|
}
|
||||||
samples += (read_32bitLE(MxCh_offset+4,streamFile)-0xe)/(bits_per_sample/8/channel_count);
|
samples += (read_32bitLE(MxCh_offset+4,streamFile)-0xe)/(bits_per_sample/8/channel_count);
|
||||||
|
|
||||||
}
|
}
|
||||||
MxCh_offset += 8 + (read_32bitLE(MxCh_offset+4,streamFile)+1)/2*2;
|
MxCh_offset += 8 + (read_32bitLE(MxCh_offset+4,streamFile)+1)/2*2;
|
||||||
if (MxCh_offset > MxCh+chunk_list_size) goto fail;
|
if (MxCh_offset > MxCh+chunk_list_size) goto fail;
|
||||||
}
|
}
|
||||||
//printf("samples=%d sample_count=%d\n",samples,sample_count);
|
//printf("samples=%d sample_count=%d\n",samples,sample_count);
|
||||||
//samples = (samples * (bits_per_sample/8) * channel_count + 31)/32*32/(bits_per_sample/8)/channel_count;
|
//samples = (samples * (bits_per_sample/8) * channel_count + 31)/32*32/(bits_per_sample/8)/channel_count;
|
||||||
if (samples < sample_count)
|
if (samples < sample_count)
|
||||||
{
|
{
|
||||||
sample_count = samples;
|
sample_count = samples;
|
||||||
}
|
}
|
||||||
if (samples != sample_count) goto fail;
|
if (samples != sample_count) goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
start_offset = MxCh;
|
start_offset = MxCh;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
/* build the VGMSTREAM */
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
/* fill in the vital statistics */
|
/* fill in the vital statistics */
|
||||||
vgmstream->channels = channel_count;
|
vgmstream->channels = channel_count;
|
||||||
vgmstream->sample_rate = sample_rate;
|
vgmstream->sample_rate = sample_rate;
|
||||||
vgmstream->layout_type = layout_blocked_mxch;
|
vgmstream->layout_type = layout_blocked_mxch;
|
||||||
|
|
||||||
vgmstream->meta_type = meta_PC_MXST;
|
vgmstream->meta_type = meta_PC_MXST;
|
||||||
if(bits_per_sample == 8)
|
if(bits_per_sample == 8)
|
||||||
{
|
{
|
||||||
vgmstream->coding_type = coding_PCM8_U;
|
vgmstream->coding_type = coding_PCM8_U;
|
||||||
}
|
}
|
||||||
else if (bits_per_sample == 16)
|
else if (bits_per_sample == 16)
|
||||||
{
|
{
|
||||||
vgmstream->coding_type = coding_PCM16LE;
|
vgmstream->coding_type = coding_PCM16LE;
|
||||||
}
|
}
|
||||||
else goto fail;
|
else goto fail;
|
||||||
vgmstream->num_samples = sample_count;
|
vgmstream->num_samples = sample_count;
|
||||||
if(loop_flag)
|
if(loop_flag)
|
||||||
{
|
{
|
||||||
vgmstream->loop_start_sample = 0;
|
vgmstream->loop_start_sample = 0;
|
||||||
vgmstream->loop_end_sample=vgmstream->num_samples;
|
vgmstream->loop_end_sample=vgmstream->num_samples;
|
||||||
}
|
}
|
||||||
/* open the file for reading by each channel */
|
/* open the file for reading by each channel */
|
||||||
{
|
{
|
||||||
for (i=0;i<channel_count;i++) {
|
for (i=0;i<channel_count;i++) {
|
||||||
vgmstream->ch[i].streamfile =
|
vgmstream->ch[i].streamfile =
|
||||||
streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE);
|
streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE);
|
||||||
|
|
||||||
if (!vgmstream->ch[i].streamfile) goto fail;
|
if (!vgmstream->ch[i].streamfile) goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
block_update_mxch(start_offset, vgmstream);
|
block_update_mxch(start_offset, vgmstream);
|
||||||
|
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
|
|
||||||
/* clean up anything we may have opened */
|
/* clean up anything we may have opened */
|
||||||
fail:
|
fail:
|
||||||
if (vgmstream) close_vgmstream(vgmstream);
|
if (vgmstream) close_vgmstream(vgmstream);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,256 +1,256 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
|
|
||||||
/* Headerless PS-ADPCM
|
/* Headerless PS-ADPCM
|
||||||
* Guesses interleave/channels/loops by testing data and using the file extension for sample rate.
|
* Guesses interleave/channels/loops by testing data and using the file extension for sample rate.
|
||||||
* This is an ugly crutch for older sets, use TXTH to properly play headerless data instead. */
|
* This is an ugly crutch for older sets, use TXTH to properly play headerless data instead. */
|
||||||
VGMSTREAM * init_vgmstream_ps_headerless(STREAMFILE *streamFile) {
|
VGMSTREAM * init_vgmstream_ps_headerless(STREAMFILE *streamFile) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM * vgmstream = NULL;
|
||||||
off_t start_offset = 0x00;
|
off_t start_offset = 0x00;
|
||||||
char filename[PATH_LIMIT];
|
char filename[PATH_LIMIT];
|
||||||
|
|
||||||
uint8_t mibBuffer[0x10];
|
uint8_t mibBuffer[0x10];
|
||||||
uint8_t testBuffer[0x10];
|
uint8_t testBuffer[0x10];
|
||||||
|
|
||||||
size_t fileLength;
|
size_t fileLength;
|
||||||
off_t loopStart = 0;
|
off_t loopStart = 0;
|
||||||
off_t loopEnd = 0;
|
off_t loopEnd = 0;
|
||||||
off_t interleave = 0;
|
off_t interleave = 0;
|
||||||
|
|
||||||
off_t readOffset = 0;
|
off_t readOffset = 0;
|
||||||
|
|
||||||
off_t loopStartPoints[0x10] = {0};
|
off_t loopStartPoints[0x10] = {0};
|
||||||
int loopStartPointsCount=0;
|
int loopStartPointsCount=0;
|
||||||
off_t loopEndPoints[0x10] = {0};
|
off_t loopEndPoints[0x10] = {0};
|
||||||
int loopEndPointsCount=0;
|
int loopEndPointsCount=0;
|
||||||
int loopToEnd=0;
|
int loopToEnd=0;
|
||||||
int forceNoLoop=0;
|
int forceNoLoop=0;
|
||||||
int gotEmptyLine=0;
|
int gotEmptyLine=0;
|
||||||
|
|
||||||
int i, channel_count=0;
|
int i, channel_count=0;
|
||||||
|
|
||||||
|
|
||||||
/* checks
|
/* checks
|
||||||
* .mib: common, but many ext-less files are renamed to this.
|
* .mib: common, but many ext-less files are renamed to this.
|
||||||
* .mi4: fake .mib to force another sample rate */
|
* .mi4: fake .mib to force another sample rate */
|
||||||
streamFile->get_name(streamFile,filename,sizeof(filename));
|
streamFile->get_name(streamFile,filename,sizeof(filename));
|
||||||
if (strcasecmp("mib",filename_extension(filename)) &&
|
if (strcasecmp("mib",filename_extension(filename)) &&
|
||||||
strcasecmp("mi4",filename_extension(filename)))
|
strcasecmp("mi4",filename_extension(filename)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
/* test if raw PS-ADPCM */
|
/* test if raw PS-ADPCM */
|
||||||
if (!ps_check_format(streamFile, 0x00, 0x2000))
|
if (!ps_check_format(streamFile, 0x00, 0x2000))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
|
||||||
fileLength = get_streamfile_size(streamFile);
|
fileLength = get_streamfile_size(streamFile);
|
||||||
|
|
||||||
/* Search for interleave value (checking channel starts) and loop points (using PS-ADPCM flags).
|
/* Search for interleave value (checking channel starts) and loop points (using PS-ADPCM flags).
|
||||||
* Channel start will by 0x0000, 0x0002, 0x0006 followed by 12 zero values.
|
* Channel start will by 0x0000, 0x0002, 0x0006 followed by 12 zero values.
|
||||||
* Interleave value is the offset where those repeat, and channels the number of times.
|
* Interleave value is the offset where those repeat, and channels the number of times.
|
||||||
* Loop flags in second byte are: 0x06 = start, 0x03 = end (per channel).
|
* Loop flags in second byte are: 0x06 = start, 0x03 = end (per channel).
|
||||||
* Interleave can be large (up to 0x20000 found so far) and is always a 0x10 multiple value. */
|
* Interleave can be large (up to 0x20000 found so far) and is always a 0x10 multiple value. */
|
||||||
readOffset+=(off_t)read_streamfile(mibBuffer,0,0x10,streamFile);
|
readOffset+=(off_t)read_streamfile(mibBuffer,0,0x10,streamFile);
|
||||||
mibBuffer[0]=0;
|
mibBuffer[0]=0;
|
||||||
{
|
{
|
||||||
uint8_t doChannelUpdate=1;
|
uint8_t doChannelUpdate=1;
|
||||||
uint8_t bDoUpdateInterleave=1;
|
uint8_t bDoUpdateInterleave=1;
|
||||||
|
|
||||||
readOffset=0;
|
readOffset=0;
|
||||||
do {
|
do {
|
||||||
readOffset+=(off_t)read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
readOffset+=(off_t)read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
||||||
// be sure to point to an interleave value
|
// be sure to point to an interleave value
|
||||||
if(readOffset<(int32_t)(fileLength*0.5)) {
|
if(readOffset<(int32_t)(fileLength*0.5)) {
|
||||||
|
|
||||||
if(memcmp(testBuffer+2, mibBuffer+2,0x0e)) {
|
if(memcmp(testBuffer+2, mibBuffer+2,0x0e)) {
|
||||||
if(doChannelUpdate) {
|
if(doChannelUpdate) {
|
||||||
doChannelUpdate=0;
|
doChannelUpdate=0;
|
||||||
channel_count++;
|
channel_count++;
|
||||||
}
|
}
|
||||||
if(channel_count<2)
|
if(channel_count<2)
|
||||||
bDoUpdateInterleave=1;
|
bDoUpdateInterleave=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
testBuffer[0]=0;
|
testBuffer[0]=0;
|
||||||
if(!memcmp(testBuffer,mibBuffer,0x10)) {
|
if(!memcmp(testBuffer,mibBuffer,0x10)) {
|
||||||
gotEmptyLine=1;
|
gotEmptyLine=1;
|
||||||
|
|
||||||
if(bDoUpdateInterleave) {
|
if(bDoUpdateInterleave) {
|
||||||
bDoUpdateInterleave=0;
|
bDoUpdateInterleave=0;
|
||||||
interleave=readOffset-0x10;
|
interleave=readOffset-0x10;
|
||||||
}
|
}
|
||||||
if(readOffset-0x10 == channel_count*interleave) {
|
if(readOffset-0x10 == channel_count*interleave) {
|
||||||
doChannelUpdate=1;
|
doChannelUpdate=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Loop Start ...
|
// Loop Start ...
|
||||||
if(testBuffer[0x01]==0x06) {
|
if(testBuffer[0x01]==0x06) {
|
||||||
if(loopStartPointsCount<0x10) {
|
if(loopStartPointsCount<0x10) {
|
||||||
loopStartPoints[loopStartPointsCount] = readOffset-0x10;
|
loopStartPoints[loopStartPointsCount] = readOffset-0x10;
|
||||||
loopStartPointsCount++;
|
loopStartPointsCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Loop End ...
|
// Loop End ...
|
||||||
if(testBuffer[0x01]==0x03 && testBuffer[0x03]!=0x77) {
|
if(testBuffer[0x01]==0x03 && testBuffer[0x03]!=0x77) {
|
||||||
if(loopEndPointsCount<0x10) {
|
if(loopEndPointsCount<0x10) {
|
||||||
loopEndPoints[loopEndPointsCount] = readOffset;
|
loopEndPoints[loopEndPointsCount] = readOffset;
|
||||||
loopEndPointsCount++;
|
loopEndPointsCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(testBuffer[0x01]==0x04) {
|
if(testBuffer[0x01]==0x04) {
|
||||||
// 0x04 loop points flag can't be with a 0x03 loop points flag
|
// 0x04 loop points flag can't be with a 0x03 loop points flag
|
||||||
if(loopStartPointsCount<0x10) {
|
if(loopStartPointsCount<0x10) {
|
||||||
loopStartPoints[loopStartPointsCount] = readOffset-0x10;
|
loopStartPoints[loopStartPointsCount] = readOffset-0x10;
|
||||||
loopStartPointsCount++;
|
loopStartPointsCount++;
|
||||||
|
|
||||||
// Loop end value is not set by flags ...
|
// Loop end value is not set by flags ...
|
||||||
// go until end of file
|
// go until end of file
|
||||||
loopToEnd=1;
|
loopToEnd=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (readOffset<((int32_t)fileLength));
|
} while (readOffset<((int32_t)fileLength));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(testBuffer[0]==0x0c && testBuffer[1]==0)
|
if(testBuffer[0]==0x0c && testBuffer[1]==0)
|
||||||
forceNoLoop=1;
|
forceNoLoop=1;
|
||||||
|
|
||||||
if(channel_count==0)
|
if(channel_count==0)
|
||||||
channel_count=1;
|
channel_count=1;
|
||||||
|
|
||||||
// Calc Loop Points & Interleave ...
|
// Calc Loop Points & Interleave ...
|
||||||
if(loopStartPointsCount>=2) {
|
if(loopStartPointsCount>=2) {
|
||||||
// can't get more then 0x10 loop point !
|
// can't get more then 0x10 loop point !
|
||||||
if(loopStartPointsCount<=0x0F) {
|
if(loopStartPointsCount<=0x0F) {
|
||||||
// Always took the first 2 loop points
|
// Always took the first 2 loop points
|
||||||
interleave=loopStartPoints[1]-loopStartPoints[0];
|
interleave=loopStartPoints[1]-loopStartPoints[0];
|
||||||
loopStart=loopStartPoints[1];
|
loopStart=loopStartPoints[1];
|
||||||
|
|
||||||
// Can't be one channel .mib with interleave values
|
// Can't be one channel .mib with interleave values
|
||||||
if(interleave>0 && channel_count==1)
|
if(interleave>0 && channel_count==1)
|
||||||
channel_count=2;
|
channel_count=2;
|
||||||
} else {
|
} else {
|
||||||
loopStart=0;
|
loopStart=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(loopEndPointsCount>=2) {
|
if(loopEndPointsCount>=2) {
|
||||||
// can't get more then 0x10 loop point !
|
// can't get more then 0x10 loop point !
|
||||||
if(loopEndPointsCount<=0x0F) {
|
if(loopEndPointsCount<=0x0F) {
|
||||||
// No need to recalculate interleave value ...
|
// No need to recalculate interleave value ...
|
||||||
loopEnd=loopEndPoints[loopEndPointsCount-1];
|
loopEnd=loopEndPoints[loopEndPointsCount-1];
|
||||||
|
|
||||||
// Can't be one channel .mib with interleave values
|
// Can't be one channel .mib with interleave values
|
||||||
if(channel_count==1)
|
if(channel_count==1)
|
||||||
channel_count=2;
|
channel_count=2;
|
||||||
} else {
|
} else {
|
||||||
loopToEnd=0;
|
loopToEnd=0;
|
||||||
loopEnd=0;
|
loopEnd=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loopToEnd)
|
if (loopToEnd)
|
||||||
loopEnd=fileLength;
|
loopEnd=fileLength;
|
||||||
|
|
||||||
if(forceNoLoop)
|
if(forceNoLoop)
|
||||||
loopEnd=0;
|
loopEnd=0;
|
||||||
|
|
||||||
if(interleave>0x10 && channel_count==1)
|
if(interleave>0x10 && channel_count==1)
|
||||||
channel_count=2;
|
channel_count=2;
|
||||||
|
|
||||||
if(interleave==0)
|
if(interleave==0)
|
||||||
interleave=0x10;
|
interleave=0x10;
|
||||||
|
|
||||||
// further check on channel_count ...
|
// further check on channel_count ...
|
||||||
if(gotEmptyLine) {
|
if(gotEmptyLine) {
|
||||||
int newChannelCount = 0;
|
int newChannelCount = 0;
|
||||||
|
|
||||||
readOffset=0;
|
readOffset=0;
|
||||||
|
|
||||||
/* count empty lines at interleave = channels */
|
/* count empty lines at interleave = channels */
|
||||||
do {
|
do {
|
||||||
newChannelCount++;
|
newChannelCount++;
|
||||||
read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
||||||
readOffset+=interleave;
|
readOffset+=interleave;
|
||||||
} while(!memcmp(testBuffer,mibBuffer,16));
|
} while(!memcmp(testBuffer,mibBuffer,16));
|
||||||
|
|
||||||
newChannelCount--;
|
newChannelCount--;
|
||||||
if(newChannelCount>channel_count)
|
if(newChannelCount>channel_count)
|
||||||
channel_count=newChannelCount;
|
channel_count=newChannelCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
/* build the VGMSTREAM */
|
||||||
vgmstream = allocate_vgmstream(channel_count,(loopEnd!=0));
|
vgmstream = allocate_vgmstream(channel_count,(loopEnd!=0));
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
vgmstream->coding_type = coding_PSX;
|
vgmstream->coding_type = coding_PSX;
|
||||||
vgmstream->layout_type = (channel_count == 1) ? layout_none : layout_interleave;
|
vgmstream->layout_type = (channel_count == 1) ? layout_none : layout_interleave;
|
||||||
|
|
||||||
vgmstream->interleave_block_size = interleave;
|
vgmstream->interleave_block_size = interleave;
|
||||||
|
|
||||||
if(!strcasecmp("mib",filename_extension(filename)))
|
if(!strcasecmp("mib",filename_extension(filename)))
|
||||||
vgmstream->sample_rate = 44100;
|
vgmstream->sample_rate = 44100;
|
||||||
|
|
||||||
if(!strcasecmp("mi4",filename_extension(filename)))
|
if(!strcasecmp("mi4",filename_extension(filename)))
|
||||||
vgmstream->sample_rate = 48000;
|
vgmstream->sample_rate = 48000;
|
||||||
|
|
||||||
vgmstream->num_samples = (int32_t)(fileLength/16/channel_count*28);
|
vgmstream->num_samples = (int32_t)(fileLength/16/channel_count*28);
|
||||||
|
|
||||||
if(loopEnd!=0) {
|
if(loopEnd!=0) {
|
||||||
if(vgmstream->channels==1) {
|
if(vgmstream->channels==1) {
|
||||||
vgmstream->loop_start_sample = loopStart/16*18; //todo 18 instead of 28 probably a bug
|
vgmstream->loop_start_sample = loopStart/16*18; //todo 18 instead of 28 probably a bug
|
||||||
vgmstream->loop_end_sample = loopEnd/16*28;
|
vgmstream->loop_end_sample = loopEnd/16*28;
|
||||||
} else {
|
} else {
|
||||||
vgmstream->loop_start_sample = ((((loopStart/vgmstream->interleave_block_size)-1)*vgmstream->interleave_block_size)/16*14*channel_count)/channel_count;
|
vgmstream->loop_start_sample = ((((loopStart/vgmstream->interleave_block_size)-1)*vgmstream->interleave_block_size)/16*14*channel_count)/channel_count;
|
||||||
if(loopStart%vgmstream->interleave_block_size) {
|
if(loopStart%vgmstream->interleave_block_size) {
|
||||||
vgmstream->loop_start_sample += (((loopStart%vgmstream->interleave_block_size)-1)/16*14*channel_count);
|
vgmstream->loop_start_sample += (((loopStart%vgmstream->interleave_block_size)-1)/16*14*channel_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(loopEnd==fileLength) {
|
if(loopEnd==fileLength) {
|
||||||
vgmstream->loop_end_sample=(loopEnd/16*28)/channel_count;
|
vgmstream->loop_end_sample=(loopEnd/16*28)/channel_count;
|
||||||
} else {
|
} else {
|
||||||
vgmstream->loop_end_sample = ((((loopEnd/vgmstream->interleave_block_size)-1)*vgmstream->interleave_block_size)/16*14*channel_count)/channel_count;
|
vgmstream->loop_end_sample = ((((loopEnd/vgmstream->interleave_block_size)-1)*vgmstream->interleave_block_size)/16*14*channel_count)/channel_count;
|
||||||
if(loopEnd%vgmstream->interleave_block_size) {
|
if(loopEnd%vgmstream->interleave_block_size) {
|
||||||
vgmstream->loop_end_sample += (((loopEnd%vgmstream->interleave_block_size)-1)/16*14*channel_count);
|
vgmstream->loop_end_sample += (((loopEnd%vgmstream->interleave_block_size)-1)/16*14*channel_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(loopToEnd) {
|
if(loopToEnd) {
|
||||||
// try to find if there's no empty line ...
|
// try to find if there's no empty line ...
|
||||||
int emptySamples=0;
|
int emptySamples=0;
|
||||||
|
|
||||||
for(i=0; i<16;i++) {
|
for(i=0; i<16;i++) {
|
||||||
mibBuffer[i]=0; //memset
|
mibBuffer[i]=0; //memset
|
||||||
}
|
}
|
||||||
|
|
||||||
readOffset=fileLength-0x10;
|
readOffset=fileLength-0x10;
|
||||||
do {
|
do {
|
||||||
read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
read_streamfile(testBuffer,readOffset,0x10,streamFile);
|
||||||
if(!memcmp(mibBuffer,testBuffer,16)) {
|
if(!memcmp(mibBuffer,testBuffer,16)) {
|
||||||
emptySamples+=28;
|
emptySamples+=28;
|
||||||
}
|
}
|
||||||
readOffset-=0x10;
|
readOffset-=0x10;
|
||||||
} while(!memcmp(testBuffer,mibBuffer,16));
|
} while(!memcmp(testBuffer,mibBuffer,16));
|
||||||
|
|
||||||
vgmstream->loop_end_sample-=(emptySamples*channel_count);
|
vgmstream->loop_end_sample-=(emptySamples*channel_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
vgmstream->meta_type = meta_PS_HEADERLESS;
|
vgmstream->meta_type = meta_PS_HEADERLESS;
|
||||||
vgmstream->allow_dual_stereo = 1;
|
vgmstream->allow_dual_stereo = 1;
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
||||||
goto fail;
|
goto fail;
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
close_vgmstream(vgmstream);
|
close_vgmstream(vgmstream);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
/* RAW - RAW format is native 44khz PCM file */
|
/* RAW - RAW format is native 44khz PCM file */
|
||||||
VGMSTREAM * init_vgmstream_raw_pcm(STREAMFILE *streamFile) {
|
VGMSTREAM * init_vgmstream_raw_pcm(STREAMFILE *streamFile) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM * vgmstream = NULL;
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
int loop_flag, channel_count;
|
int loop_flag, channel_count;
|
||||||
|
|
||||||
|
|
||||||
/* checks */
|
/* checks */
|
||||||
if (!check_extensions(streamFile, "raw"))
|
if (!check_extensions(streamFile, "raw"))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
channel_count = 2;
|
channel_count = 2;
|
||||||
loop_flag = 0;
|
loop_flag = 0;
|
||||||
start_offset = 0x00;
|
start_offset = 0x00;
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
/* build the VGMSTREAM */
|
||||||
vgmstream = allocate_vgmstream(channel_count, loop_flag);
|
vgmstream = allocate_vgmstream(channel_count, loop_flag);
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
vgmstream->meta_type = meta_RAW_PCM;
|
vgmstream->meta_type = meta_RAW_PCM;
|
||||||
vgmstream->sample_rate = 44100;
|
vgmstream->sample_rate = 44100;
|
||||||
vgmstream->num_samples = pcm_bytes_to_samples(get_streamfile_size(streamFile), channel_count, 16);
|
vgmstream->num_samples = pcm_bytes_to_samples(get_streamfile_size(streamFile), channel_count, 16);
|
||||||
|
|
||||||
vgmstream->coding_type = coding_PCM16LE;
|
vgmstream->coding_type = coding_PCM16LE;
|
||||||
vgmstream->layout_type = layout_interleave;
|
vgmstream->layout_type = layout_interleave;
|
||||||
vgmstream->interleave_block_size = 0x02;
|
vgmstream->interleave_block_size = 0x02;
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
||||||
goto fail;
|
goto fail;
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
close_vgmstream(vgmstream);
|
close_vgmstream(vgmstream);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
/* WAVM - headerless format which can be found on XBOX */
|
/* WAVM - headerless format which can be found on XBOX */
|
||||||
VGMSTREAM * init_vgmstream_raw_wavm(STREAMFILE *streamFile) {
|
VGMSTREAM * init_vgmstream_raw_wavm(STREAMFILE *streamFile) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM * vgmstream = NULL;
|
||||||
off_t start_offset = 0;
|
off_t start_offset = 0;
|
||||||
int loop_flag, channel_count;
|
int loop_flag, channel_count;
|
||||||
|
|
||||||
/* check extension */
|
/* check extension */
|
||||||
if (!check_extensions(streamFile,"wavm"))
|
if (!check_extensions(streamFile,"wavm"))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
start_offset = 0;
|
start_offset = 0;
|
||||||
loop_flag = 0;
|
loop_flag = 0;
|
||||||
channel_count = 2;
|
channel_count = 2;
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
/* build the VGMSTREAM */
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
vgmstream->meta_type = meta_RAW_WAVM;
|
vgmstream->meta_type = meta_RAW_WAVM;
|
||||||
vgmstream->sample_rate = 44100;
|
vgmstream->sample_rate = 44100;
|
||||||
vgmstream->num_samples = xbox_ima_bytes_to_samples(get_streamfile_size(streamFile), vgmstream->channels);
|
vgmstream->num_samples = xbox_ima_bytes_to_samples(get_streamfile_size(streamFile), vgmstream->channels);
|
||||||
|
|
||||||
vgmstream->coding_type = coding_XBOX_IMA;
|
vgmstream->coding_type = coding_XBOX_IMA;
|
||||||
vgmstream->layout_type = layout_none;
|
vgmstream->layout_type = layout_none;
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream, streamFile, start_offset))
|
if (!vgmstream_open_stream(vgmstream, streamFile, start_offset))
|
||||||
goto fail;
|
goto fail;
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
close_vgmstream(vgmstream);
|
close_vgmstream(vgmstream);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,53 +1,54 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
|
|
||||||
|
|
||||||
/* .seb - Game Arts games [Grandia (PS1), Grandia II/III/X (PS2)] */
|
/* .seb - Game Arts games [Grandia (PS1), Grandia II/III/X (PS2)] */
|
||||||
VGMSTREAM * init_vgmstream_seb(STREAMFILE *streamFile) {
|
VGMSTREAM* init_vgmstream_seb(STREAMFILE* sf) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
int loop_flag, channel_count;
|
int loop_flag, channels;
|
||||||
|
|
||||||
|
|
||||||
/* checks */
|
/* checks */
|
||||||
/* .seb: found in Grandia II (PS2) .idx */
|
channels = read_32bitLE(0x00,sf);
|
||||||
/* .gms: fake? (.stz+idx bigfile without names, except in Grandia II) */
|
if (channels > 2)
|
||||||
if (!check_extensions(streamFile, "seb,gms,"))
|
return NULL;
|
||||||
goto fail;
|
// 0x08/0c: unknown count, possibly related to looping
|
||||||
|
|
||||||
channel_count = read_32bitLE(0x00,streamFile);
|
/* .seb: found in Grandia II (PS2) .idx */
|
||||||
if (channel_count > 2) goto fail; /* mono or stereo */
|
/* .gms: fake? (.stz+idx bigfile without names, except in Grandia II) */
|
||||||
/* 0x08/0c: unknown count, possibly related to looping */
|
if (!check_extensions(sf, "seb,gms,"))
|
||||||
|
return NULL;
|
||||||
start_offset = 0x800;
|
|
||||||
|
start_offset = 0x800;
|
||||||
if (read_32bitLE(0x10,streamFile) > get_streamfile_size(streamFile) || /* loop start offset */
|
|
||||||
read_32bitLE(0x18,streamFile) > get_streamfile_size(streamFile)) /* loop end offset */
|
if (read_u32le(0x10,sf) > get_streamfile_size(sf) || // loop start offset
|
||||||
goto fail;
|
read_u32le(0x18,sf) > get_streamfile_size(sf)) // loop end offset
|
||||||
/* in Grandia III sometimes there is a value at 0x24/34 */
|
return NULL;
|
||||||
|
/* in Grandia III sometimes there is a value at 0x24/34 */
|
||||||
loop_flag = (read_32bitLE(0x20,streamFile) == 0);
|
|
||||||
|
loop_flag = (read_s32le(0x20,sf) == 0);
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
/* build the VGMSTREAM */
|
||||||
if (!vgmstream) goto fail;
|
vgmstream = allocate_vgmstream(channels,loop_flag);
|
||||||
|
if (!vgmstream) goto fail;
|
||||||
vgmstream->meta_type = meta_SEB;
|
|
||||||
vgmstream->sample_rate = read_32bitLE(0x04,streamFile);
|
vgmstream->meta_type = meta_SEB;
|
||||||
|
vgmstream->sample_rate = read_s32le(0x04,sf);
|
||||||
vgmstream->num_samples = read_32bitLE(0x1c,streamFile);
|
|
||||||
vgmstream->loop_start_sample = read_32bitLE(0x14,streamFile);
|
vgmstream->num_samples = read_s32le(0x1c,sf);
|
||||||
vgmstream->loop_end_sample = read_32bitLE(0x1c,streamFile);
|
vgmstream->loop_start_sample = read_s32le(0x14,sf);
|
||||||
|
vgmstream->loop_end_sample = read_s32le(0x1c,sf);
|
||||||
vgmstream->coding_type = coding_PSX;
|
|
||||||
vgmstream->layout_type = layout_interleave;
|
vgmstream->coding_type = coding_PSX;
|
||||||
vgmstream->interleave_block_size = 0x800;
|
vgmstream->layout_type = layout_interleave;
|
||||||
|
vgmstream->interleave_block_size = 0x800;
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
|
||||||
goto fail;
|
if (!vgmstream_open_stream(vgmstream, sf, start_offset))
|
||||||
return vgmstream;
|
goto fail;
|
||||||
|
return vgmstream;
|
||||||
fail:
|
|
||||||
close_vgmstream(vgmstream);
|
fail:
|
||||||
return NULL;
|
close_vgmstream(vgmstream);
|
||||||
}
|
return NULL;
|
||||||
|
}
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
#include "meta.h"
|
|
||||||
#include "../coding/coding.h"
|
|
||||||
|
|
||||||
/* SMC+SMH - from Wangan Midnight 1/R (System246) */
|
|
||||||
VGMSTREAM * init_vgmstream_smc_smh(STREAMFILE *streamFile) {
|
|
||||||
VGMSTREAM * vgmstream = NULL;
|
|
||||||
STREAMFILE * streamHeader = NULL;
|
|
||||||
off_t start_offset, header_offset = 0;
|
|
||||||
size_t stream_size;
|
|
||||||
int loop_flag = 0, channel_count, sample_rate;
|
|
||||||
int total_subsongs, target_subsong = streamFile->stream_index;
|
|
||||||
|
|
||||||
|
|
||||||
/* checks */
|
|
||||||
if (!check_extensions(streamFile, "smc"))
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
streamHeader = open_streamfile_by_ext(streamFile, "smh");
|
|
||||||
if (!streamHeader) goto fail;
|
|
||||||
|
|
||||||
|
|
||||||
total_subsongs = read_32bitLE(0x00,streamHeader);
|
|
||||||
if (target_subsong == 0) target_subsong = 1;
|
|
||||||
if (target_subsong < 0 || target_subsong > total_subsongs || total_subsongs < 1) goto fail;
|
|
||||||
|
|
||||||
if (total_subsongs*0x10 + 0x10 != get_streamfile_size(streamHeader))
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
header_offset = 0x10 + (target_subsong-1)*0x10;
|
|
||||||
|
|
||||||
start_offset = read_32bitLE(header_offset+0x00, streamHeader);
|
|
||||||
stream_size = read_32bitLE(header_offset+0x04, streamHeader);
|
|
||||||
sample_rate = read_32bitLE(header_offset+0x08, streamHeader);
|
|
||||||
/* 0x0c(2): always 0x10, frame size? */
|
|
||||||
channel_count = read_16bitLE(header_offset+0x0e, streamHeader);
|
|
||||||
loop_flag = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
|
||||||
vgmstream = allocate_vgmstream(channel_count,loop_flag);
|
|
||||||
if (!vgmstream) goto fail;
|
|
||||||
|
|
||||||
vgmstream->sample_rate = sample_rate;
|
|
||||||
vgmstream->num_samples = ps_bytes_to_samples(stream_size,channel_count);
|
|
||||||
|
|
||||||
vgmstream->num_streams = total_subsongs;
|
|
||||||
vgmstream->stream_size = stream_size;
|
|
||||||
vgmstream->meta_type = meta_SMC_SMH;
|
|
||||||
|
|
||||||
vgmstream->coding_type = coding_PSX;
|
|
||||||
vgmstream->layout_type = layout_interleave;
|
|
||||||
vgmstream->interleave_block_size = read_32bitLE(0x04, streamHeader);
|
|
||||||
|
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
|
||||||
goto fail;
|
|
||||||
|
|
||||||
close_streamfile(streamHeader);
|
|
||||||
return vgmstream;
|
|
||||||
|
|
||||||
fail:
|
|
||||||
close_streamfile(streamHeader);
|
|
||||||
close_vgmstream(vgmstream);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
64
Frameworks/vgmstream/vgmstream/src/meta/smh_smc.c
Normal file
64
Frameworks/vgmstream/vgmstream/src/meta/smh_smc.c
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#include "meta.h"
|
||||||
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
|
/* SMH+SMC - from Wangan Midnight 1/R (System246) */
|
||||||
|
VGMSTREAM* init_vgmstream_smh_smc(STREAMFILE* sf) {
|
||||||
|
VGMSTREAM* vgmstream = NULL;
|
||||||
|
STREAMFILE* sb = NULL;
|
||||||
|
off_t start_offset, header_offset = 0;
|
||||||
|
size_t stream_size;
|
||||||
|
int loop_flag = 0, channels, sample_rate;
|
||||||
|
int total_subsongs, target_subsong = sf->stream_index;
|
||||||
|
|
||||||
|
|
||||||
|
/* checks */
|
||||||
|
if (!check_extensions(sf, "smh"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
total_subsongs = read_s32le(0x00,sf);
|
||||||
|
if (target_subsong == 0) target_subsong = 1;
|
||||||
|
if (target_subsong < 0 || target_subsong > total_subsongs || total_subsongs < 1) goto fail;
|
||||||
|
|
||||||
|
if (total_subsongs * 0x10 + 0x10 != get_streamfile_size(sf))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
sb = open_streamfile_by_ext(sf, "smc");
|
||||||
|
if (!sb) goto fail;
|
||||||
|
|
||||||
|
header_offset = 0x10 + (target_subsong - 1) * 0x10;
|
||||||
|
|
||||||
|
start_offset = read_u32le(header_offset+0x00, sf);
|
||||||
|
stream_size = read_u32le(header_offset+0x04, sf);
|
||||||
|
sample_rate = read_u32le(header_offset+0x08, sf);
|
||||||
|
// 0x0c(2): always 0x10, frame size?
|
||||||
|
channels = read_u16le(header_offset+0x0e, sf);
|
||||||
|
loop_flag = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/* build the VGMSTREAM */
|
||||||
|
vgmstream = allocate_vgmstream(channels, loop_flag);
|
||||||
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
|
vgmstream->sample_rate = sample_rate;
|
||||||
|
vgmstream->num_samples = ps_bytes_to_samples(stream_size, channels);
|
||||||
|
|
||||||
|
vgmstream->num_streams = total_subsongs;
|
||||||
|
vgmstream->stream_size = stream_size;
|
||||||
|
vgmstream->meta_type = meta_SMC_SMH;
|
||||||
|
|
||||||
|
vgmstream->coding_type = coding_PSX;
|
||||||
|
vgmstream->layout_type = layout_interleave;
|
||||||
|
vgmstream->interleave_block_size = read_32bitLE(0x04, sf);
|
||||||
|
|
||||||
|
|
||||||
|
if (!vgmstream_open_stream(vgmstream, sb, start_offset))
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
close_streamfile(sb);
|
||||||
|
return vgmstream;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
close_streamfile(sb);
|
||||||
|
close_vgmstream(vgmstream);
|
||||||
|
return NULL;
|
||||||
|
}
|
124
Frameworks/vgmstream/vgmstream/src/meta/srcd.c
Normal file
124
Frameworks/vgmstream/vgmstream/src/meta/srcd.c
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
#include "meta.h"
|
||||||
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
|
/* srcd - Capcom RE Engine */
|
||||||
|
VGMSTREAM* init_vgmstream_srcd(STREAMFILE* sf) {
|
||||||
|
VGMSTREAM* vgmstream = NULL;
|
||||||
|
STREAMFILE* subfile = NULL;
|
||||||
|
off_t start_offset = 0;
|
||||||
|
int loop_flag = 0;
|
||||||
|
int32_t loop_start_sample = 0, loop_end_sample = 0;
|
||||||
|
uint32_t container_type;
|
||||||
|
const char* extension = NULL;
|
||||||
|
VGMSTREAM* (*init_vgmstream_function)(STREAMFILE*) = NULL;
|
||||||
|
|
||||||
|
if (!is_id32be(0x00, sf, "srcd"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!check_extensions(sf, "srcd,asrc,14,21,26,31"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
{
|
||||||
|
enum versions { VERSION_31, VERSION_21_26, VERSION_14, VERSION_UNKNOWN };
|
||||||
|
enum versions ver = VERSION_UNKNOWN;
|
||||||
|
|
||||||
|
//v31 - AJ_AAT
|
||||||
|
if (read_u32le(0x18, sf) > 0x02) {
|
||||||
|
ver = VERSION_31;
|
||||||
|
}
|
||||||
|
//v21 - CAS2
|
||||||
|
else if (read_u32le(0x41, sf) == 0x49) {
|
||||||
|
ver = VERSION_21_26;
|
||||||
|
}
|
||||||
|
//v26 - GTPD
|
||||||
|
else if (read_u32le(0x46, sf) == 0x4E) {
|
||||||
|
ver = VERSION_21_26;
|
||||||
|
}
|
||||||
|
//v14 - CAS
|
||||||
|
else if (read_u8(0x3A, sf) == 0x42) {
|
||||||
|
ver = VERSION_14;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (ver) {
|
||||||
|
case VERSION_31:
|
||||||
|
loop_flag = read_u8(0x34, sf);
|
||||||
|
loop_start_sample = read_u32le(0x35, sf);
|
||||||
|
loop_end_sample = read_u32le(0x39, sf);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VERSION_21_26:
|
||||||
|
loop_flag = read_u8(0x2C, sf);
|
||||||
|
loop_start_sample = read_u32le(0x2D, sf);
|
||||||
|
loop_end_sample = read_u32le(0x31, sf);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VERSION_14:
|
||||||
|
loop_flag = read_u8(0x28, sf);
|
||||||
|
loop_start_sample = read_u32le(0x29, sf);
|
||||||
|
loop_end_sample = read_u32le(0x2D, sf);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
VGM_LOG("SRCD: Unknown version, disabling loop\n");
|
||||||
|
loop_flag = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
container_type = read_u32be(0x0C, sf);
|
||||||
|
{
|
||||||
|
const off_t scan_start = 0x40;
|
||||||
|
const size_t scan_size = 0x100; //Should be small
|
||||||
|
off_t current_offset;
|
||||||
|
uint32_t magic_to_find = 0;
|
||||||
|
|
||||||
|
if (container_type == get_id32be("wav ")) {
|
||||||
|
magic_to_find = get_id32be("RIFF");
|
||||||
|
} else if (container_type == get_id32be("ogg ")) {
|
||||||
|
magic_to_find = get_id32be("OggS");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (magic_to_find) {
|
||||||
|
for (current_offset = scan_start; current_offset < scan_start + scan_size; current_offset++) {
|
||||||
|
if (read_u32be(current_offset, sf) == magic_to_find) {
|
||||||
|
start_offset = current_offset;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (start_offset == 0)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
|
||||||
|
/* Select the appropriate init function and extension based on container type */
|
||||||
|
if (container_type == get_id32be("wav ")) {
|
||||||
|
extension = "wav";
|
||||||
|
init_vgmstream_function = init_vgmstream_riff;
|
||||||
|
} else if (container_type == get_id32be("ogg ")) {
|
||||||
|
extension = "ogg";
|
||||||
|
init_vgmstream_function = init_vgmstream_ogg_vorbis;
|
||||||
|
} else {
|
||||||
|
VGM_LOG("SRCD: Codec not recognized");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
subfile = setup_subfile_streamfile(sf, start_offset, get_streamfile_size(sf) - start_offset, extension);
|
||||||
|
if (!subfile) goto fail;
|
||||||
|
|
||||||
|
vgmstream = init_vgmstream_function(subfile);
|
||||||
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
|
vgmstream->meta_type = meta_SRCD;
|
||||||
|
|
||||||
|
vgmstream_force_loop(vgmstream, loop_flag, loop_start_sample, loop_end_sample);
|
||||||
|
|
||||||
|
close_streamfile(subfile);
|
||||||
|
return vgmstream;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
close_streamfile(subfile);
|
||||||
|
close_vgmstream(vgmstream);
|
||||||
|
return NULL;
|
||||||
|
}
|
|
@ -1,55 +1,55 @@
|
||||||
#include "meta.h"
|
#include "meta.h"
|
||||||
#include "../coding/coding.h"
|
#include "../coding/coding.h"
|
||||||
|
|
||||||
/* WV6 - Gorilla Systems PC games [Spy Kids: Mega Mission Zone (PC), Lilo & Stitch: Hawaiian Adventure (PC)] */
|
/* WV6 - Gorilla Systems PC games [Spy Kids: Mega Mission Zone (PC), Lilo & Stitch: Hawaiian Adventure (PC)] */
|
||||||
VGMSTREAM * init_vgmstream_wv6(STREAMFILE *streamFile) {
|
VGMSTREAM* init_vgmstream_wv6(STREAMFILE* sf) {
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM* vgmstream = NULL;
|
||||||
off_t start_offset;
|
off_t start_offset;
|
||||||
int loop_flag, channel_count;
|
int loop_flag, channels;
|
||||||
|
|
||||||
|
|
||||||
/* checks */
|
/* checks */
|
||||||
if (!check_extensions(streamFile, "wv6"))
|
if (read_u32le(0x00,sf) != get_streamfile_size(sf))
|
||||||
goto fail;
|
return NULL;
|
||||||
|
// 04: filename
|
||||||
if (read_32bitLE(0x00,streamFile) != get_streamfile_size(streamFile))
|
if (!is_id32be(0x2c,sf, "WV6 ") || !is_id32be(0x30,sf, "IMA_")) // "WV6 IMA_ADPCM COMPRESSED 16 BIT AUDIO"
|
||||||
goto fail;
|
return NULL;
|
||||||
if (read_32bitBE(0x2c,streamFile) != 0x57563620 || /* "WV6 " */
|
|
||||||
read_32bitBE(0x30,streamFile) != 0x494D415F) /* "IMA_" ("WV6 IMA_ADPCM COMPRESSED 16 BIT AUDIO") */
|
if (!check_extensions(sf, "wv6"))
|
||||||
goto fail;
|
return NULL;
|
||||||
|
|
||||||
/* 0x54/58/5c/60/6c: unknown (reject to catch possible stereo files, but don't seem to exist) */
|
// 0x54/58/5c/60/6c: unknown (reject to catch possible stereo files, but don't seem to exist)
|
||||||
if (read_32bitLE(0x54,streamFile) != 0x01 ||
|
if (read_s32le(0x54,sf) != 0x01 ||
|
||||||
read_32bitLE(0x58,streamFile) != 0x01 ||
|
read_s32le(0x58,sf) != 0x01 ||
|
||||||
read_32bitLE(0x5c,streamFile) != 0x10 ||
|
read_s32le(0x5c,sf) != 0x10 ||
|
||||||
read_32bitLE(0x68,streamFile) != 0x01 ||
|
read_s32le(0x68,sf) != 0x01 ||
|
||||||
read_32bitLE(0x6c,streamFile) != 0x88)
|
read_s32le(0x6c,sf) != 0x88)
|
||||||
goto fail;
|
return NULL;
|
||||||
/* 0x64: PCM size (samples*channels*2) */
|
// 0x64: PCM size (samples * channels * 2)
|
||||||
|
|
||||||
channel_count = 1;
|
channels = 1;
|
||||||
loop_flag = 0;
|
loop_flag = 0;
|
||||||
start_offset = 0x8c;
|
start_offset = 0x8c;
|
||||||
|
|
||||||
|
|
||||||
/* build the VGMSTREAM */
|
/* build the VGMSTREAM */
|
||||||
vgmstream = allocate_vgmstream(channel_count, loop_flag);
|
vgmstream = allocate_vgmstream(channels, loop_flag);
|
||||||
if (!vgmstream) goto fail;
|
if (!vgmstream) goto fail;
|
||||||
|
|
||||||
vgmstream->sample_rate = read_32bitLE(0x60, streamFile);
|
vgmstream->sample_rate = read_s32le(0x60, sf);
|
||||||
vgmstream->num_samples = ima_bytes_to_samples(read_32bitLE(0x88,streamFile), channel_count);
|
vgmstream->num_samples = ima_bytes_to_samples(read_u32le(0x88,sf), channels);
|
||||||
|
|
||||||
vgmstream->meta_type = meta_WV6;
|
vgmstream->meta_type = meta_WV6;
|
||||||
vgmstream->coding_type = coding_WV6_IMA;
|
vgmstream->coding_type = coding_WV6_IMA;
|
||||||
vgmstream->layout_type = layout_none;
|
vgmstream->layout_type = layout_none;
|
||||||
|
|
||||||
read_string(vgmstream->stream_name,0x1c+1, 0x04,streamFile);
|
read_string(vgmstream->stream_name, 0x1c + 1, 0x04,sf);
|
||||||
|
|
||||||
if (!vgmstream_open_stream(vgmstream,streamFile,start_offset))
|
if (!vgmstream_open_stream(vgmstream,sf,start_offset))
|
||||||
goto fail;
|
goto fail;
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
close_vgmstream(vgmstream);
|
close_vgmstream(vgmstream);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ enum {
|
||||||
VGMSTREAM_MAX_CHANNELS = 64, /* +40ch multilayers */
|
VGMSTREAM_MAX_CHANNELS = 64, /* +40ch multilayers */
|
||||||
VGMSTREAM_MIN_SAMPLE_RATE = 300, /* 300 is Wwise min */
|
VGMSTREAM_MIN_SAMPLE_RATE = 300, /* 300 is Wwise min */
|
||||||
VGMSTREAM_MAX_SAMPLE_RATE = 192000, /* found in some FSB5 */
|
VGMSTREAM_MAX_SAMPLE_RATE = 192000, /* found in some FSB5 */
|
||||||
VGMSTREAM_MAX_SUBSONGS = 65535, /* +20000 isn't that uncommon */
|
VGMSTREAM_MAX_SUBSONGS = 90000, /* +20000 isn't that uncommon, known max is 89734 in EA NHL 14 sbs+sbr */
|
||||||
VGMSTREAM_MAX_NUM_SAMPLES = 1000000000, /* no ~5h vgm hopefully */
|
VGMSTREAM_MAX_NUM_SAMPLES = 1000000000, /* no ~5h vgm hopefully */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -317,7 +317,6 @@ init_vgmstream_t init_vgmstream_functions[] = {
|
||||||
init_vgmstream_ubi_lyn_container,
|
init_vgmstream_ubi_lyn_container,
|
||||||
init_vgmstream_msb_msh,
|
init_vgmstream_msb_msh,
|
||||||
init_vgmstream_txtp,
|
init_vgmstream_txtp,
|
||||||
init_vgmstream_smc_smh,
|
|
||||||
init_vgmstream_ppst,
|
init_vgmstream_ppst,
|
||||||
init_vgmstream_sps_n1_segmented,
|
init_vgmstream_sps_n1_segmented,
|
||||||
init_vgmstream_ubi_bao_pk,
|
init_vgmstream_ubi_bao_pk,
|
||||||
|
@ -330,7 +329,6 @@ init_vgmstream_t init_vgmstream_functions[] = {
|
||||||
init_vgmstream_xmd,
|
init_vgmstream_xmd,
|
||||||
init_vgmstream_cks,
|
init_vgmstream_cks,
|
||||||
init_vgmstream_ckb,
|
init_vgmstream_ckb,
|
||||||
init_vgmstream_wv6,
|
|
||||||
init_vgmstream_str_wav,
|
init_vgmstream_str_wav,
|
||||||
init_vgmstream_wavebatch,
|
init_vgmstream_wavebatch,
|
||||||
init_vgmstream_hd3_bd3,
|
init_vgmstream_hd3_bd3,
|
||||||
|
@ -368,8 +366,6 @@ init_vgmstream_t init_vgmstream_functions[] = {
|
||||||
init_vgmstream_dsp_adpx,
|
init_vgmstream_dsp_adpx,
|
||||||
init_vgmstream_ogg_opus,
|
init_vgmstream_ogg_opus,
|
||||||
init_vgmstream_nus3audio,
|
init_vgmstream_nus3audio,
|
||||||
init_vgmstream_imc,
|
|
||||||
init_vgmstream_imc_container,
|
|
||||||
init_vgmstream_smp,
|
init_vgmstream_smp,
|
||||||
init_vgmstream_gin,
|
init_vgmstream_gin,
|
||||||
init_vgmstream_dsf,
|
init_vgmstream_dsf,
|
||||||
|
@ -512,6 +508,8 @@ init_vgmstream_t init_vgmstream_functions[] = {
|
||||||
init_vgmstream_audiopkg,
|
init_vgmstream_audiopkg,
|
||||||
init_vgmstream_swar,
|
init_vgmstream_swar,
|
||||||
init_vgmstream_ivb,
|
init_vgmstream_ivb,
|
||||||
|
init_vgmstream_srcd,
|
||||||
|
init_vgmstream_mhwk,
|
||||||
|
|
||||||
/* lower priority metas (no clean header identity, somewhat ambiguous, or need extension/companion file to identify) */
|
/* lower priority metas (no clean header identity, somewhat ambiguous, or need extension/companion file to identify) */
|
||||||
init_vgmstream_agsc,
|
init_vgmstream_agsc,
|
||||||
|
@ -539,6 +537,10 @@ init_vgmstream_t init_vgmstream_functions[] = {
|
||||||
init_vgmstream_vai,
|
init_vgmstream_vai,
|
||||||
init_vgmstream_ezw,
|
init_vgmstream_ezw,
|
||||||
init_vgmstream_vgs_old,
|
init_vgmstream_vgs_old,
|
||||||
|
init_vgmstream_imc,
|
||||||
|
init_vgmstream_imc_container,
|
||||||
|
init_vgmstream_wv6,
|
||||||
|
init_vgmstream_smh_smc,
|
||||||
/* need companion files */
|
/* need companion files */
|
||||||
init_vgmstream_pos,
|
init_vgmstream_pos,
|
||||||
init_vgmstream_sli_loops,
|
init_vgmstream_sli_loops,
|
||||||
|
|
|
@ -496,7 +496,7 @@ typedef enum {
|
||||||
meta_LSF_N1NJ4N, /* .lsf n1nj4n Fastlane Street Racing (iPhone) */
|
meta_LSF_N1NJ4N, /* .lsf n1nj4n Fastlane Street Racing (iPhone) */
|
||||||
meta_XWAV,
|
meta_XWAV,
|
||||||
meta_RAW_SNDS,
|
meta_RAW_SNDS,
|
||||||
meta_HYPERSCAN_KVAG, /* Hyperscan KVAG/BVG */
|
meta_KVAG,
|
||||||
meta_PSND,
|
meta_PSND,
|
||||||
meta_ADP_WILDFIRE,
|
meta_ADP_WILDFIRE,
|
||||||
meta_QD_ADP,
|
meta_QD_ADP,
|
||||||
|
@ -721,6 +721,8 @@ typedef enum {
|
||||||
meta_AUDIOPKG,
|
meta_AUDIOPKG,
|
||||||
meta_SWAR,
|
meta_SWAR,
|
||||||
meta_IVB,
|
meta_IVB,
|
||||||
|
meta_SRCD,
|
||||||
|
meta_MHWK
|
||||||
} meta_t;
|
} meta_t;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -295,7 +295,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83DE0C00180A9BD400269051 /* Build configuration list for PBXProject "vio2sf" */;
|
buildConfigurationList = 83DE0C00180A9BD400269051 /* Build configuration list for PBXProject "vio2sf" */;
|
||||||
|
@ -428,6 +428,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -480,6 +481,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -656,6 +656,7 @@
|
||||||
<string>mds</string>
|
<string>mds</string>
|
||||||
<string>mdsp</string>
|
<string>mdsp</string>
|
||||||
<string>med</string>
|
<string>med</string>
|
||||||
|
<string>mhwk</string>
|
||||||
<string>mjb</string>
|
<string>mjb</string>
|
||||||
<string>mi4</string>
|
<string>mi4</string>
|
||||||
<string>mib</string>
|
<string>mib</string>
|
||||||
|
@ -829,7 +830,7 @@
|
||||||
<string>skx</string>
|
<string>skx</string>
|
||||||
<string>slb</string>
|
<string>slb</string>
|
||||||
<string>sli</string>
|
<string>sli</string>
|
||||||
<string>smc</string>
|
<string>smh</string>
|
||||||
<string>smk</string>
|
<string>smk</string>
|
||||||
<string>smp</string>
|
<string>smp</string>
|
||||||
<string>smv</string>
|
<string>smv</string>
|
||||||
|
@ -851,6 +852,7 @@
|
||||||
<string>spsd</string>
|
<string>spsd</string>
|
||||||
<string>spw</string>
|
<string>spw</string>
|
||||||
<string>srsa</string>
|
<string>srsa</string>
|
||||||
|
<string>srcd</string>
|
||||||
<string>ss2</string>
|
<string>ss2</string>
|
||||||
<string>ssd</string>
|
<string>ssd</string>
|
||||||
<string>ssf</string>
|
<string>ssf</string>
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "APL" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "APL" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -242,6 +242,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -287,6 +288,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 83D3C5EE201C674D005564CB /* Build configuration list for PBXProject "AdPlug" */;
|
buildConfigurationList = 83D3C5EE201C674D005564CB /* Build configuration list for PBXProject "AdPlug" */;
|
||||||
|
@ -315,6 +315,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -370,6 +371,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -189,7 +189,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8359FF1217FEF35C0060F3ED /* Build configuration list for PBXProject "ArchiveSource" */;
|
buildConfigurationList = 8359FF1217FEF35C0060F3ED /* Build configuration list for PBXProject "ArchiveSource" */;
|
||||||
|
@ -330,6 +330,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -382,6 +383,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "CoreAudio" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "CoreAudio" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -285,6 +285,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -330,6 +331,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -190,7 +190,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "CueSheet" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "CueSheet" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -339,6 +339,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -384,6 +385,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -245,7 +245,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "FFMPEG" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "FFMPEG" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -376,6 +376,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -425,6 +426,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -184,7 +184,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "FileSource" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "FileSource" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -332,6 +332,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -377,6 +378,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
17C93F080B8FF67A008627D6 /* FlacDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C93F040B8FF67A008627D6 /* FlacDecoder.m */; };
|
17C93F080B8FF67A008627D6 /* FlacDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C93F040B8FF67A008627D6 /* FlacDecoder.m */; };
|
||||||
8301C147287805F500651A6E /* NSDictionary+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = 8301C146287805F500651A6E /* NSDictionary+Merge.m */; };
|
8301C147287805F500651A6E /* NSDictionary+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = 8301C146287805F500651A6E /* NSDictionary+Merge.m */; };
|
||||||
834D18FE2D7F949900F13B89 /* CogAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 834D18FD2D7F949900F13B89 /* CogAudio.framework */; };
|
834D18FE2D7F949900F13B89 /* CogAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 834D18FD2D7F949900F13B89 /* CogAudio.framework */; };
|
||||||
836EF0DA27BB970B00BF35B2 /* libFLAC.12.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 836EF0D927BB970B00BF35B2 /* libFLAC.12.dylib */; };
|
836EF0DA27BB970B00BF35B2 /* libFLAC.14.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 836EF0D927BB970B00BF35B2 /* libFLAC.14.dylib */; };
|
||||||
83AA660B27B7DAE40098D4B8 /* cuesheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 83AA660A27B7DAE40098D4B8 /* cuesheet.m */; };
|
83AA660B27B7DAE40098D4B8 /* cuesheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 83AA660A27B7DAE40098D4B8 /* cuesheet.m */; };
|
||||||
8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
|
8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
834A42B4287AF7AA00EB9D9B /* AudioChunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioChunk.h; path = ../../Audio/Chain/AudioChunk.h; sourceTree = "<group>"; };
|
834A42B4287AF7AA00EB9D9B /* AudioChunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioChunk.h; path = ../../Audio/Chain/AudioChunk.h; sourceTree = "<group>"; };
|
||||||
834D18FD2D7F949900F13B89 /* CogAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CogAudio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
834D18FD2D7F949900F13B89 /* CogAudio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CogAudio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
8356BD1927B3CCBB0074E50C /* HTTPSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPSource.h; path = ../HTTPSource/HTTPSource.h; sourceTree = "<group>"; };
|
8356BD1927B3CCBB0074E50C /* HTTPSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPSource.h; path = ../HTTPSource/HTTPSource.h; sourceTree = "<group>"; };
|
||||||
836EF0D927BB970B00BF35B2 /* libFLAC.12.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libFLAC.12.dylib; path = ../../ThirdParty/flac/lib/libFLAC.12.dylib; sourceTree = "<group>"; };
|
836EF0D927BB970B00BF35B2 /* libFLAC.14.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libFLAC.14.dylib; path = ../../ThirdParty/flac/lib/libFLAC.14.dylib; sourceTree = "<group>"; };
|
||||||
83747C4A2862DCF40021245F /* Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Shared.xcconfig; sourceTree = "<group>"; };
|
83747C4A2862DCF40021245F /* Shared.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Shared.xcconfig; sourceTree = "<group>"; };
|
||||||
8384912D180816C900E7332D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = ../../Utils/Logging.h; sourceTree = "<group>"; };
|
8384912D180816C900E7332D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = ../../Utils/Logging.h; sourceTree = "<group>"; };
|
||||||
83AA660A27B7DAE40098D4B8 /* cuesheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cuesheet.m; sourceTree = "<group>"; };
|
83AA660A27B7DAE40098D4B8 /* cuesheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cuesheet.m; sourceTree = "<group>"; };
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
834D18FE2D7F949900F13B89 /* CogAudio.framework in Frameworks */,
|
834D18FE2D7F949900F13B89 /* CogAudio.framework in Frameworks */,
|
||||||
836EF0DA27BB970B00BF35B2 /* libFLAC.12.dylib in Frameworks */,
|
836EF0DA27BB970B00BF35B2 /* libFLAC.14.dylib in Frameworks */,
|
||||||
8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */,
|
8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
|
1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
836EF0D927BB970B00BF35B2 /* libFLAC.12.dylib */,
|
836EF0D927BB970B00BF35B2 /* libFLAC.14.dylib */,
|
||||||
1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
|
1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
|
||||||
);
|
);
|
||||||
name = "Linked Frameworks";
|
name = "Linked Frameworks";
|
||||||
|
@ -193,7 +193,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Flac" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Flac" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -334,6 +334,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -379,6 +380,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -337,6 +337,8 @@ void ErrorCallback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorS
|
||||||
FLAC__StreamDecoderInitStatus ret;
|
FLAC__StreamDecoderInitStatus ret;
|
||||||
|
|
||||||
if(isOggFlac) {
|
if(isOggFlac) {
|
||||||
|
FLAC__stream_decoder_set_decode_chained_stream(decoder, true);
|
||||||
|
|
||||||
ret = FLAC__stream_decoder_init_ogg_stream(decoder,
|
ret = FLAC__stream_decoder_init_ogg_stream(decoder,
|
||||||
ReadCallback,
|
ReadCallback,
|
||||||
([source seekable] ? SeekCallback : NULL),
|
([source seekable] ? SeekCallback : NULL),
|
||||||
|
@ -384,8 +386,13 @@ void ErrorCallback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorS
|
||||||
AudioChunk *chunk = nil;
|
AudioChunk *chunk = nil;
|
||||||
|
|
||||||
while (blockBufferFrames <= 0) {
|
while (blockBufferFrames <= 0) {
|
||||||
if(FLAC__stream_decoder_get_state(decoder) == FLAC__STREAM_DECODER_END_OF_STREAM) {
|
FLAC__StreamDecoderState state = FLAC__stream_decoder_get_state(decoder);
|
||||||
|
if(state == FLAC__STREAM_DECODER_END_OF_STREAM) {
|
||||||
return nil;
|
return nil;
|
||||||
|
} else if(state == FLAC__STREAM_DECODER_END_OF_LINK) {
|
||||||
|
if(!FLAC__stream_decoder_finish_link(decoder)) {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!FLAC__stream_decoder_process_single(decoder)) {
|
if(!FLAC__stream_decoder_process_single(decoder)) {
|
||||||
|
|
|
@ -232,7 +232,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "GME" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "GME" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -405,6 +405,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -451,6 +452,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
|
@ -183,7 +183,7 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = YES;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
LastUpgradeCheck = 1620;
|
LastUpgradeCheck = 2600;
|
||||||
};
|
};
|
||||||
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "HTTPSource" */;
|
buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "HTTPSource" */;
|
||||||
compatibilityVersion = "Xcode 12.0";
|
compatibilityVersion = "Xcode 12.0";
|
||||||
|
@ -314,6 +314,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -359,6 +360,7 @@
|
||||||
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
OTHER_CFLAGS = "-Wframe-larger-than=4000";
|
||||||
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
OTHER_CPLUSPLUSFLAGS = "-Wframe-larger-than=16000";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||||
SYMROOT = ../../build;
|
SYMROOT = ../../build;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1640"
|
LastUpgradeVersion = "2600"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue