diff --git a/.gitmodules b/.gitmodules index 0b60f9814..38a90984f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "Frameworks/libatrac9/libatrac9"] path = Frameworks/libatrac9/libatrac9 url = https://github.com/Thealexbarney/LibAtrac9.git +[submodule "Frameworks/Sparkle"] + path = Frameworks/Sparkle + url = https://g.losno.co/chris/Sparkle.git diff --git a/Audio/CogAudio.xcodeproj/project.pbxproj b/Audio/CogAudio.xcodeproj/project.pbxproj index 7c52103b5..e82d9a93f 100644 --- a/Audio/CogAudio.xcodeproj/project.pbxproj +++ b/Audio/CogAudio.xcodeproj/project.pbxproj @@ -365,8 +365,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -431,8 +431,11 @@ 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; @@ -448,6 +451,7 @@ OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cogaudio; PRODUCT_NAME = CogAudio; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WARNING_LDFLAGS = ""; @@ -459,7 +463,10 @@ 1DEB91AF08733DA50010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; @@ -473,6 +480,7 @@ OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cogaudio; PRODUCT_NAME = CogAudio; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WARNING_LDFLAGS = ""; @@ -514,7 +522,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../build; @@ -553,7 +561,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../build; }; diff --git a/Base.lproj/MainMenu.xib b/Base.lproj/MainMenu.xib index b0e7e5cb9..de98a07cd 100644 --- a/Base.lproj/MainMenu.xib +++ b/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -14,12 +14,12 @@ - + - + @@ -59,7 +59,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -160,7 +160,7 @@ - + @@ -180,7 +180,7 @@ - + @@ -196,7 +196,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -295,7 +295,7 @@ - + @@ -316,20 +316,18 @@ - + - - - + - - - - + + + + @@ -339,10 +337,8 @@ - + - - @@ -391,10 +387,8 @@ - + - - @@ -408,10 +402,8 @@ - + - - @@ -422,14 +414,12 @@ - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - - - + - + - + @@ -57,7 +57,6 @@ DQ - @@ -69,17 +68,16 @@ DQ - + - @@ -91,17 +89,16 @@ DQ - + - @@ -113,17 +110,16 @@ DQ - + - @@ -199,7 +192,6 @@ DQ - @@ -216,6 +208,7 @@ DQ + @@ -231,25 +224,25 @@ DQ - + - - + + - - + + - + @@ -262,7 +255,7 @@ DQ - + @@ -271,7 +264,7 @@ DQ - + @@ -293,6 +286,7 @@ DQ + diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index 682536ca7..527ddcd6b 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -172,8 +172,6 @@ 83849174180843B200E7332D /* stopDockBadgeColorful.png in Resources */ = {isa = PBXBuildFile; fileRef = 83849171180843B200E7332D /* stopDockBadgeColorful.png */; }; 838491871808591F00E7332D /* NDHotKey.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8384917E1808585D00E7332D /* NDHotKey.framework */; }; 838491881808593200E7332D /* NDHotKey.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8384917E1808585D00E7332D /* NDHotKey.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 8398033A240B4AED003C54FA /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83980339240B4AED003C54FA /* Sparkle.framework */; }; - 8398033B240B4B0C003C54FA /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83980339240B4AED003C54FA /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 8399D4E21805A55000B503B1 /* XmlContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8399D4E01805A55000B503B1 /* XmlContainer.m */; }; 83A360B220E4E81D00192DAB /* Flac.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8303A30C20E4E3D000951EF8 /* Flac.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 83B06704180D579E008E3612 /* MIDI.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83B066A1180D5669008E3612 /* MIDI.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; @@ -185,6 +183,7 @@ 83BC5AC320E4CE8D00631CD4 /* SpotlightPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 178456C00F6320B5007E8021 /* SpotlightPanel.xib */; }; 83BC5AC420E4CE9000631CD4 /* Feedback.xib in Resources */ = {isa = PBXBuildFile; fileRef = 17D1B1DA0F6330D400694C57 /* Feedback.xib */; }; 83BCB8DE17FC971300760340 /* FFMPEG.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = B09E94350D747F7B0064F138 /* FFMPEG.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83D0380F24A40DFB004CF90F /* CogAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 83D0380E24A40DF2004CF90F /* CogAssets.xcassets */; }; 83E5E54C18087CA5001F3284 /* miniModeOffTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 83E5E54A18087CA5001F3284 /* miniModeOffTemplate.pdf */; }; 83E5E54D18087CA5001F3284 /* miniModeOnTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 83E5E54B18087CA5001F3284 /* miniModeOnTemplate.pdf */; }; 83EEAB241C965C56002761C5 /* Syntrax.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EEAAFA1C9651D8002761C5 /* Syntrax.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -553,6 +552,90 @@ remoteGlobalIDString = 8D5B49B6048680CD000E48DA; remoteInfo = "Shorten Plugin"; }; + 83EC713424A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216; + remoteInfo = Sparkle; + }; + 83EC713624A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 61B5F90209C4CEE200B25A18; + remoteInfo = "Sparkle Test App"; + }; + 83EC713824A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 612279D90DB5470200AB99EA; + remoteInfo = "Sparkle Unit Tests"; + }; + 83EC713A24A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5D06E8D00FD68C7C005AE3F6; + remoteInfo = BinaryDelta; + }; + 83EC713C24A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 55C14BB7136EEF1500649790; + remoteInfo = Autoupdate; + }; + 83EC713E24A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 726B2B5D1C645FC900388755; + remoteInfo = "UI Tests"; + }; + 83EC714024A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 722954B41D04ADAF00ECF9CA; + remoteInfo = fileop; + }; + 83EC714224A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5AE13FB31E0D9E07000D2C2C; + remoteInfo = generate_appcast; + }; + 83EC714424A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5AB8F19F214DA72000A1187F; + remoteInfo = generate_keys; + }; + 83EC714624A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5A5ADED7214EDE4900DF0099; + remoteInfo = sign_update; + }; + 83EC714824A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EA4311EA229D651300A5503D; + remoteInfo = bsdiff; + }; + 83EC714A24A8773C00B807C1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EA4311A0229D5FBC00A5503D; + remoteInfo = ed25519; + }; 83EEAAF91C9651D8002761C5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83EEAAF51C9651D8002761C5 /* Syntrax.xcodeproj */; @@ -669,7 +752,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 8398033B240B4B0C003C54FA /* Sparkle.framework in CopyFiles */, 838491881808593200E7332D /* NDHotKey.framework in CopyFiles */, 17F561400C3BD4F30019975C /* CogAudio.framework in CopyFiles */, ); @@ -925,7 +1007,6 @@ 83849171180843B200E7332D /* stopDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopDockBadgeColorful.png; path = Images/stopDockBadgeColorful.png; sourceTree = ""; }; 838491791808585C00E7332D /* NDHotKey.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NDHotKey.xcodeproj; path = Frameworks/NDHotKey/NDHotKey.xcodeproj; sourceTree = ""; }; 83859520234FEB35004E9946 /* Cog.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Cog.entitlements; sourceTree = ""; }; - 83980339240B4AED003C54FA /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = ThirdParty/Sparkle/Sparkle.framework; sourceTree = ""; }; 8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = ""; }; 8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = ""; }; 83AB9031237CEFD300A433D5 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; @@ -950,10 +1031,12 @@ 83BC5AD820E4D0D900631CD4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/SpotlightPanel.strings; sourceTree = ""; }; 83BC5ADA20E4D0E900631CD4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Feedback.strings; sourceTree = ""; }; 83BC5ADC20E4D0EC00631CD4 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Feedback.strings; sourceTree = ""; }; + 83D0380E24A40DF2004CF90F /* CogAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = CogAssets.xcassets; sourceTree = ""; }; 83D3C5FC201C674D005564CB /* AdPlug.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AdPlug.xcodeproj; path = Plugins/AdPlug/AdPlug.xcodeproj; sourceTree = ""; }; 83E5E54A18087CA5001F3284 /* miniModeOffTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = miniModeOffTemplate.pdf; path = Images/miniModeOffTemplate.pdf; sourceTree = ""; }; 83E5E54B18087CA5001F3284 /* miniModeOnTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = miniModeOnTemplate.pdf; path = Images/miniModeOnTemplate.pdf; sourceTree = ""; }; 83E5EFAC1FFEF78100659F0F /* OpenMPT.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OpenMPT.xcodeproj; path = Plugins/OpenMPT/OpenMPT.xcodeproj; sourceTree = ""; }; + 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sparkle.xcodeproj; path = Frameworks/Sparkle/Sparkle.xcodeproj; sourceTree = ""; }; 83EEAAF51C9651D8002761C5 /* Syntrax.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Syntrax.xcodeproj; path = Plugins/Syntrax/Syntrax.xcodeproj; sourceTree = ""; }; 83F9D7F11A884B44007ABEC2 /* SilenceDecoder.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SilenceDecoder.xcodeproj; path = Plugins/SilenceDecoder/SilenceDecoder.xcodeproj; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; @@ -994,7 +1077,6 @@ 17BB5CED0B8A86010009ACB1 /* AudioToolbox.framework in Frameworks */, 17BB5CF90B8A86350009ACB1 /* AudioUnit.framework in Frameworks */, 17BB5CFA0B8A86350009ACB1 /* CoreAudio.framework in Frameworks */, - 8398033A240B4AED003C54FA /* Sparkle.framework in Frameworks */, 17BB5CFB0B8A86350009ACB1 /* CoreAudioKit.framework in Frameworks */, 17BB5EA60B8A87850009ACB1 /* IOKit.framework in Frameworks */, ); @@ -1035,6 +1117,7 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( + 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */, 838491791808585C00E7332D /* NDHotKey.xcodeproj */, 17F5612A0C3BD4DC0019975C /* CogAudio.xcodeproj */, 170680620B950158006BA573 /* Growl.framework */, @@ -1047,7 +1130,6 @@ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( - 83980339240B4AED003C54FA /* Sparkle.framework */, 17BB5EA50B8A87850009ACB1 /* IOKit.framework */, 17BB5CF60B8A86350009ACB1 /* AudioUnit.framework */, 17BB5CF70B8A86350009ACB1 /* CoreAudio.framework */, @@ -1426,6 +1508,7 @@ 29B97314FDCFA39411CA2CEA /* Cog */ = { isa = PBXGroup; children = ( + 83D0380E24A40DF2004CF90F /* CogAssets.xcassets */, 83859520234FEB35004E9946 /* Cog.entitlements */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97315FDCFA39411CA2CEA /* Other Sources */, @@ -1668,6 +1751,25 @@ name = Products; sourceTree = ""; }; + 83EC712324A8773C00B807C1 /* Products */ = { + isa = PBXGroup; + children = ( + 83EC713524A8773C00B807C1 /* Sparkle.framework */, + 83EC713724A8773C00B807C1 /* Sparkle Test App.app */, + 83EC713924A8773C00B807C1 /* Sparkle Unit Tests.xctest */, + 83EC713B24A8773C00B807C1 /* BinaryDelta */, + 83EC713D24A8773C00B807C1 /* Autoupdate.app */, + 83EC713F24A8773C00B807C1 /* UI Tests.xctest */, + 83EC714124A8773C00B807C1 /* fileop */, + 83EC714324A8773C00B807C1 /* generate_appcast */, + 83EC714524A8773C00B807C1 /* generate_keys */, + 83EC714724A8773C00B807C1 /* sign_update */, + 83EC714924A8773C00B807C1 /* libbsdiff.a */, + 83EC714B24A8773C00B807C1 /* libed25519.a */, + ); + name = Products; + sourceTree = ""; + }; 83EEAAF61C9651D8002761C5 /* Products */ = { isa = PBXGroup; children = ( @@ -1968,6 +2070,10 @@ ProductGroup = 83F9D7F21A884B44007ABEC2 /* Products */; ProjectRef = 83F9D7F11A884B44007ABEC2 /* SilenceDecoder.xcodeproj */; }, + { + ProductGroup = 83EC712324A8773C00B807C1 /* Products */; + ProjectRef = 83EC712224A8773C00B807C1 /* Sparkle.xcodeproj */; + }, { ProductGroup = 83EEAAF61C9651D8002761C5 /* Products */; ProjectRef = 83EEAAF51C9651D8002761C5 /* Syntrax.xcodeproj */; @@ -2165,6 +2271,90 @@ remoteRef = 83CA5B0220E4E395003E463A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 83EC713524A8773C00B807C1 /* Sparkle.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Sparkle.framework; + remoteRef = 83EC713424A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC713724A8773C00B807C1 /* Sparkle Test App.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = "Sparkle Test App.app"; + remoteRef = 83EC713624A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC713924A8773C00B807C1 /* Sparkle Unit Tests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = "Sparkle Unit Tests.xctest"; + remoteRef = 83EC713824A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC713B24A8773C00B807C1 /* BinaryDelta */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = BinaryDelta; + remoteRef = 83EC713A24A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC713D24A8773C00B807C1 /* Autoupdate.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = Autoupdate.app; + remoteRef = 83EC713C24A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC713F24A8773C00B807C1 /* UI Tests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = "UI Tests.xctest"; + remoteRef = 83EC713E24A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714124A8773C00B807C1 /* fileop */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = fileop; + remoteRef = 83EC714024A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714324A8773C00B807C1 /* generate_appcast */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = generate_appcast; + remoteRef = 83EC714224A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714524A8773C00B807C1 /* generate_keys */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = generate_keys; + remoteRef = 83EC714424A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714724A8773C00B807C1 /* sign_update */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = sign_update; + remoteRef = 83EC714624A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714924A8773C00B807C1 /* libbsdiff.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libbsdiff.a; + remoteRef = 83EC714824A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 83EC714B24A8773C00B807C1 /* libed25519.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libed25519.a; + remoteRef = 83EC714A24A8773C00B807C1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 83EEAAFA1C9651D8002761C5 /* Syntrax.bundle */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; @@ -2269,6 +2459,7 @@ 8384913C1808217300E7332D /* randomize.png in Resources */, 8384915A18083EAB00E7332D /* missingArt@2x.png in Resources */, 17D1B27E0CF8B2830028F5B5 /* it.icns in Resources */, + 83D0380F24A40DFB004CF90F /* CogAssets.xcassets in Resources */, 8384914018083E4E00E7332D /* filetype.icns in Resources */, 8384916918083EAB00E7332D /* shuffleOnTemplate.pdf in Resources */, 17D1B27F0CF8B2830028F5B5 /* pls.icns in Resources */, @@ -2307,7 +2498,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PROJECT_DIR}/Scripts/genversion.sh\"\nif [ \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" != \"\" ]; then codesign --verbose --force --deep -o runtime --sign \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/AutoUpdate.app\"; fi\n"; + shellScript = "\"${PROJECT_DIR}/Scripts/genversion.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -2641,6 +2832,8 @@ C01FCF4B08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color"; CODE_SIGN_ENTITLEMENTS = Cog.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; @@ -2659,7 +2852,7 @@ INSTALL_PATH = "$(HOME)/Applications"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-D__MACOSX__", "-DHAVE_CONFIG_H", @@ -2686,6 +2879,8 @@ C01FCF4C08A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "Cog color"; CODE_SIGN_ENTITLEMENTS = Cog.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; @@ -2701,7 +2896,7 @@ INSTALL_PATH = "$(HOME)/Applications"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ( "-D__MACOSX__", "-DHAVE_CONFIG_H", diff --git a/CogAssets.xcassets/AppIcon.appiconset/1024.png b/CogAssets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 000000000..69a2618a8 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/128.png b/CogAssets.xcassets/AppIcon.appiconset/128.png new file mode 100644 index 000000000..9d34fd125 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/128.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/16.png b/CogAssets.xcassets/AppIcon.appiconset/16.png new file mode 100644 index 000000000..58fa837bf Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/16.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/256-1.png b/CogAssets.xcassets/AppIcon.appiconset/256-1.png new file mode 100644 index 000000000..49d4be4ec Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/256-1.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/256.png b/CogAssets.xcassets/AppIcon.appiconset/256.png new file mode 100644 index 000000000..49d4be4ec Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/256.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/32-1.png b/CogAssets.xcassets/AppIcon.appiconset/32-1.png new file mode 100644 index 000000000..691390ee3 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/32-1.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/32.png b/CogAssets.xcassets/AppIcon.appiconset/32.png new file mode 100644 index 000000000..691390ee3 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/32.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/64.png b/CogAssets.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 000000000..42f54d80a Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/64.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/Contents.json b/CogAssets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..e902313ce --- /dev/null +++ b/CogAssets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "filename" : "16.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "32.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "32-1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "64.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "128.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "256.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "256-1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "orig.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "orig-1.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "1024.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CogAssets.xcassets/AppIcon.appiconset/orig-1.png b/CogAssets.xcassets/AppIcon.appiconset/orig-1.png new file mode 100644 index 000000000..7ae924ba8 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/orig-1.png differ diff --git a/CogAssets.xcassets/AppIcon.appiconset/orig.png b/CogAssets.xcassets/AppIcon.appiconset/orig.png new file mode 100644 index 000000000..7ae924ba8 Binary files /dev/null and b/CogAssets.xcassets/AppIcon.appiconset/orig.png differ diff --git a/CogAssets.xcassets/Cog color.colorset/Contents.json b/CogAssets.xcassets/Cog color.colorset/Contents.json new file mode 100644 index 000000000..72876fdc4 --- /dev/null +++ b/CogAssets.xcassets/Cog color.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.003", + "green" : "0.620", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.003", + "green" : "0.620", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CogAssets.xcassets/Contents.json b/CogAssets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/CogAssets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CogAssets.xcassets/sf.arrow.right.symbolset/Contents.json b/CogAssets.xcassets/sf.arrow.right.symbolset/Contents.json new file mode 100644 index 000000000..872a56c89 --- /dev/null +++ b/CogAssets.xcassets/sf.arrow.right.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "sf.arrow.right.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.arrow.right.symbolset/sf.arrow.right.svg b/CogAssets.xcassets/sf.arrow.right.symbolset/sf.arrow.right.svg new file mode 100644 index 000000000..f470610b8 --- /dev/null +++ b/CogAssets.xcassets/sf.arrow.right.symbolset/sf.arrow.right.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from arrow.right + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/Contents.json b/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/Contents.json new file mode 100644 index 000000000..a257e7ac1 --- /dev/null +++ b/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "sf.arrow.turn.up.right.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/sf.arrow.turn.up.right.svg b/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/sf.arrow.turn.up.right.svg new file mode 100644 index 000000000..c28a8c0b1 --- /dev/null +++ b/CogAssets.xcassets/sf.arrow.turn.up.right.symbolset/sf.arrow.turn.up.right.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from arrow.turn.up.right + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.pause.symbolset/Contents.json b/CogAssets.xcassets/sf.pause.symbolset/Contents.json new file mode 100644 index 000000000..807d932d4 --- /dev/null +++ b/CogAssets.xcassets/sf.pause.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "pause.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.pause.symbolset/pause.svg b/CogAssets.xcassets/sf.pause.symbolset/pause.svg new file mode 100644 index 000000000..b9e9fda71 --- /dev/null +++ b/CogAssets.xcassets/sf.pause.symbolset/pause.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from pause + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.play.symbolset/Contents.json b/CogAssets.xcassets/sf.play.symbolset/Contents.json new file mode 100644 index 000000000..e1e629e25 --- /dev/null +++ b/CogAssets.xcassets/sf.play.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "play.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.play.symbolset/play.svg b/CogAssets.xcassets/sf.play.symbolset/play.svg new file mode 100644 index 000000000..2fa5cb626 --- /dev/null +++ b/CogAssets.xcassets/sf.play.symbolset/play.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from play + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.repeat.one.symbolset/Contents.json b/CogAssets.xcassets/sf.repeat.one.symbolset/Contents.json new file mode 100644 index 000000000..041a786d4 --- /dev/null +++ b/CogAssets.xcassets/sf.repeat.one.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "repeat.1.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.repeat.one.symbolset/repeat.1.svg b/CogAssets.xcassets/sf.repeat.one.symbolset/repeat.1.svg new file mode 100644 index 000000000..cd4f17d32 --- /dev/null +++ b/CogAssets.xcassets/sf.repeat.one.symbolset/repeat.1.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from repeat.1 + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.repeat.symbolset/Contents.json b/CogAssets.xcassets/sf.repeat.symbolset/Contents.json new file mode 100644 index 000000000..a61134863 --- /dev/null +++ b/CogAssets.xcassets/sf.repeat.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "repeat.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.repeat.symbolset/repeat.svg b/CogAssets.xcassets/sf.repeat.symbolset/repeat.svg new file mode 100644 index 000000000..808b4488d --- /dev/null +++ b/CogAssets.xcassets/sf.repeat.symbolset/repeat.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from repeat + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CogAssets.xcassets/sf.shuffle.symbolset/Contents.json b/CogAssets.xcassets/sf.shuffle.symbolset/Contents.json new file mode 100644 index 000000000..5a1927d05 --- /dev/null +++ b/CogAssets.xcassets/sf.shuffle.symbolset/Contents.json @@ -0,0 +1,12 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "symbols" : [ + { + "filename" : "shuffle.svg", + "idiom" : "universal" + } + ] +} diff --git a/CogAssets.xcassets/sf.shuffle.symbolset/shuffle.svg b/CogAssets.xcassets/sf.shuffle.symbolset/shuffle.svg new file mode 100644 index 000000000..d59d19601 --- /dev/null +++ b/CogAssets.xcassets/sf.shuffle.symbolset/shuffle.svg @@ -0,0 +1,161 @@ + + + + + + + + + Weight/Scale Variations + Ultralight + Thin + Light + Regular + Medium + Semibold + Bold + Heavy + Black + + + + + + + + + + + Design Variations + Symbols are supported in up to nine weights and three scales. + For optimal layout with text and other symbols, vertically align + symbols with the adjacent text. + + + + + + Margins + Leading and trailing margins on the left and right side of each symbol + can be adjusted by modifying the x-location of the margin guidelines. + Modifications are automatically applied proportionally to all + scales and weights. + + + + Exporting + Symbols should be outlined when exporting to ensure the + design is preserved when submitting to Xcode. + Template v.2.0 + Requires Xcode 12 or greater + Generated from shuffle + Typeset at 100 points + Small + Medium + Large + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frameworks/AdPlug/libAdPlug.xcodeproj/project.pbxproj b/Frameworks/AdPlug/libAdPlug.xcodeproj/project.pbxproj index b8779531d..c4bae234a 100644 --- a/Frameworks/AdPlug/libAdPlug.xcodeproj/project.pbxproj +++ b/Frameworks/AdPlug/libAdPlug.xcodeproj/project.pbxproj @@ -566,7 +566,7 @@ TargetAttributes = { 83D3C4D3201C654F005564CB = { CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; }; }; @@ -742,7 +742,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -796,7 +796,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; @@ -807,10 +807,10 @@ 83D3C4DD201C6550005564CB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -836,10 +836,10 @@ 83D3C4DE201C6550005564CB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; diff --git a/Frameworks/FLAC/flac.xcodeproj/project.pbxproj b/Frameworks/FLAC/flac.xcodeproj/project.pbxproj index 4cdde4b9f..a31807d5e 100644 --- a/Frameworks/FLAC/flac.xcodeproj/project.pbxproj +++ b/Frameworks/FLAC/flac.xcodeproj/project.pbxproj @@ -424,8 +424,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -489,8 +489,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -520,6 +523,7 @@ PRIVATE_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PrivateHeaders"; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.libflac; PRODUCT_NAME = FLAC; + PROVISIONING_PROFILE_SPECIFIER = ""; PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers"; SKIP_INSTALL = YES; USER_HEADER_SEARCH_PATHS = ""; @@ -533,7 +537,10 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -561,6 +568,7 @@ PRIVATE_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/PrivateHeaders"; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.libflac; PRODUCT_NAME = FLAC; + PROVISIONING_PROFILE_SPECIFIER = ""; PUBLIC_HEADERS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Headers"; SKIP_INSTALL = YES; USER_HEADER_SEARCH_PATHS = ""; @@ -602,7 +610,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -641,7 +649,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; USE_SEPERATE_HEADERMAPS = YES; diff --git a/Frameworks/File_Extractor/File_Extractor.xcodeproj/project.pbxproj b/Frameworks/File_Extractor/File_Extractor.xcodeproj/project.pbxproj index a7fd8881b..f09e848f3 100644 --- a/Frameworks/File_Extractor/File_Extractor.xcodeproj/project.pbxproj +++ b/Frameworks/File_Extractor/File_Extractor.xcodeproj/project.pbxproj @@ -623,8 +623,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8359FF3B17FEF39F0060F3ED = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -791,7 +791,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -837,7 +837,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -845,7 +845,10 @@ 8359FF6517FEF39F0060F3ED /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -859,6 +862,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.fileextractor; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -868,7 +872,10 @@ 8359FF6617FEF39F0060F3ED /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -882,6 +889,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.fileextractor; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/GME/GME.xcodeproj/project.pbxproj b/Frameworks/GME/GME.xcodeproj/project.pbxproj index fa129a3e3..8fb6dcb41 100644 --- a/Frameworks/GME/GME.xcodeproj/project.pbxproj +++ b/Frameworks/GME/GME.xcodeproj/project.pbxproj @@ -1284,8 +1284,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1492,8 +1492,11 @@ buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1512,6 +1515,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.gme; PRODUCT_NAME = GME; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SHARED_PRECOMPS_DIR = ""; SKIP_INSTALL = YES; @@ -1526,7 +1530,10 @@ buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1543,6 +1550,7 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.gme; PRODUCT_NAME = GME; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SHARED_PRECOMPS_DIR = ""; SKIP_INSTALL = YES; @@ -1585,7 +1593,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OBJROOT = ../../build; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1625,7 +1633,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OBJROOT = ../../build; SDKROOT = macosx; SYMROOT = ../../build; diff --git a/Frameworks/HighlyAdvanced/HighlyAdvanced.xcodeproj/project.pbxproj b/Frameworks/HighlyAdvanced/HighlyAdvanced.xcodeproj/project.pbxproj index 816e37af2..2292f3d3f 100644 --- a/Frameworks/HighlyAdvanced/HighlyAdvanced.xcodeproj/project.pbxproj +++ b/Frameworks/HighlyAdvanced/HighlyAdvanced.xcodeproj/project.pbxproj @@ -239,8 +239,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8343793417F97BDB00584396 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -353,7 +353,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -398,7 +398,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -406,7 +406,10 @@ 8343795E17F97BDB00584396 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -419,6 +422,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyadvanced; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -428,7 +432,10 @@ 8343795F17F97BDB00584396 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -438,6 +445,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyadvanced; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/HighlyExperimental/HighlyExperimental.xcodeproj/project.pbxproj b/Frameworks/HighlyExperimental/HighlyExperimental.xcodeproj/project.pbxproj index 878557fe8..e4fd085df 100644 --- a/Frameworks/HighlyExperimental/HighlyExperimental.xcodeproj/project.pbxproj +++ b/Frameworks/HighlyExperimental/HighlyExperimental.xcodeproj/project.pbxproj @@ -178,8 +178,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8360EF0F17F92C91005208A4 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -290,7 +290,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; }; name = Debug; @@ -334,14 +334,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; }; name = Release; }; 8360EF3917F92C91005208A4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -357,6 +360,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyexperimental; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; }; @@ -365,7 +369,10 @@ 8360EF3A17F92C91005208A4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -380,6 +387,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyexperimental; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; }; diff --git a/Frameworks/HighlyQuixotic/HighlyQuixotic.xcodeproj/project.pbxproj b/Frameworks/HighlyQuixotic/HighlyQuixotic.xcodeproj/project.pbxproj index fa60f2d87..4e1364f13 100644 --- a/Frameworks/HighlyQuixotic/HighlyQuixotic.xcodeproj/project.pbxproj +++ b/Frameworks/HighlyQuixotic/HighlyQuixotic.xcodeproj/project.pbxproj @@ -150,8 +150,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 834378DD17F96E2600584396 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -260,7 +260,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -311,7 +311,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SKIP_INSTALL = YES; }; @@ -320,7 +320,10 @@ 8343790717F96E2600584396 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -329,6 +332,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyquixotic; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; }; @@ -337,7 +341,10 @@ 8343790817F96E2600584396 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -346,6 +353,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlyquixotic; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; }; diff --git a/Frameworks/HighlyTheoretical/HighlyTheoretical.xcodeproj/project.pbxproj b/Frameworks/HighlyTheoretical/HighlyTheoretical.xcodeproj/project.pbxproj index 00cade9ea..8586011c9 100644 --- a/Frameworks/HighlyTheoretical/HighlyTheoretical.xcodeproj/project.pbxproj +++ b/Frameworks/HighlyTheoretical/HighlyTheoretical.xcodeproj/project.pbxproj @@ -192,8 +192,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8343786D17F9658E00584396 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -308,7 +308,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -361,7 +361,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -369,7 +369,10 @@ 8343789717F9658E00584396 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -378,6 +381,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlytheoretical; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -387,7 +391,10 @@ 8343789817F9658E00584396 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -396,6 +403,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlytheoretical; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/HivelyPlayer/HivelyPlayer.xcodeproj/project.pbxproj b/Frameworks/HivelyPlayer/HivelyPlayer.xcodeproj/project.pbxproj index 8a2b8559e..67fc801bf 100644 --- a/Frameworks/HivelyPlayer/HivelyPlayer.xcodeproj/project.pbxproj +++ b/Frameworks/HivelyPlayer/HivelyPlayer.xcodeproj/project.pbxproj @@ -132,8 +132,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 836FB555182053D700B3AD2D = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -294,7 +294,10 @@ 836FB57F182053D700B3AD2D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -302,6 +305,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.hivelyplayer; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; }; @@ -310,7 +314,10 @@ 836FB580182053D700B3AD2D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -318,6 +325,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.hivelyplayer; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; }; diff --git a/Frameworks/MPCDec/MPCDec.xcodeproj/project.pbxproj b/Frameworks/MPCDec/MPCDec.xcodeproj/project.pbxproj index 584fe36bf..b9382cc4e 100644 --- a/Frameworks/MPCDec/MPCDec.xcodeproj/project.pbxproj +++ b/Frameworks/MPCDec/MPCDec.xcodeproj/project.pbxproj @@ -232,8 +232,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -306,8 +306,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -321,6 +324,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.mpcdec; PRODUCT_NAME = mpcdec; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -332,7 +336,10 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -343,6 +350,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.mpcdec; PRODUCT_NAME = mpcdec; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; USER_HEADER_SEARCH_PATHS = Files/include/; @@ -383,7 +391,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -421,7 +429,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Frameworks/NDHotKey/NDHotKey.xcodeproj/project.pbxproj b/Frameworks/NDHotKey/NDHotKey.xcodeproj/project.pbxproj index 1d4192cea..8aa0bbb39 100644 --- a/Frameworks/NDHotKey/NDHotKey.xcodeproj/project.pbxproj +++ b/Frameworks/NDHotKey/NDHotKey.xcodeproj/project.pbxproj @@ -155,8 +155,8 @@ ORGANIZATIONNAME = "dmitry.promsky@gmail.com"; TargetAttributes = { 32F1615514E6BB3B00D6AB2F = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -260,7 +260,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -303,7 +303,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; @@ -312,7 +312,10 @@ 32F1616C14E6BB3B00D6AB2F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -322,6 +325,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "ND.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -331,7 +335,10 @@ 32F1616D14E6BB3B00D6AB2F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -341,6 +348,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "ND.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/Ogg/macosx/Ogg.xcodeproj/project.pbxproj b/Frameworks/Ogg/macosx/Ogg.xcodeproj/project.pbxproj index ae3e66d44..77ce98fab 100644 --- a/Frameworks/Ogg/macosx/Ogg.xcodeproj/project.pbxproj +++ b/Frameworks/Ogg/macosx/Ogg.xcodeproj/project.pbxproj @@ -176,8 +176,8 @@ DevelopmentTeam = N6E749HJ2X; }; 8D07F2BC0486CC7A007CD1D0 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -259,11 +259,11 @@ 730F235509181A3A00AB638C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = N6E749HJ2X; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -273,7 +273,7 @@ GCC_PREFIX_HEADER = Ogg_Prefix.pch; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = Ogg; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -286,11 +286,11 @@ 730F235609181A3A00AB638C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; - DEVELOPMENT_TEAM = N6E749HJ2X; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -299,7 +299,7 @@ GCC_PREFIX_HEADER = Ogg_Prefix.pch; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.ogg; PRODUCT_NAME = Ogg; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Frameworks/OpenMPT/libOpenMPT.xcodeproj/project.pbxproj b/Frameworks/OpenMPT/libOpenMPT.xcodeproj/project.pbxproj index 0ae5bff98..71543d4f6 100644 --- a/Frameworks/OpenMPT/libOpenMPT.xcodeproj/project.pbxproj +++ b/Frameworks/OpenMPT/libOpenMPT.xcodeproj/project.pbxproj @@ -1141,7 +1141,7 @@ TargetAttributes = { 83E5EFBC1FFEF7CC00659F0F = { CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; }; }; @@ -1379,7 +1379,7 @@ OpenMPT/include/modplug/include, OpenMPT/include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1443,7 +1443,7 @@ OpenMPT/include/modplug/include, OpenMPT/include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; USE_HEADERMAP = YES; @@ -1455,10 +1455,10 @@ 83E5EFC61FFEF7CC00659F0F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1479,10 +1479,10 @@ 83E5EFC71FFEF7CC00659F0F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; diff --git a/Frameworks/Opus/Opus.xcodeproj/project.pbxproj b/Frameworks/Opus/Opus.xcodeproj/project.pbxproj index 4fc846e64..883d1b102 100644 --- a/Frameworks/Opus/Opus.xcodeproj/project.pbxproj +++ b/Frameworks/Opus/Opus.xcodeproj/project.pbxproj @@ -992,8 +992,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8375B06117FFEABB0092A79F = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1278,7 +1278,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -1325,7 +1325,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -1333,7 +1333,10 @@ 8375B08B17FFEABB0092A79F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( @@ -1364,6 +1367,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.xiph.libopus; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -1373,7 +1377,10 @@ 8375B08C17FFEABB0092A79F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( @@ -1401,6 +1408,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.xiph.libopus; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/SSEQPlayer/SSEQPlayer.xcodeproj/project.pbxproj b/Frameworks/SSEQPlayer/SSEQPlayer.xcodeproj/project.pbxproj index b69cdd9e3..e6e1cf9e6 100644 --- a/Frameworks/SSEQPlayer/SSEQPlayer.xcodeproj/project.pbxproj +++ b/Frameworks/SSEQPlayer/SSEQPlayer.xcodeproj/project.pbxproj @@ -241,8 +241,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 83848FB71807623F00E7332D = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -358,7 +358,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -403,7 +403,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -411,7 +411,10 @@ 83848FE11807623F00E7332D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -419,6 +422,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.sseqplayer; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -428,7 +432,10 @@ 83848FE21807623F00E7332D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -436,6 +443,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.sseqplayer; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/Shorten/Shorten.xcodeproj/project.pbxproj b/Frameworks/Shorten/Shorten.xcodeproj/project.pbxproj index 5da0d063b..f2c8e84f9 100644 --- a/Frameworks/Shorten/Shorten.xcodeproj/project.pbxproj +++ b/Frameworks/Shorten/Shorten.xcodeproj/project.pbxproj @@ -176,8 +176,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -245,8 +245,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -260,6 +263,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.shorten; PRODUCT_NAME = Shorten; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -271,7 +275,10 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -285,6 +292,7 @@ OTHER_CFLAGS = "-DHAVE_CONFIG_H"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.shorten; PRODUCT_NAME = Shorten; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SHARED_PRECOMPS_DIR = "$(CACHE_ROOT)/SharedPrecompiledHeaders"; SKIP_INSTALL = YES; @@ -333,7 +341,7 @@ ../../include, include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -378,7 +386,7 @@ ../../include, include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Frameworks/Sparkle b/Frameworks/Sparkle new file mode 160000 index 000000000..2a0b31c30 --- /dev/null +++ b/Frameworks/Sparkle @@ -0,0 +1 @@ +Subproject commit 2a0b31c309a8ff4b777bae0bc557e1fc35d66b73 diff --git a/Frameworks/Syntrax-c/Syntrax_c.xcodeproj/project.pbxproj b/Frameworks/Syntrax-c/Syntrax_c.xcodeproj/project.pbxproj index 357addf4e..cd45fb55c 100644 --- a/Frameworks/Syntrax-c/Syntrax_c.xcodeproj/project.pbxproj +++ b/Frameworks/Syntrax-c/Syntrax_c.xcodeproj/project.pbxproj @@ -112,8 +112,8 @@ TargetAttributes = { 832FF31A1C96511E0076D662 = { CreatedOnToolsVersion = 7.2.1; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -205,7 +205,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -254,7 +254,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; @@ -265,7 +265,10 @@ 832FF3241C96511E0076D662 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -274,6 +277,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.Syntrax-c"; PRODUCT_NAME = Syntrax_c; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; }; name = Debug; @@ -281,7 +285,10 @@ 832FF3251C96511E0076D662 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -290,6 +297,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.Syntrax-c"; PRODUCT_NAME = Syntrax_c; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; }; name = Release; diff --git a/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj b/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj index e1cb7d9f0..2daceb56c 100644 --- a/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj +++ b/Frameworks/TagLib/TagLib.xcodeproj/project.pbxproj @@ -900,8 +900,8 @@ LastUpgradeCheck = 0940; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1045,7 +1045,10 @@ 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1062,6 +1065,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.taglib; PRODUCT_NAME = TagLib; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; ZERO_LINK = YES; @@ -1071,7 +1075,10 @@ 1DEB91AF08733DA50010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1086,6 +1093,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.taglib; PRODUCT_NAME = TagLib; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = framework; }; @@ -1126,7 +1134,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DHAVE_CONFIG_H"; SDKROOT = macosx; @@ -1168,7 +1176,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = "-DHAVE_CONFIG_H"; SDKROOT = macosx; SKIP_INSTALL = YES; diff --git a/Frameworks/Vorbis/macosx/Vorbis.xcodeproj/project.pbxproj b/Frameworks/Vorbis/macosx/Vorbis.xcodeproj/project.pbxproj index 66f184906..63e888cf1 100644 --- a/Frameworks/Vorbis/macosx/Vorbis.xcodeproj/project.pbxproj +++ b/Frameworks/Vorbis/macosx/Vorbis.xcodeproj/project.pbxproj @@ -578,8 +578,8 @@ LastUpgradeCheck = 1130; TargetAttributes = { 730F23A1091827B100AB638C = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; 738835E30B18F870005C7A69 = { DevelopmentTeam = N6E749HJ2X; @@ -757,11 +757,11 @@ 730F23ED091827B100AB638C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = N6E749HJ2X; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; @@ -772,7 +772,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; PRODUCT_NAME = Vorbis; @@ -792,11 +792,11 @@ 730F23EE091827B100AB638C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; - DEVELOPMENT_TEAM = N6E749HJ2X; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; @@ -805,7 +805,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "@loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.xiph.vorbis; PRODUCT_NAME = Vorbis; diff --git a/Frameworks/WavPack/WavPack.xcodeproj/project.pbxproj b/Frameworks/WavPack/WavPack.xcodeproj/project.pbxproj index 9edef38b6..0b2b51ce5 100644 --- a/Frameworks/WavPack/WavPack.xcodeproj/project.pbxproj +++ b/Frameworks/WavPack/WavPack.xcodeproj/project.pbxproj @@ -248,8 +248,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8DC2EF4F0486A6940098B216 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -336,8 +336,11 @@ 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -367,6 +370,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.wavpack; PRODUCT_NAME = WavPack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -377,7 +381,10 @@ 1DEB91AF08733DA50010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -404,6 +411,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.lib.wavpack; PRODUCT_NAME = WavPack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -444,7 +452,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -483,7 +491,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Frameworks/g719/g719.xcodeproj/project.pbxproj b/Frameworks/g719/g719.xcodeproj/project.pbxproj index ba8b15b16..b3e57c5fb 100644 --- a/Frameworks/g719/g719.xcodeproj/project.pbxproj +++ b/Frameworks/g719/g719.xcodeproj/project.pbxproj @@ -349,7 +349,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -399,7 +399,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; diff --git a/Frameworks/lazyusf2/lazyusf2.xcodeproj/project.pbxproj b/Frameworks/lazyusf2/lazyusf2.xcodeproj/project.pbxproj index 1f08cd081..580201a0d 100644 --- a/Frameworks/lazyusf2/lazyusf2.xcodeproj/project.pbxproj +++ b/Frameworks/lazyusf2/lazyusf2.xcodeproj/project.pbxproj @@ -964,8 +964,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 83C8B62118AF57770071B040 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1126,7 +1126,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -1171,7 +1171,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -1179,7 +1179,10 @@ 83C8B64B18AF57770071B040 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1193,6 +1196,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.lazyusf2; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; USER_HEADER_SEARCH_PATHS = lazyusf2; @@ -1203,7 +1207,10 @@ 83C8B64C18AF57770071B040 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1218,6 +1225,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.lazyusf2; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; USER_HEADER_SEARCH_PATHS = lazyusf2; diff --git a/Frameworks/libatrac9/libatrac9.xcodeproj/project.pbxproj b/Frameworks/libatrac9/libatrac9.xcodeproj/project.pbxproj index e4a028a50..f01ad0757 100644 --- a/Frameworks/libatrac9/libatrac9.xcodeproj/project.pbxproj +++ b/Frameworks/libatrac9/libatrac9.xcodeproj/project.pbxproj @@ -296,7 +296,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -351,7 +351,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = macosx; diff --git a/Frameworks/libsidplay/sidplayfp.xcodeproj/project.pbxproj b/Frameworks/libsidplay/sidplayfp.xcodeproj/project.pbxproj index 49da03f7e..f6f8318ea 100644 --- a/Frameworks/libsidplay/sidplayfp.xcodeproj/project.pbxproj +++ b/Frameworks/libsidplay/sidplayfp.xcodeproj/project.pbxproj @@ -877,8 +877,8 @@ TargetAttributes = { 8314D6541A354E7800EEE8E6 = { CreatedOnToolsVersion = 6.1.1; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1034,7 +1034,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "sidplay-residfp-code/libsidplayfp/src", ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1090,7 +1090,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "sidplay-residfp-code/libsidplayfp/src", ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; @@ -1101,8 +1101,11 @@ 8314D66C1A354E7800EEE8E6 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1119,6 +1122,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = sidplayfp; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; USE_HEADERMAP = NO; @@ -1128,8 +1132,11 @@ 8314D66D1A354E7800EEE8E6 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1146,6 +1153,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = sidplayfp; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; USE_HEADERMAP = NO; diff --git a/Frameworks/mGBA/mGBA.xcodeproj/project.pbxproj b/Frameworks/mGBA/mGBA.xcodeproj/project.pbxproj index a4e2374fa..b0275d359 100644 --- a/Frameworks/mGBA/mGBA.xcodeproj/project.pbxproj +++ b/Frameworks/mGBA/mGBA.xcodeproj/project.pbxproj @@ -105,7 +105,6 @@ 83299FA31E765789003A3242 /* menu.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F251E765789003A3242 /* menu.h */; }; 83299FA41E765789003A3242 /* gui.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F261E765789003A3242 /* gui.h */; }; 83299FA51E765789003A3242 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F271E765789003A3242 /* hash.h */; }; - 83299FA61E765789003A3242 /* math.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F281E765789003A3242 /* math.h */; }; 83299FA71E765789003A3242 /* memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F291E765789003A3242 /* memory.h */; }; 83299FA81E765789003A3242 /* fast.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F2B1E765789003A3242 /* fast.h */; }; 83299FA91E765789003A3242 /* ips.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F2C1E765789003A3242 /* ips.h */; }; @@ -121,7 +120,6 @@ 83299FB31E765789003A3242 /* png-io.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F3B1E765789003A3242 /* png-io.h */; }; 83299FB41E765789003A3242 /* ring-fifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F3C1E765789003A3242 /* ring-fifo.h */; }; 83299FB51E765789003A3242 /* socket.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F3D1E765789003A3242 /* socket.h */; }; - 83299FB61E765789003A3242 /* string.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F3E1E765789003A3242 /* string.h */; }; 83299FB71E765789003A3242 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F3F1E765789003A3242 /* table.h */; }; 83299FB81E765789003A3242 /* text-codec.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F401E765789003A3242 /* text-codec.h */; }; 83299FB91E765789003A3242 /* threading.h in Headers */ = {isa = PBXBuildFile; fileRef = 83299F411E765789003A3242 /* threading.h */; }; @@ -189,6 +187,8 @@ 83CA2E331D7BCB6700F2EA53 /* ini.h in Headers */ = {isa = PBXBuildFile; fileRef = 83CA2E2F1D7BCB6700F2EA53 /* ini.h */; }; 83CA2E3B1D7BCBD300F2EA53 /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 83CA2E391D7BCBD300F2EA53 /* memory.c */; }; 83CA2E431D7BD82100F2EA53 /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = 83CA2E421D7BD82100F2EA53 /* core.c */; }; + 83D0381124A40FB9004CF90F /* mgba-string.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D0381024A40FB9004CF90F /* mgba-string.h */; }; + 83D0381324A4125D004CF90F /* mgba-math.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D0381224A4125D004CF90F /* mgba-math.h */; }; 83D7282220A673A600076FC5 /* matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D7282120A673A500076FC5 /* matrix.h */; }; 83D7282420A673BB00076FC5 /* matrix.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D7282320A673BB00076FC5 /* matrix.c */; }; /* End PBXBuildFile section */ @@ -292,7 +292,6 @@ 83299F251E765789003A3242 /* menu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = menu.h; sourceTree = ""; }; 83299F261E765789003A3242 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = ""; }; 83299F271E765789003A3242 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = ""; }; - 83299F281E765789003A3242 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = ""; }; 83299F291E765789003A3242 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; 83299F2B1E765789003A3242 /* fast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fast.h; sourceTree = ""; }; 83299F2C1E765789003A3242 /* ips.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ips.h; sourceTree = ""; }; @@ -308,7 +307,6 @@ 83299F3B1E765789003A3242 /* png-io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "png-io.h"; sourceTree = ""; }; 83299F3C1E765789003A3242 /* ring-fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ring-fifo.h"; sourceTree = ""; }; 83299F3D1E765789003A3242 /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = ""; }; - 83299F3E1E765789003A3242 /* string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = ""; }; 83299F3F1E765789003A3242 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = ""; }; 83299F401E765789003A3242 /* text-codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "text-codec.h"; sourceTree = ""; }; 83299F411E765789003A3242 /* threading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threading.h; sourceTree = ""; }; @@ -383,6 +381,8 @@ 83CA2E2F1D7BCB6700F2EA53 /* ini.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ini.h; sourceTree = ""; }; 83CA2E391D7BCBD300F2EA53 /* memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memory.c; path = platform/posix/memory.c; sourceTree = ""; }; 83CA2E421D7BD82100F2EA53 /* core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = core.c; sourceTree = ""; }; + 83D0381024A40FB9004CF90F /* mgba-string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "mgba-string.h"; sourceTree = ""; }; + 83D0381224A4125D004CF90F /* mgba-math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "mgba-math.h"; sourceTree = ""; }; 83D7282120A673A500076FC5 /* matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matrix.h; sourceTree = ""; }; 83D7282320A673BB00076FC5 /* matrix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = matrix.c; sourceTree = ""; }; /* End PBXFileReference section */ @@ -658,15 +658,15 @@ 83299F211E765789003A3242 /* gui */, 83299F261E765789003A3242 /* gui.h */, 83299F271E765789003A3242 /* hash.h */, - 83299F281E765789003A3242 /* math.h */, 83299F291E765789003A3242 /* memory.h */, + 83D0381224A4125D004CF90F /* mgba-math.h */, + 83D0381024A40FB9004CF90F /* mgba-string.h */, 83299F2A1E765789003A3242 /* patch */, 83299F2E1E765789003A3242 /* patch.h */, 83299F2F1E765789003A3242 /* platform */, 83299F3B1E765789003A3242 /* png-io.h */, 83299F3C1E765789003A3242 /* ring-fifo.h */, 83299F3D1E765789003A3242 /* socket.h */, - 83299F3E1E765789003A3242 /* string.h */, 83299F3F1E765789003A3242 /* table.h */, 83299F401E765789003A3242 /* text-codec.h */, 83299F411E765789003A3242 /* threading.h */, @@ -999,7 +999,6 @@ 83299F5A1E765789003A3242 /* arm.h in Headers */, 83299F811E765789003A3242 /* input.h in Headers */, 83299F761E765789003A3242 /* lockstep.h in Headers */, - 83299FA61E765789003A3242 /* math.h in Headers */, 83299F991E765789003A3242 /* arm-algo.h in Headers */, 83299F6E1E765789003A3242 /* gb.h in Headers */, 83299FB91E765789003A3242 /* threading.h in Headers */, @@ -1068,7 +1067,6 @@ 83299F9F1E765789003A3242 /* formatting.h in Headers */, 83CA2DBA1D7BC9BC00F2EA53 /* debugger.h in Headers */, 83299F781E765789003A3242 /* timer.h in Headers */, - 83299FB61E765789003A3242 /* string.h in Headers */, 83299F8C1E765789003A3242 /* serialize.h in Headers */, 83CA2DBC1D7BC9BC00F2EA53 /* memory-debugger.h in Headers */, 83299F741E765789003A3242 /* tile-cache.h in Headers */, @@ -1079,6 +1077,7 @@ 83299F901E765789003A3242 /* timer.h in Headers */, 83299F451E765789003A3242 /* cheats.h in Headers */, 83CA29AE1D7BC4EE00F2EA53 /* hle-bios.h in Headers */, + 83D0381324A4125D004CF90F /* mgba-math.h in Headers */, 83299F7D1E765789003A3242 /* dma.h in Headers */, 83299F601E765789003A3242 /* emitter-arm.h in Headers */, 83299F651E765789003A3242 /* isa-thumb.h in Headers */, @@ -1097,6 +1096,7 @@ 83299F881E765789003A3242 /* mgm.h in Headers */, 83299F4F1E765789003A3242 /* rewind.h in Headers */, 83299F611E765789003A3242 /* emitter-inlines.h in Headers */, + 83D0381124A40FB9004CF90F /* mgba-string.h in Headers */, 83299F691E765789003A3242 /* gdb-stub.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1133,8 +1133,8 @@ TargetAttributes = { 83CA24121D7BC47C00F2EA53 = { CreatedOnToolsVersion = 8.0; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -1285,7 +1285,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -1338,7 +1338,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; VERSIONING_SYSTEM = "apple-generic"; @@ -1349,7 +1349,10 @@ 83CA241C1D7BC47C00F2EA53 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1372,6 +1375,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.mGBA; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; }; name = Debug; @@ -1379,7 +1383,10 @@ 83CA241D1D7BC47C00F2EA53 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -1401,6 +1408,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.mGBA; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; }; name = Release; diff --git a/Frameworks/mGBA/mGBA/mgba b/Frameworks/mGBA/mGBA/mgba index 93cb7b0dc..523515c16 160000 --- a/Frameworks/mGBA/mGBA/mgba +++ b/Frameworks/mGBA/mGBA/mgba @@ -1 +1 @@ -Subproject commit 93cb7b0dc8aab92d1b88604609acaf971cb3c5e0 +Subproject commit 523515c16efd5d4abb8aaebdb124fdc38d3aa071 diff --git a/Frameworks/midi_processing/midi_processing.xcodeproj/project.pbxproj b/Frameworks/midi_processing/midi_processing.xcodeproj/project.pbxproj index abe12e89f..8f9f3fed4 100644 --- a/Frameworks/midi_processing/midi_processing.xcodeproj/project.pbxproj +++ b/Frameworks/midi_processing/midi_processing.xcodeproj/project.pbxproj @@ -162,8 +162,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 83B066AB180D56B9008E3612 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -278,7 +278,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -324,7 +324,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -332,7 +332,10 @@ 83B066D5180D56B9008E3612 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -340,6 +343,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -349,7 +353,10 @@ 83B066D6180D56B9008E3612 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -357,6 +364,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "NoWork-Inc.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/mpg123/mpg123.xcodeproj/project.pbxproj b/Frameworks/mpg123/mpg123.xcodeproj/project.pbxproj index 6ee223b58..1088ad22b 100644 --- a/Frameworks/mpg123/mpg123.xcodeproj/project.pbxproj +++ b/Frameworks/mpg123/mpg123.xcodeproj/project.pbxproj @@ -452,7 +452,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INSTALL_PATH = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SKIP_INSTALL = YES; }; @@ -500,7 +500,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INSTALL_PATH = "@loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SKIP_INSTALL = YES; }; name = Release; diff --git a/Frameworks/psflib/psflib.xcodeproj/project.pbxproj b/Frameworks/psflib/psflib.xcodeproj/project.pbxproj index 2b427e5de..96f9995cd 100644 --- a/Frameworks/psflib/psflib.xcodeproj/project.pbxproj +++ b/Frameworks/psflib/psflib.xcodeproj/project.pbxproj @@ -136,8 +136,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8343781B17F93CB500584396 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -242,7 +242,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -287,7 +287,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -295,7 +295,10 @@ 8343784517F93CB500584396 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -304,6 +307,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -313,7 +317,10 @@ 8343784617F93CB500584396 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -322,6 +329,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.psflib; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj b/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj index bd9b71b28..a7154d759 100644 --- a/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj +++ b/Frameworks/vgmstream/libvgmstream.xcodeproj/project.pbxproj @@ -313,7 +313,6 @@ 836F6FA418BDC2190095E648 /* nds_hwas.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6818BDC2180095E648 /* nds_hwas.c */; }; 836F6FA518BDC2190095E648 /* nds_rrds.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6918BDC2180095E648 /* nds_rrds.c */; }; 836F6FA718BDC2190095E648 /* nds_strm.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6B18BDC2180095E648 /* nds_strm.c */; }; - 836F6FA818BDC2190095E648 /* nds_swav.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6C18BDC2180095E648 /* nds_swav.c */; }; 836F6FA918BDC2190095E648 /* ngc_adpdtk.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6D18BDC2180095E648 /* ngc_adpdtk.c */; }; 836F6FAA18BDC2190095E648 /* ngc_bh2pcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E6E18BDC2180095E648 /* ngc_bh2pcm.c */; }; 836F6FAD18BDC2190095E648 /* ngc_dsp_konami.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6E7118BDC2180095E648 /* ngc_dsp_konami.c */; }; @@ -439,7 +438,7 @@ 836F705418BDC2190095E648 /* streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6F1818BDC2190095E648 /* streamfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; 836F705518BDC2190095E648 /* streamtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6F1918BDC2190095E648 /* streamtypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; 836F705618BDC2190095E648 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6F1A18BDC2190095E648 /* util.c */; }; - 836F705718BDC2190095E648 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6F1B18BDC2190095E648 /* util.h */; }; + 836F705718BDC2190095E648 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6F1B18BDC2190095E648 /* util.h */; settings = {ATTRIBUTES = (Public, ); }; }; 836F705818BDC2190095E648 /* vgmstream.c in Sources */ = {isa = PBXBuildFile; fileRef = 836F6F1C18BDC2190095E648 /* vgmstream.c */; }; 836F705918BDC2190095E648 /* vgmstream.h in Headers */ = {isa = PBXBuildFile; fileRef = 836F6F1D18BDC2190095E648 /* vgmstream.h */; settings = {ATTRIBUTES = (Public, ); }; }; 83709E051ECBC1A4005C03D3 /* gtd.c in Sources */ = {isa = PBXBuildFile; fileRef = 83709DFF1ECBC1A4005C03D3 /* gtd.c */; }; @@ -498,9 +497,6 @@ 837CEB0523487F2C00E62A4A /* sqex_sead_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 837CEAF023487F2C00E62A4A /* sqex_sead_streamfile.h */; }; 837CEB072348809400E62A4A /* seb.c in Sources */ = {isa = PBXBuildFile; fileRef = 837CEB062348809400E62A4A /* seb.c */; }; 8385D4E6245174C700FF8E67 /* diva.c in Sources */ = {isa = PBXBuildFile; fileRef = 8385D4E2245174C600FF8E67 /* diva.c */; }; - 838BDB641D3AF08C0022CA6F /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 838BDB611D3AF08C0022CA6F /* libavcodec.a */; }; - 838BDB651D3AF08C0022CA6F /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 838BDB621D3AF08C0022CA6F /* libavformat.a */; }; - 838BDB661D3AF08C0022CA6F /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 838BDB631D3AF08C0022CA6F /* libavutil.a */; }; 838BDB681D3AF70D0022CA6F /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 838BDB671D3AF70D0022CA6F /* libz.tbd */; }; 838BDB6A1D3AF7140022CA6F /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 838BDB691D3AF7140022CA6F /* libiconv.tbd */; }; 838BDB6C1D3AFAB10022CA6F /* ffmpeg_decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = 838BDB6B1D3AFAB10022CA6F /* ffmpeg_decoder.c */; }; @@ -577,7 +573,7 @@ 83C7282822BC8C1500678B4A /* mixing.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C7282422BC8C1400678B4A /* mixing.h */; }; 83C7282922BC8C1500678B4A /* mixing.c in Sources */ = {isa = PBXBuildFile; fileRef = 83C7282522BC8C1400678B4A /* mixing.c */; }; 83C7282A22BC8C1500678B4A /* plugins.c in Sources */ = {isa = PBXBuildFile; fileRef = 83C7282622BC8C1400678B4A /* plugins.c */; }; - 83CD428A1F787879000F77BE /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 83CD42851F787878000F77BE /* libswresample.a */; }; + 83D0381824A4129A004CF90F /* swav.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D0381724A4129A004CF90F /* swav.c */; }; 83D2007A248DDB770048BD24 /* fsb_encrypted_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D20072248DDB760048BD24 /* fsb_encrypted_streamfile.h */; }; 83D2007B248DDB770048BD24 /* mups_streamfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D20073248DDB760048BD24 /* mups_streamfile.h */; }; 83D2007C248DDB770048BD24 /* ktsr.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D20074248DDB760048BD24 /* ktsr.c */; }; @@ -586,11 +582,18 @@ 83D2007F248DDB770048BD24 /* mups.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D20077248DDB770048BD24 /* mups.c */; }; 83D20080248DDB770048BD24 /* sadf.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D20078248DDB770048BD24 /* sadf.c */; }; 83D20081248DDB770048BD24 /* sadl.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D20079248DDB770048BD24 /* sadl.c */; }; - 83D2F58E2356B266007646ED /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D2F58A2356B266007646ED /* libopus.a */; }; 83D731891A749D1500CA1366 /* g719.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D7313E1A74968A00CA1366 /* g719.framework */; }; 83D7318A1A749D2200CA1366 /* g719.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83D7313E1A74968A00CA1366 /* g719.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 83D7318C1A749EEE00CA1366 /* g719_decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = 83D7318B1A749EEE00CA1366 /* g719_decoder.c */; }; 83E56BA51F2EE3520026BC60 /* vorbis_custom_utils_ogl.c in Sources */ = {isa = PBXBuildFile; fileRef = 83E56BA01F2EE3500026BC60 /* vorbis_custom_utils_ogl.c */; }; + 83EC716724A98B9900B807C1 /* libavcodec.58.91.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC716324A98B7200B807C1 /* libavcodec.58.91.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC716824A98B9B00B807C1 /* libavformat.58.45.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC716524A98B7200B807C1 /* libavformat.58.45.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC716924A98B9D00B807C1 /* libavutil.56.51.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC716424A98B7200B807C1 /* libavutil.56.51.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC716A24A98BA000B807C1 /* libswresample.3.7.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC716224A98B7200B807C1 /* libswresample.3.7.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC716B24A98BC600B807C1 /* libavcodec.58.91.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC716324A98B7200B807C1 /* libavcodec.58.91.100.dylib */; }; + 83EC716C24A98BC900B807C1 /* libavformat.58.45.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC716524A98B7200B807C1 /* libavformat.58.45.100.dylib */; }; + 83EC716D24A98BCC00B807C1 /* libavutil.56.51.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC716424A98B7200B807C1 /* libavutil.56.51.100.dylib */; }; + 83EC716E24A98BCF00B807C1 /* libswresample.3.7.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC716224A98B7200B807C1 /* libswresample.3.7.100.dylib */; }; 83EDE5D81A70951A005F5D84 /* mca.c in Sources */ = {isa = PBXBuildFile; fileRef = 83EDE5D61A70951A005F5D84 /* mca.c */; }; 83EDE5D91A70951A005F5D84 /* btsnd.c in Sources */ = {isa = PBXBuildFile; fileRef = 83EDE5D71A70951A005F5D84 /* btsnd.c */; }; 83EED5D3203A8BC7008BEB45 /* ea_swvr.c in Sources */ = {isa = PBXBuildFile; fileRef = 83EED5D1203A8BC7008BEB45 /* ea_swvr.c */; }; @@ -719,6 +722,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 83EC716624A98B8F00B807C1 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 6; + files = ( + 83EC716724A98B9900B807C1 /* libavcodec.58.91.100.dylib in CopyFiles */, + 83EC716824A98B9B00B807C1 /* libavformat.58.45.100.dylib in CopyFiles */, + 83EC716924A98B9D00B807C1 /* libavutil.56.51.100.dylib in CopyFiles */, + 83EC716A24A98BA000B807C1 /* libswresample.3.7.100.dylib in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -1027,7 +1043,6 @@ 836F6E6818BDC2180095E648 /* nds_hwas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nds_hwas.c; sourceTree = ""; }; 836F6E6918BDC2180095E648 /* nds_rrds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nds_rrds.c; sourceTree = ""; }; 836F6E6B18BDC2180095E648 /* nds_strm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nds_strm.c; sourceTree = ""; }; - 836F6E6C18BDC2180095E648 /* nds_swav.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nds_swav.c; sourceTree = ""; }; 836F6E6D18BDC2180095E648 /* ngc_adpdtk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ngc_adpdtk.c; sourceTree = ""; }; 836F6E6E18BDC2180095E648 /* ngc_bh2pcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ngc_bh2pcm.c; sourceTree = ""; }; 836F6E7118BDC2180095E648 /* ngc_dsp_konami.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ngc_dsp_konami.c; sourceTree = ""; }; @@ -1212,9 +1227,6 @@ 837CEAF023487F2C00E62A4A /* sqex_sead_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sqex_sead_streamfile.h; sourceTree = ""; }; 837CEB062348809400E62A4A /* seb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = seb.c; sourceTree = ""; }; 8385D4E2245174C600FF8E67 /* diva.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = diva.c; sourceTree = ""; }; - 838BDB611D3AF08C0022CA6F /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = ../../ThirdParty/ffmpeg/lib/libavcodec.a; sourceTree = ""; }; - 838BDB621D3AF08C0022CA6F /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavformat.a; path = ../../ThirdParty/ffmpeg/lib/libavformat.a; sourceTree = ""; }; - 838BDB631D3AF08C0022CA6F /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = ../../ThirdParty/ffmpeg/lib/libavutil.a; sourceTree = ""; }; 838BDB671D3AF70D0022CA6F /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 838BDB691D3AF7140022CA6F /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; 838BDB6B1D3AFAB10022CA6F /* ffmpeg_decoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffmpeg_decoder.c; sourceTree = ""; }; @@ -1290,7 +1302,7 @@ 83C7282422BC8C1400678B4A /* mixing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mixing.h; sourceTree = ""; }; 83C7282522BC8C1400678B4A /* mixing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mixing.c; sourceTree = ""; }; 83C7282622BC8C1400678B4A /* plugins.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = plugins.c; sourceTree = ""; }; - 83CD42851F787878000F77BE /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = ../../ThirdParty/ffmpeg/lib/libswresample.a; sourceTree = ""; }; + 83D0381724A4129A004CF90F /* swav.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = swav.c; sourceTree = ""; }; 83D20072248DDB760048BD24 /* fsb_encrypted_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fsb_encrypted_streamfile.h; sourceTree = ""; }; 83D20073248DDB760048BD24 /* mups_streamfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mups_streamfile.h; sourceTree = ""; }; 83D20074248DDB760048BD24 /* ktsr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ktsr.c; sourceTree = ""; }; @@ -1299,10 +1311,13 @@ 83D20077248DDB770048BD24 /* mups.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mups.c; sourceTree = ""; }; 83D20078248DDB770048BD24 /* sadf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sadf.c; sourceTree = ""; }; 83D20079248DDB770048BD24 /* sadl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sadl.c; sourceTree = ""; }; - 83D2F58A2356B266007646ED /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = ../../ThirdParty/ffmpeg/lib/libopus.a; sourceTree = ""; }; 83D731381A74968900CA1366 /* g719.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = g719.xcodeproj; path = ../g719/g719.xcodeproj; sourceTree = ""; }; 83D7318B1A749EEE00CA1366 /* g719_decoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g719_decoder.c; sourceTree = ""; }; 83E56BA01F2EE3500026BC60 /* vorbis_custom_utils_ogl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vorbis_custom_utils_ogl.c; sourceTree = ""; }; + 83EC716224A98B7200B807C1 /* libswresample.3.7.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libswresample.3.7.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libswresample.3.7.100.dylib; sourceTree = ""; }; + 83EC716324A98B7200B807C1 /* libavcodec.58.91.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavcodec.58.91.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavcodec.58.91.100.dylib; sourceTree = ""; }; + 83EC716424A98B7200B807C1 /* libavutil.56.51.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavutil.56.51.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavutil.56.51.100.dylib; sourceTree = ""; }; + 83EC716524A98B7200B807C1 /* libavformat.58.45.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavformat.58.45.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavformat.58.45.100.dylib; sourceTree = ""; }; 83EDE5D61A70951A005F5D84 /* mca.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mca.c; sourceTree = ""; }; 83EDE5D71A70951A005F5D84 /* btsnd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = btsnd.c; sourceTree = ""; }; 83EED5D1203A8BC7008BEB45 /* ea_swvr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ea_swvr.c; sourceTree = ""; }; @@ -1339,15 +1354,14 @@ 838BDB711D3B1F990022CA6F /* CoreFoundation.framework in Frameworks */, 838BDB6A1D3AF7140022CA6F /* libiconv.tbd in Frameworks */, 838BDB681D3AF70D0022CA6F /* libz.tbd in Frameworks */, - 83D2F58E2356B266007646ED /* libopus.a in Frameworks */, - 83CD428A1F787879000F77BE /* libswresample.a in Frameworks */, 83D731891A749D1500CA1366 /* g719.framework in Frameworks */, - 838BDB641D3AF08C0022CA6F /* libavcodec.a in Frameworks */, - 838BDB651D3AF08C0022CA6F /* libavformat.a in Frameworks */, - 838BDB661D3AF08C0022CA6F /* libavutil.a in Frameworks */, 8313E3E61902020400B4B6F1 /* mpg123.framework in Frameworks */, 834D795520E4F0D400C4A5CC /* Vorbis.framework in Frameworks */, 836C052B23F62F1A00FA07C7 /* libatrac9.framework in Frameworks */, + 83EC716B24A98BC600B807C1 /* libavcodec.58.91.100.dylib in Frameworks */, + 83EC716C24A98BC900B807C1 /* libavformat.58.45.100.dylib in Frameworks */, + 83EC716D24A98BCC00B807C1 /* libavutil.56.51.100.dylib in Frameworks */, + 83EC716E24A98BCF00B807C1 /* libswresample.3.7.100.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1400,7 +1414,6 @@ 836F6B3B18BDB8880095E648 /* Frameworks */ = { isa = PBXGroup; children = ( - 83D2F58A2356B266007646ED /* libopus.a */, 838BDB7E1D3B1FD10022CA6F /* Cocoa.framework */, 838BDB7C1D3B1FCC0022CA6F /* CoreVideo.framework */, 838BDB7A1D3B1FC20022CA6F /* CoreMedia.framework */, @@ -1419,11 +1432,11 @@ 836F6B3E18BDB8880095E648 /* Other Frameworks */ = { isa = PBXGroup; children = ( + 83EC716324A98B7200B807C1 /* libavcodec.58.91.100.dylib */, + 83EC716524A98B7200B807C1 /* libavformat.58.45.100.dylib */, + 83EC716424A98B7200B807C1 /* libavutil.56.51.100.dylib */, + 83EC716224A98B7200B807C1 /* libswresample.3.7.100.dylib */, 835FC6C123F62AEE006960FA /* libatrac9.xcodeproj */, - 838BDB611D3AF08C0022CA6F /* libavcodec.a */, - 838BDB621D3AF08C0022CA6F /* libavformat.a */, - 838BDB631D3AF08C0022CA6F /* libavutil.a */, - 83CD42851F787878000F77BE /* libswresample.a */, 8313E33D1901FBDC00B4B6F1 /* mpg123.xcodeproj */, 83F412871E932F9A002E37D0 /* Vorbis.xcodeproj */, 83D731381A74968900CA1366 /* g719.xcodeproj */, @@ -1797,7 +1810,6 @@ 836F6E6918BDC2180095E648 /* nds_rrds.c */, 830165991F256BD000CA0941 /* nds_strm_ffta2.c */, 836F6E6B18BDC2180095E648 /* nds_strm.c */, - 836F6E6C18BDC2180095E648 /* nds_swav.c */, 836F6E6D18BDC2180095E648 /* ngc_adpdtk.c */, 836F6E6E18BDC2180095E648 /* ngc_bh2pcm.c */, 836F6E7118BDC2180095E648 /* ngc_dsp_konami.c */, @@ -1962,6 +1974,7 @@ 83C7280722BC893B00678B4A /* strm_abylight.c */, 834FE0D7215C79EA000A5D3D /* svg.c */, 836F6EF918BDC2190095E648 /* svs.c */, + 83D0381724A4129A004CF90F /* swav.c */, 831BA6121EAC61A500CF89B0 /* sxd.c */, 83709E031ECBC1A4005C03D3 /* ta_aac.c */, 8373342E23F60D4100DE14DC /* tgc.c */, @@ -2089,6 +2102,7 @@ 83A21F87201D8981000F04B9 /* fsb_keys.h in Headers */, 834FE0EC215C79ED000A5D3D /* kma9_streamfile.h in Headers */, 8349A90F1FE6258200E26435 /* aix_streamfile.h in Headers */, + 836F705718BDC2190095E648 /* util.h in Headers */, 83C7282722BC8C1500678B4A /* plugins.h in Headers */, 834FE0ED215C79ED000A5D3D /* fsb_interleave_streamfile.h in Headers */, 8351F32E2212B57000A606E4 /* ubi_bao_streamfile.h in Headers */, @@ -2129,7 +2143,6 @@ 83F0AA6021E2028C004BBC04 /* vsv_streamfile.h in Headers */, 83FBD506235D31F800D35BCD /* riff_ogg_streamfile.h in Headers */, 48C2650F1A5D420800A0A3D6 /* vorbisfile.h in Headers */, - 836F705718BDC2190095E648 /* util.h in Headers */, 836F6F9A18BDC2190095E648 /* meta.h in Headers */, 8306B0D820984590000302D4 /* ea_eaac_streamfile.h in Headers */, 837CEB0523487F2C00E62A4A /* sqex_sead_streamfile.h in Headers */, @@ -2169,6 +2182,7 @@ 836F6B3618BDB8880095E648 /* Headers */, 836F6B3718BDB8880095E648 /* Resources */, 83979B0C18BDD93100192D2F /* CopyFiles */, + 83EC716624A98B8F00B807C1 /* CopyFiles */, ); buildRules = ( 48C265101A5D424500A0A3D6 /* PBXBuildRule */, @@ -2194,7 +2208,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 836F6B3818BDB8880095E648 = { - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -2440,7 +2455,6 @@ 836F6FF218BDC2190095E648 /* ps2_rnd.c in Sources */, 83709E0D1ECBC1C3005C03D3 /* mc3_decoder.c in Sources */, 832BF80521E050DC006F50F1 /* blocked_mul.c in Sources */, - 836F6FA818BDC2190095E648 /* nds_swav.c in Sources */, 8306B0D920984590000302D4 /* ngc_str_cauldron.c in Sources */, 834FE0FB215C79ED000A5D3D /* xau_konami.c in Sources */, 83F0AA6121E2028C004BBC04 /* vsv.c in Sources */, @@ -2602,6 +2616,7 @@ 8306B0E620984590000302D4 /* msb_msh.c in Sources */, 836F702918BDC2190095E648 /* sat_sap.c in Sources */, 8351F3292212B53400A606E4 /* dsa_decoder.c in Sources */, + 83D0381824A4129A004CF90F /* swav.c in Sources */, 836F6F3718BDC2190095E648 /* pcm_decoder.c in Sources */, 834FE106215C79ED000A5D3D /* utk.c in Sources */, 831BA6281EAC61CB00CF89B0 /* coding_utils.c in Sources */, @@ -2910,7 +2925,7 @@ ); INSTALL_PATH = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -2975,7 +2990,7 @@ ); INSTALL_PATH = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SKIP_INSTALL = YES; }; @@ -2984,10 +2999,10 @@ 836F6B6218BDB8880095E648 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( @@ -3014,10 +3029,10 @@ 836F6B6318BDB8880095E648 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ( diff --git a/Frameworks/vgmstream/vgmstream/src/coding/coding.h b/Frameworks/vgmstream/vgmstream/src/coding/coding.h index f12fd89a3..e09a06385 100644 --- a/Frameworks/vgmstream/vgmstream/src/coding/coding.h +++ b/Frameworks/vgmstream/vgmstream/src/coding/coding.h @@ -106,10 +106,11 @@ void decode_ea_xa(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing void decode_ea_xa_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel); void decode_ea_xa_v2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel); void decode_maxis_xa(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel); +int32_t ea_xa_bytes_to_samples(size_t bytes, int channels); /* ea_xas_decoder */ void decode_ea_xas_v0(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel); -void decode_ea_xas_v1(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel); +void decode_ea_xas_v1(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel); /* sdx2_decoder */ void decode_sdx2(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do); @@ -236,7 +237,7 @@ void free_relic(relic_codec_data* data); /* hca_decoder */ hca_codec_data *init_hca(STREAMFILE *streamFile); -void decode_hca(hca_codec_data * data, sample_t * outbuf, int32_t samples_to_do); +void decode_hca(hca_codec_data * data, sample * outbuf, int32_t samples_to_do); void reset_hca(hca_codec_data * data); void loop_hca(hca_codec_data * data, int32_t num_sample); void free_hca(hca_codec_data * data); diff --git a/Frameworks/vgmstream/vgmstream/src/coding/coding_utils.c b/Frameworks/vgmstream/vgmstream/src/coding/coding_utils.c index 0b6b3bfa5..4a28b718f 100644 --- a/Frameworks/vgmstream/vgmstream/src/coding/coding_utils.c +++ b/Frameworks/vgmstream/vgmstream/src/coding/coding_utils.c @@ -155,7 +155,8 @@ int ffmpeg_make_riff_xma1(uint8_t * buf, size_t buf_size, size_t sample_count, s put_16bitLE(buf+off+0x12, speakers); } - /* xmaencode decoding rejects XMA1 without "seek" chunk, though it doesn't seem to use it */ + /* xmaencode decoding rejects XMA1 without "seek" chunk, though it doesn't seem to use it + * (needs to be have entries but can be bogus, also generates seek for even small sounds) */ memcpy(buf+riff_size-4-4, "data", 4); put_32bitLE(buf+riff_size-4, data_size); /* data size */ diff --git a/Frameworks/vgmstream/vgmstream/src/coding/ea_xa_decoder.c b/Frameworks/vgmstream/vgmstream/src/coding/ea_xa_decoder.c index 9178d3ae1..7e6080bc3 100644 --- a/Frameworks/vgmstream/vgmstream/src/coding/ea_xa_decoder.c +++ b/Frameworks/vgmstream/vgmstream/src/coding/ea_xa_decoder.c @@ -303,3 +303,8 @@ void decode_maxis_xa(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspac if (i == frame_samples) stream->offset += frame_size; } + +int32_t ea_xa_bytes_to_samples(size_t bytes, int channels) { + if (channels <= 0) return 0; + return bytes / channels / 0x0f * 28; +} diff --git a/Frameworks/vgmstream/vgmstream/src/formats.c b/Frameworks/vgmstream/vgmstream/src/formats.c index 8288c0032..6fcb9bf8d 100644 --- a/Frameworks/vgmstream/vgmstream/src/formats.c +++ b/Frameworks/vgmstream/vgmstream/src/formats.c @@ -1036,7 +1036,7 @@ static const meta_info meta_info_list[] = { {meta_RIFF_WAVE_MWV, "RIFF WAVE header with .mwv flavoring"}, {meta_FFCC_STR, "Final Fantasy: Crystal Chronicles STR header"}, {meta_SAT_BAKA, "BAKA header from Crypt Killer"}, - {meta_NDS_SWAV, "SWAV Header"}, + {meta_SWAV, "Gameloft SWAV header"}, {meta_VSF, "Square-Enix VSF header"}, {meta_NDS_RRDS, "Ridger Racer DS Header"}, {meta_PS2_TK5, "Tekken 5 Stream Header"}, diff --git a/Frameworks/vgmstream/vgmstream/src/meta/fsb5_fev.c b/Frameworks/vgmstream/vgmstream/src/meta/fsb5_fev.c index 3919f82bb..37f732582 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/fsb5_fev.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/fsb5_fev.c @@ -3,43 +3,76 @@ /* FEV+FSB5 container [Just Cause 3 (PC), Shantae: Half-Genie Hero (Switch)] */ VGMSTREAM* init_vgmstream_fsb5_fev_bank(STREAMFILE* sf) { - VGMSTREAM * vgmstream = NULL; - STREAMFILE *temp_sf = NULL; - off_t subfile_offset, chunk_offset, first_offset = 0x0c; - size_t subfile_size, chunk_size; + VGMSTREAM* vgmstream = NULL; + STREAMFILE* temp_sf = NULL; + off_t subfile_offset, chunk_offset, bank_offset, offset; + size_t subfile_size, bank_size; + int is_old = 0; /* checks */ if (!check_extensions(sf, "bank")) goto fail; - if (read_32bitBE(0x00,sf) != 0x52494646) /* "RIFF" */ + if (read_u32be(0x00,sf) != 0x52494646) /* "RIFF" */ goto fail; - if (read_32bitBE(0x08,sf) != 0x46455620) /* "FEV " */ + if (read_u32be(0x08,sf) != 0x46455620) /* "FEV " */ goto fail; /* .fev is an event format referencing various external .fsb, but FMOD can bake .fev and .fsb to * form a .bank, which is the format we support here (regular .fev is complex and not very interesting). * Format is RIFF with FMT (main), LIST (config) and SND (FSB5 data), we want the FSB5 offset inside LIST */ - if (!find_chunk_le(sf, 0x4C495354,first_offset,0, &chunk_offset,NULL)) /* "LIST" */ + + if (!find_chunk_le(sf, 0x4C495354, 0x0c, 0, &chunk_offset,NULL)) /* "LIST" */ goto fail; + if (read_u32be(chunk_offset+0x00,sf) != 0x50524F4A || /* "PROJ" */ + read_u32be(chunk_offset+0x04,sf) != 0x424E4B49) /* "BNKI" */ + goto fail; /* event .fev has "OBCT" instead of "BNKI" (which can also be empty) */ - if (read_32bitBE(chunk_offset+0x00,sf) != 0x50524F4A || /* "PROJ" */ - read_32bitBE(chunk_offset+0x04,sf) != 0x424E4B49) /* "BNKI" */ - goto fail; /* event .fev has "OBCT" instead of "BNKI" */ - /* inside BNKI is a bunch of LIST each with event subchunks and finally fsb offset */ - first_offset = chunk_offset + 0x04; - if (!find_chunk_le(sf, 0x534E4448,first_offset,0, &chunk_offset,&chunk_size)) /* "SNDH" */ + /* inside BNKI is a bunch of LIST each with event subchunks and somewhere the FSB5 offset */ + bank_offset = 0; + offset = chunk_offset + 0x04; + while (bank_offset == 0 && offset < get_streamfile_size(sf)) { + uint32_t chunk_type = read_u32be(offset + 0x00,sf); + uint32_t chunk_size = read_u32le(offset + 0x04,sf); + offset += 0x08; + + if (chunk_type == 0xFFFFFFFF || chunk_size == 0xFFFFFFFF) + goto fail; + + switch(chunk_type) { + case 0x4C495354: /* "LIST" with "SNDH" (older) */ + if (read_u32be(offset + 0x04, sf) == 0x534E4448) { + bank_offset = offset + 0x0c; + bank_size = read_s32le(offset + 0x08,sf); + is_old = 1; + } + break; + + case 0x534E4448: /* "SNDH" (newer) */ + bank_offset = offset; + bank_size = chunk_size; + break; + + default: + break; + } + + offset += chunk_size; + } + + if (bank_offset == 0) goto fail; /* 0x00: unknown (version? ex LE: 0x00080003, 0x00080005) */ { int banks; + size_t entry_size = is_old ? 0x04 : 0x08; /* multiple banks is possible but rare (only seen an extra "Silence" FSB5 in Guacamelee 2 (Switch), * which on PC is a regular subsong in the only FSB5) */ - banks = (chunk_size - 0x04) / 0x08; + banks = (bank_size - 0x04) / entry_size; VGM_ASSERT(banks > 1, "FSB5FEV: multiple banks found\n"); /* Could try to set stream index based on FSB subsong ranges, also fixing num_streams and stream_index @@ -48,16 +81,26 @@ VGMSTREAM* init_vgmstream_fsb5_fev_bank(STREAMFILE* sf) { if (banks > 2) goto fail; if (banks == 2) { - off_t temp_offset = read_32bitLE(chunk_offset + 0x04 + 0x08*1 + 0x00,sf); - //size_t temp_size = read_32bitLE(chunk_offset + 0x04 + 0x08*1 + 0x04,sf); + off_t temp_offset = read_u32le(bank_offset + 0x04 + entry_size*1 + 0x00,sf); + //size_t temp_size = read_u32le(bank_offset + 0x04 + entry_size*1 + 0x04,sf); - int bank_subsongs = read_32bitLE(temp_offset + 0x08,sf); + int bank_subsongs = read_s32le(temp_offset + 0x08,sf); if (bank_subsongs != 1) goto fail; } - } - subfile_offset = read_32bitLE(chunk_offset+0x04,sf); - subfile_size = read_32bitLE(chunk_offset+0x08,sf); + if (is_old) { + subfile_offset = read_u32le(bank_offset+0x04,sf); + subfile_size = /* meh */ + read_u32le(subfile_offset + 0x0C,sf) + + read_u32le(subfile_offset + 0x10,sf) + + read_u32le(subfile_offset + 0x14,sf) + + 0x3C; + } + else { + subfile_offset = read_u32le(bank_offset+0x04,sf); + subfile_size = read_u32le(bank_offset+0x08,sf); + } + } temp_sf = setup_subfile_streamfile(sf, subfile_offset,subfile_size, "fsb"); if (!temp_sf) goto fail; diff --git a/Frameworks/vgmstream/vgmstream/src/meta/ikm.c b/Frameworks/vgmstream/vgmstream/src/meta/ikm.c index d6044c9fd..7c2456ebd 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/ikm.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/ikm.c @@ -3,24 +3,24 @@ /* IKM - MiCROViSiON PS2 container [Zwei (PS2)] */ -VGMSTREAM * init_vgmstream_ikm_ps2(STREAMFILE *streamFile) { - VGMSTREAM * vgmstream = NULL; +VGMSTREAM* init_vgmstream_ikm_ps2(STREAMFILE* sf) { + VGMSTREAM* vgmstream = NULL; off_t start_offset; int loop_flag, channel_count; /* checks */ - if ( !check_extensions(streamFile,"ikm") ) + if ( !check_extensions(sf,"ikm") ) goto fail; - if (read_32bitBE(0x00,streamFile) != 0x494B4D00) /* "IKM\0" */ + if (read_u32be(0x00,sf) != 0x494B4D00) /* "IKM\0" */ goto fail; - if (read_32bitBE(0x40,streamFile) != 0x41535400) /* "AST\0" */ + if (read_u32be(0x40,sf) != 0x41535400) /* "AST\0" */ goto fail; /* 0x20: type 03? */ - loop_flag = (read_32bitLE(0x14, streamFile) > 0); - channel_count = read_32bitLE(0x50, streamFile); + loop_flag = (read_s32le(0x14, sf) > 0); + channel_count = read_s32le(0x50, sf); start_offset = 0x800; @@ -29,15 +29,15 @@ VGMSTREAM * init_vgmstream_ikm_ps2(STREAMFILE *streamFile) { if (!vgmstream) goto fail; vgmstream->meta_type = meta_IKM; - vgmstream->sample_rate = read_32bitLE(0x44, streamFile); - vgmstream->num_samples = ps_bytes_to_samples(read_32bitLE(0x4c, streamFile), channel_count); - vgmstream->loop_start_sample = read_32bitLE(0x14, streamFile); - vgmstream->loop_end_sample = read_32bitLE(0x18, streamFile); + vgmstream->sample_rate = read_s32le(0x44, sf); + vgmstream->num_samples = ps_bytes_to_samples(read_s32le(0x4c, sf), channel_count); + vgmstream->loop_start_sample = read_s32le(0x14, sf); + vgmstream->loop_end_sample = read_s32le(0x18, sf); vgmstream->coding_type = coding_PSX; vgmstream->layout_type = layout_interleave; vgmstream->interleave_block_size = 0x10; /* @0x40 / channels */ - if (!vgmstream_open_stream(vgmstream, streamFile, start_offset)) + if (!vgmstream_open_stream(vgmstream, sf, start_offset)) goto fail; return vgmstream; @@ -46,34 +46,41 @@ fail: return NULL; } -/* IKM - MiCROViSiON PC container [Chaos Legion (PC)] */ -VGMSTREAM * init_vgmstream_ikm_pc(STREAMFILE *streamFile) { - VGMSTREAM * vgmstream = NULL; +/* IKM - MiCROViSiON PC container [Chaos Legion (PC), Legend of Galactic Heroes (PC)] */ +VGMSTREAM* init_vgmstream_ikm_pc(STREAMFILE* sf) { + VGMSTREAM* vgmstream = NULL; off_t start_offset; /* checks */ - if ( !check_extensions(streamFile,"ikm") ) + if ( !check_extensions(sf,"ikm") ) goto fail; - if (read_32bitBE(0x00,streamFile) != 0x494B4D00) /* "IKM\0" */ - goto fail; - if (read_32bitBE(0x30,streamFile) != 0x4F676753) /* "OggS" */ + if (read_u32be(0x00,sf) != 0x494B4D00) /* "IKM\0" */ goto fail; /* 0x20: type 01? */ - start_offset = 0x30; + /* find "OggS" start */ + if (read_u32be(0x30,sf) == 0x4F676753) { + start_offset = 0x30; /* Chaos Legion (PC) */ + } else if (read_u32be(0x800,sf) == 0x4F676753) { + start_offset = 0x800; /* Legend of Galactic Heroes (PC) */ + } else { + goto fail; + } + + #ifdef VGM_USE_VORBIS { ogg_vorbis_meta_info_t ovmi = {0}; ovmi.meta_type = meta_IKM; - ovmi.loop_start = read_32bitLE(0x14, streamFile); - ovmi.loop_end = read_32bitLE(0x18, streamFile); + ovmi.loop_start = read_s32le(0x14, sf); + ovmi.loop_end = read_s32le(0x18, sf); ovmi.loop_end_found = ovmi.loop_end; ovmi.loop_flag = ovmi.loop_end > 0; - ovmi.stream_size = read_32bitLE(0x24, streamFile); + ovmi.stream_size = read_s32le(0x24, sf); - vgmstream = init_vgmstream_ogg_vorbis_callbacks(streamFile, NULL, start_offset, &ovmi); + vgmstream = init_vgmstream_ogg_vorbis_callbacks(sf, NULL, start_offset, &ovmi); } #else goto fail; @@ -87,39 +94,39 @@ fail: } /* IKM - MiCROViSiON PSP container [The Legend of Heroes: A Tear of Vermillion (PSP)] */ -VGMSTREAM * init_vgmstream_ikm_psp(STREAMFILE *streamFile) { - VGMSTREAM *vgmstream = NULL; - STREAMFILE *temp_streamFile = NULL; +VGMSTREAM* init_vgmstream_ikm_psp(STREAMFILE* sf) { + VGMSTREAM* vgmstream = NULL; + STREAMFILE* temp_sf = NULL; off_t start_offset; size_t data_size; /* checks */ - if ( !check_extensions(streamFile,"ikm") ) + if (!check_extensions(sf,"ikm")) goto fail; - if (read_32bitBE(0x00,streamFile) != 0x494B4D00) /* "IKM\0" */ + if (read_u32be(0x00,sf) != 0x494B4D00) /* "IKM\0" */ goto fail; - if (read_32bitBE(0x800,streamFile) != 0x52494646) /* "RIFF" */ + if (read_u32be(0x800,sf) != 0x52494646) /* "RIFF" */ goto fail; /* 0x20: type 00? */ /* loop values (pre-adjusted without encoder delay) at 0x14/18 are found in the RIFF too */ - data_size = read_32bitLE(0x24, streamFile); + data_size = read_s32le(0x24, sf); start_offset = 0x800; - temp_streamFile = setup_subfile_streamfile(streamFile, start_offset, data_size, "at3"); - if (!temp_streamFile) goto fail; + temp_sf = setup_subfile_streamfile(sf, start_offset, data_size, "at3"); + if (!temp_sf) goto fail; - vgmstream = init_vgmstream_riff(temp_streamFile); + vgmstream = init_vgmstream_riff(temp_sf); if (!vgmstream) goto fail; vgmstream->meta_type = meta_IKM; - close_streamfile(temp_streamFile); + close_streamfile(temp_sf); return vgmstream; fail: - close_streamfile(temp_streamFile); + close_streamfile(temp_sf); close_vgmstream(vgmstream); return NULL; } diff --git a/Frameworks/vgmstream/vgmstream/src/meta/meta.h b/Frameworks/vgmstream/vgmstream/src/meta/meta.h index 27e4d3d31..8063e203a 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/meta.h +++ b/Frameworks/vgmstream/vgmstream/src/meta/meta.h @@ -363,7 +363,7 @@ VGMSTREAM * init_vgmstream_ngc_ffcc_str(STREAMFILE *streamFile); VGMSTREAM * init_vgmstream_sat_baka(STREAMFILE *streamFile); -VGMSTREAM * init_vgmstream_nds_swav(STREAMFILE *streamFile); +VGMSTREAM * init_vgmstream_swav(STREAMFILE *streamFile); VGMSTREAM * init_vgmstream_vsf(STREAMFILE *streamFile); diff --git a/Frameworks/vgmstream/vgmstream/src/meta/nds_swav.c b/Frameworks/vgmstream/vgmstream/src/meta/nds_swav.c deleted file mode 100644 index 2840641cd..000000000 --- a/Frameworks/vgmstream/vgmstream/src/meta/nds_swav.c +++ /dev/null @@ -1,127 +0,0 @@ -#include "meta.h" -#include "../util.h" - -/* 28.01.2009 - bxaimc : - SWAV - found in Asphalt Urban GT & Asphalt Urban GT 2 */ -VGMSTREAM * init_vgmstream_nds_swav(STREAMFILE *streamFile) { - VGMSTREAM * vgmstream = NULL; - char filename[PATH_LIMIT]; - int codec_number; - int channel_count; - int loop_flag; - coding_t coding_type; - off_t start_offset; - int bits_per_sample; - - /* check extension, case insensitive */ - streamFile->get_name(streamFile,filename,sizeof(filename)); - if (strcasecmp("swav",filename_extension(filename))) goto fail; - - /* check header */ - if ((uint32_t)read_32bitBE(0x00,streamFile)!=0x53574156) /* SWAV */ - goto fail; - - /* check for DATA section */ - if ((uint32_t)read_32bitBE(0x10,streamFile)!=0x44415441) /* "DATA" */ - goto fail; - - /* check type details */ - codec_number = read_8bit(0x18,streamFile); - loop_flag = read_8bit(0x19,streamFile); - - channel_count = 1; - if (get_streamfile_size(streamFile) != read_32bitLE(0x8,streamFile)) - { - if (get_streamfile_size(streamFile) != - (read_32bitLE(0x8,streamFile) - 0x24) * 2 + 0x24) - goto fail; - - channel_count = 2; - } - - switch (codec_number) { - case 0: - coding_type = coding_PCM8; - bits_per_sample = 8; - break; - case 1: - coding_type = coding_PCM16LE; - bits_per_sample = 16; - break; - case 2: - coding_type = coding_IMA_int; - bits_per_sample = 4; - break; - default: - goto fail; - } - - /* build the VGMSTREAM */ - vgmstream = allocate_vgmstream(channel_count,loop_flag); - if (!vgmstream) goto fail; - - /* fill in the vital statistics */ - start_offset = 0x24; - vgmstream->num_samples = - (read_32bitLE(0x14,streamFile) - 0x14) * 8 / bits_per_sample; - vgmstream->sample_rate = (uint16_t)read_16bitLE(0x1A,streamFile); - - if (loop_flag) { - vgmstream->loop_start_sample = - (uint16_t)read_16bitLE(0x1E,streamFile) * 32 / bits_per_sample; - vgmstream->loop_end_sample = - read_32bitLE(0x20,streamFile) * 32 / bits_per_sample + - vgmstream->loop_start_sample; - } - - if (coding_type == coding_IMA_int) { - /* handle IMA frame header */ - vgmstream->loop_start_sample -= 32 / bits_per_sample; - vgmstream->loop_end_sample -= 32 / bits_per_sample; - vgmstream->num_samples -= 32 / bits_per_sample; - - { - int i; - for (i=0; ich[i].adpcm_history1_32 = - read_16bitLE(start_offset + 0 + 4*i, streamFile); - vgmstream->ch[i].adpcm_step_index = - read_16bitLE(start_offset + 2 + 4*i, streamFile); - } - } - - start_offset += 4 * channel_count; - } - - vgmstream->coding_type = coding_type; - vgmstream->meta_type = meta_NDS_SWAV; - if (channel_count == 2) { - vgmstream->layout_type = layout_interleave; - vgmstream->interleave_block_size = 1; - } else { - vgmstream->layout_type = layout_none; - } - - /* open the file for reading by each channel */ - - { - int i; - STREAMFILE * file; - file = streamFile->open(streamFile,filename,STREAMFILE_DEFAULT_BUFFER_SIZE); - if (!file) goto fail; - for (i=0;ich[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; -} diff --git a/Frameworks/vgmstream/vgmstream/src/meta/riff.c b/Frameworks/vgmstream/vgmstream/src/meta/riff.c index 53eba94e2..d61ade953 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/riff.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/riff.c @@ -392,6 +392,9 @@ VGMSTREAM * init_vgmstream_riff(STREAMFILE *streamFile) { else if (riff_size >= file_size && read_32bitBE(0x24,streamFile) == 0x4E584246) /* "NXBF" */ riff_size = file_size - 0x08; /* [R:Racing Evolution (Xbox)] */ + + else if (riff_size / 4 + 0x4800 + 0x3c == file_size && codec == 0x0011) /* riff_size ~= data_size * 4, always has fact and 0x14 fmt */ + riff_size = file_size - 0x08; /* [Asphalt 6 (iOS)] (sfx/memory wavs have ok sizes, only streaming wavs?) */ } /* check for truncated RIFF */ @@ -936,7 +939,7 @@ static size_t get_ue4_msadpcm_interleave(STREAMFILE *sf, riff_fmt_chunk *fmt, of return v2_interleave; /* favor newer games */ } -/* same but big endian, seen in the spec and in Kitchenette (PC) */ +/* same but big endian, seen in the spec and in Kitchenette (PC) (possibly from Adobe Director) */ VGMSTREAM * init_vgmstream_rifx(STREAMFILE *streamFile) { VGMSTREAM * vgmstream = NULL; riff_fmt_chunk fmt = {0}; diff --git a/Frameworks/vgmstream/vgmstream/src/meta/swav.c b/Frameworks/vgmstream/vgmstream/src/meta/swav.c new file mode 100644 index 000000000..0e8b33532 --- /dev/null +++ b/Frameworks/vgmstream/vgmstream/src/meta/swav.c @@ -0,0 +1,99 @@ +#include "meta.h" +#include "../util.h" + + +/* SWAV - from Gameloft(?) games [Asphalt Urban GT (DS), Asphalt Urban GT 2 (DS)] */ +VGMSTREAM* init_vgmstream_swav(STREAMFILE* sf) { + VGMSTREAM* vgmstream = NULL; + int channel_count, loop_flag; + off_t start_offset; + int codec_number, bits_per_sample; + coding_t coding_type; + + + /* checks */ + /* .swav: standard + * .adpcm: Merlin - A Servant of Two Masters (DS) */ + if (!check_extensions(sf, "swav,adpcm")) + goto fail; + + if (read_u32be(0x00,sf) != 0x53574156) /* "SWAV" */ + goto fail; + if (read_u32be(0x10,sf) != 0x44415441) /* "DATA" */ + goto fail; + + /* check type details */ + codec_number = read_8bit(0x18,sf); + loop_flag = read_8bit(0x19,sf); + + channel_count = 1; + if (get_streamfile_size(sf) != read_s32le(0x08,sf)) { + if (get_streamfile_size(sf) != (read_s32le(0x08,sf) - 0x24) * 2 + 0x24) + goto fail; + channel_count = 2; + } + + switch (codec_number) { + case 0: + coding_type = coding_PCM8; + bits_per_sample = 8; + break; + case 1: + coding_type = coding_PCM16LE; + bits_per_sample = 16; + break; + case 2: + coding_type = coding_IMA_int; + bits_per_sample = 4; + break; + default: + goto fail; + } + start_offset = 0x24; + + + /* build the VGMSTREAM */ + vgmstream = allocate_vgmstream(channel_count, loop_flag); + if (!vgmstream) goto fail; + + vgmstream->num_samples = (read_s32le(0x14,sf) - 0x14) * 8 / bits_per_sample; + vgmstream->sample_rate = read_u16le(0x1A,sf); + if (loop_flag) { + vgmstream->loop_start_sample = read_u16le(0x1E,sf) * 32 / bits_per_sample; + vgmstream->loop_end_sample = read_s32le(0x20,sf) * 32 / bits_per_sample + vgmstream->loop_start_sample; + } + + if (coding_type == coding_IMA_int) { + /* handle IMA frame header */ + vgmstream->loop_start_sample -= 32 / bits_per_sample; + vgmstream->loop_end_sample -= 32 / bits_per_sample; + vgmstream->num_samples -= 32 / bits_per_sample; + + { + int i; + for (i = 0; i < channel_count; i++) { + vgmstream->ch[i].adpcm_history1_32 = read_s16le(start_offset + 0 + 4*i, sf); + vgmstream->ch[i].adpcm_step_index = read_s16le(start_offset + 2 + 4*i, sf); + } + } + + start_offset += 4 * channel_count; + } + + vgmstream->coding_type = coding_type; + vgmstream->meta_type = meta_SWAV; + if (channel_count == 2) { + vgmstream->layout_type = layout_interleave; + vgmstream->interleave_block_size = 1; + } else { + vgmstream->layout_type = layout_none; + } + + if (!vgmstream_open_stream(vgmstream, sf, start_offset)) + goto fail; + return vgmstream; + +fail: + close_vgmstream(vgmstream); + return NULL; +} diff --git a/Frameworks/vgmstream/vgmstream/src/meta/txth.c b/Frameworks/vgmstream/vgmstream/src/meta/txth.c index f98e6296f..1b792352f 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/txth.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/txth.c @@ -38,8 +38,11 @@ typedef enum { AAC = 28, /* Advanced Audio Coding (raw without .mp4) */ TGC = 29, /* Tiger Game.com 4-bit ADPCM */ ASF = 30, /* Argonaut ASF 4-bit ADPCM */ + EAXA = 31, /* Electronic Arts EA-XA 4-bit ADPCM v1 */ } txth_type; +typedef enum { DEFAULT, NEGATIVE, POSITIVE, INVERTED } txth_loop_t; + typedef struct { txth_type codec; uint32_t codec_mode; @@ -72,7 +75,7 @@ typedef struct { uint32_t skip_samples; uint32_t loop_flag; - uint32_t loop_behavior; + txth_loop_t loop_behavior; int loop_flag_set; int loop_flag_auto; @@ -119,61 +122,61 @@ typedef struct { int name_values_count; /* original STREAMFILE and its type (may be an unsupported "base" file or a .txth) */ - STREAMFILE *streamFile; + STREAMFILE* sf; int streamfile_is_txth; /* configurable STREAMFILEs and if we opened it (thus must close it later) */ - STREAMFILE *streamText; - STREAMFILE *streamHead; - STREAMFILE *streamBody; - int streamtext_opened; - int streamhead_opened; - int streambody_opened; + STREAMFILE* sf_text; + STREAMFILE* sf_head; + STREAMFILE* sf_body; + int sf_text_opened; + int sf_head_opened; + int sf_body_opened; } txth_header; -static VGMSTREAM *init_subfile(txth_header * txth); -static STREAMFILE * open_txth(STREAMFILE * streamFile); -static void clean_txth(txth_header * txth); -static int parse_txth(txth_header * txth); +static VGMSTREAM* init_subfile(txth_header* txth); +static STREAMFILE* open_txth(STREAMFILE* sf); +static void clean_txth(txth_header* txth); +static int parse_txth(txth_header* txth); /* TXTH - an artificial "generic" header for headerless streams. * Similar to GENH, but with a single separate .txth file in the dir and text-based. */ -VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { - VGMSTREAM * vgmstream = NULL; +VGMSTREAM* init_vgmstream_txth(STREAMFILE* sf) { + VGMSTREAM* vgmstream = NULL; txth_header txth = {0}; coding_t coding; int i, j; /* accept .txth (should set body_file or will fail later) */ - if (check_extensions(streamFile, "txth")) { - txth.streamFile = streamFile; + if (check_extensions(sf, "txth")) { + txth.sf = sf; txth.streamfile_is_txth = 1; - txth.streamText = streamFile; - txth.streamHead = NULL; - txth.streamBody = NULL; - txth.streamtext_opened = 0; - txth.streamhead_opened = 0; - txth.streambody_opened = 0; + txth.sf_text = sf; + txth.sf_head = NULL; + txth.sf_body = NULL; + txth.sf_text_opened = 0; + txth.sf_head_opened = 0; + txth.sf_body_opened = 0; } else { /* accept base file (no need for ID or ext checks --if a companion .TXTH exists all is good). * player still needs to accept the streamfile's ext, so at worst rename to .vgmstream */ - STREAMFILE * streamText = open_txth(streamFile); - if (!streamText) goto fail; + STREAMFILE* sf_text = open_txth(sf); + if (!sf_text) goto fail; - txth.streamFile = streamFile; + txth.sf = sf; txth.streamfile_is_txth = 0; - txth.streamText = streamText; - txth.streamHead = streamFile; - txth.streamBody = streamFile; - txth.streamtext_opened = 1; - txth.streamhead_opened = 0; - txth.streambody_opened = 0; + txth.sf_text = sf_text; + txth.sf_head = sf; + txth.sf_body = sf; + txth.sf_text_opened = 1; + txth.sf_head_opened = 0; + txth.sf_body_opened = 0; } /* process the text file */ @@ -182,7 +185,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { /* special case of parsing subfiles */ if (txth.subfile_set) { - VGMSTREAM *subfile_vgmstream = init_subfile(&txth); + VGMSTREAM* subfile_vgmstream = init_subfile(&txth); clean_txth(&txth); return subfile_vgmstream; } @@ -225,6 +228,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { case OKI16: coding = coding_OKI16; break; case TGC: coding = coding_TGC; break; case ASF: coding = coding_ASF; break; + case EAXA: coding = coding_EA_XA; break; default: goto fail; } @@ -232,7 +236,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { /* try to autodetect PS-ADPCM loop data */ if (txth.loop_flag_auto && coding == coding_PSX) { - txth.loop_flag = ps_find_loop_offsets(txth.streamBody, txth.start_offset, txth.data_size, txth.channels, txth.interleave, + txth.loop_flag = ps_find_loop_offsets(txth.sf_body, txth.start_offset, txth.data_size, txth.channels, txth.interleave, (int32_t*)&txth.loop_start_sample, (int32_t*)&txth.loop_end_sample); } @@ -249,7 +253,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { vgmstream->stream_size = txth.data_size; if (txth.name_offset_set) { size_t name_size = txth.name_size ? txth.name_size + 1 : STREAM_NAME_SIZE; - read_string(vgmstream->stream_name,name_size, txth.name_offset,txth.streamHead); + read_string(vgmstream->stream_name,name_size, txth.name_offset,txth.sf_head); } /* codec specific (taken from GENH with minimal changes) */ @@ -341,6 +345,20 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { vgmstream->interleave_block_size = 0x11; break; + case coding_EA_XA: /* from 'raw' modes in sx.exe [Harry Potter and the Chamber of Secrets (PC)] */ + if (vgmstream->channels == 1 || txth.codec_mode == 1) { /* mono/interleave */ + coding = coding_EA_XA_int; + vgmstream->layout_type = layout_interleave; + vgmstream->interleave_block_size = txth.interleave; + vgmstream->interleave_last_block_size = txth.interleave_last; + } else { /* stereo */ + if (vgmstream->channels > 2) + goto fail; /* only 2ch is known */ + + vgmstream->layout_type = layout_none; + } + break; + case coding_MS_IMA: if (!txth.interleave) goto fail; /* creates garbage */ @@ -406,7 +424,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { if (txth.coef_table_set) coef = get_16bit(txth.coef_table + i*txth.coef_spacing + j*2); else - coef = read_16bit(txth.coef_offset + i*txth.coef_spacing + j*2, txth.streamHead); + coef = read_16bit(txth.coef_offset + i*txth.coef_spacing + j*2, txth.sf_head); vgmstream->ch[i].adpcm_coef[j] = coef; } } @@ -414,8 +432,8 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { goto fail; //IDK what is this /* for (j = 0; j < 8; j++) { - vgmstream->ch[i].adpcm_coef[j*2] = read_16bit(genh.coef_offset + i*genh.coef_spacing + j*2, txth.streamHead); - vgmstream->ch[i].adpcm_coef[j*2+1] = read_16bit(genh.coef_split_offset + i*genh.coef_split_spacing + j*2, txth.streamHead); + vgmstream->ch[i].adpcm_coef[j*2] = read_16bit(genh.coef_offset + i*genh.coef_spacing + j*2, txth.sf_head); + vgmstream->ch[i].adpcm_coef[j*2+1] = read_16bit(genh.coef_split_offset + i*genh.coef_split_spacing + j*2, txth.sf_head); } */ } @@ -428,8 +446,8 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { for (i = 0; i < vgmstream->channels; i++) { off_t offset = txth.hist_offset + i*txth.hist_spacing; - vgmstream->ch[i].adpcm_history1_16 = read_16bit(offset + 0x00, txth.streamHead); - vgmstream->ch[i].adpcm_history2_16 = read_16bit(offset + 0x02, txth.streamHead); + vgmstream->ch[i].adpcm_history1_16 = read_16bit(offset + 0x00, txth.sf_head); + vgmstream->ch[i].adpcm_history2_16 = read_16bit(offset + 0x02, txth.sf_head); } } @@ -438,7 +456,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { #ifdef VGM_USE_MPEG case coding_MPEG_layer3: vgmstream->layout_type = layout_none; - vgmstream->codec_data = init_mpeg(txth.streamBody, txth.start_offset, &coding, vgmstream->channels); + vgmstream->codec_data = init_mpeg(txth.sf_body, txth.start_offset, &coding, vgmstream->channels); if (!vgmstream->codec_data) goto fail; break; @@ -449,7 +467,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { if (txth.codec == FFMPEG || txth.codec == AC3 || txth.codec == AAC) { /* default FFmpeg */ - ffmpeg_data = init_ffmpeg_offset(txth.streamBody, txth.start_offset,txth.data_size); + ffmpeg_data = init_ffmpeg_offset(txth.sf_body, txth.start_offset,txth.data_size); if ( !ffmpeg_data ) goto fail; if (vgmstream->num_samples == 0) @@ -466,21 +484,21 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { block_align = txth.interleave; encoder_delay = txth.skip_samples; - ffmpeg_data = init_ffmpeg_atrac3_raw(txth.streamBody, txth.start_offset,txth.data_size, vgmstream->num_samples,vgmstream->channels,vgmstream->sample_rate, block_align, encoder_delay); + ffmpeg_data = init_ffmpeg_atrac3_raw(txth.sf_body, txth.start_offset,txth.data_size, vgmstream->num_samples,vgmstream->channels,vgmstream->sample_rate, block_align, encoder_delay); if (!ffmpeg_data) goto fail; } else if (txth.codec == ATRAC3PLUS) { int block_size = txth.interleave; bytes = ffmpeg_make_riff_atrac3plus(buf, sizeof(buf), vgmstream->num_samples, txth.data_size, vgmstream->channels, vgmstream->sample_rate, block_size, txth.skip_samples); - ffmpeg_data = init_ffmpeg_header_offset(txth.streamBody, buf,bytes, txth.start_offset,txth.data_size); + ffmpeg_data = init_ffmpeg_header_offset(txth.sf_body, buf,bytes, txth.start_offset,txth.data_size); if ( !ffmpeg_data ) goto fail; } else if (txth.codec == XMA1) { int xma_stream_mode = txth.codec_mode == 1 ? 1 : 0; bytes = ffmpeg_make_riff_xma1(buf, sizeof(buf), vgmstream->num_samples, txth.data_size, vgmstream->channels, vgmstream->sample_rate, xma_stream_mode); - ffmpeg_data = init_ffmpeg_header_offset(txth.streamBody, buf,bytes, txth.start_offset,txth.data_size); + ffmpeg_data = init_ffmpeg_header_offset(txth.sf_body, buf,bytes, txth.start_offset,txth.data_size); if ( !ffmpeg_data ) goto fail; } else if (txth.codec == XMA2) { @@ -490,7 +508,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { block_count = txth.data_size / block_size; bytes = ffmpeg_make_riff_xma2(buf, sizeof(buf), vgmstream->num_samples, txth.data_size, vgmstream->channels, vgmstream->sample_rate, block_count, block_size); - ffmpeg_data = init_ffmpeg_header_offset(txth.streamBody, buf,bytes, txth.start_offset,txth.data_size); + ffmpeg_data = init_ffmpeg_header_offset(txth.sf_body, buf,bytes, txth.start_offset,txth.data_size); if ( !ffmpeg_data ) goto fail; } else { @@ -502,7 +520,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { vgmstream->layout_type = layout_none; if (txth.codec == XMA1 || txth.codec == XMA2) { - xma_fix_raw_samples(vgmstream, txth.streamBody, txth.start_offset,txth.data_size, 0, 0,0); + xma_fix_raw_samples(vgmstream, txth.sf_body, txth.start_offset,txth.data_size, 0, 0,0); } else if (txth.skip_samples_set && txth.codec != ATRAC3) { /* force encoder delay */ ffmpeg_set_skip_samples(ffmpeg_data, txth.skip_samples); } @@ -531,7 +549,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { msd.loop_end_subframe = txth.loop_adjust >> 4; /* upper 4b: subframe where the loop ends, 0..3 */ } - xma_get_samples(&msd, txth.streamBody); + xma_get_samples(&msd, txth.sf_body); vgmstream->num_samples = msd.num_samples; if (txth.sample_type==1) { @@ -546,7 +564,7 @@ VGMSTREAM * init_vgmstream_txth(STREAMFILE *streamFile) { vgmstream->allow_dual_stereo = 1; - if ( !vgmstream_open_stream(vgmstream,txth.streamBody,txth.start_offset) ) + if ( !vgmstream_open_stream(vgmstream,txth.sf_body,txth.start_offset) ) goto fail; clean_txth(&txth); @@ -558,10 +576,10 @@ fail: return NULL; } -static VGMSTREAM *init_subfile(txth_header * txth) { - VGMSTREAM *vgmstream = NULL; +static VGMSTREAM* init_subfile(txth_header* txth) { + VGMSTREAM* vgmstream = NULL; char extension[PATH_LIMIT]; - STREAMFILE * streamSubfile = NULL; + STREAMFILE* streamSubfile = NULL; if (txth->subfile_size == 0) { @@ -569,12 +587,12 @@ static VGMSTREAM *init_subfile(txth_header * txth) { txth->subfile_size = txth->data_size; else txth->subfile_size = txth->data_size - txth->subfile_offset; - if (txth->subfile_size + txth->subfile_offset > get_streamfile_size(txth->streamBody)) - txth->subfile_size = get_streamfile_size(txth->streamBody) - txth->subfile_offset; + if (txth->subfile_size + txth->subfile_offset > get_streamfile_size(txth->sf_body)) + txth->subfile_size = get_streamfile_size(txth->sf_body) - txth->subfile_offset; } if (txth->subfile_extension[0] == '\0') - get_streamfile_ext(txth->streamFile,txth->subfile_extension,sizeof(txth->subfile_extension)); + get_streamfile_ext(txth->sf,txth->subfile_extension,sizeof(txth->subfile_extension)); /* must detect a potential infinite loop: * - init_vgmstream enters TXTH and reads .txth @@ -586,7 +604,7 @@ static VGMSTREAM *init_subfile(txth_header * txth) { strcpy(extension, "subfile_txth."); strcat(extension, txth->subfile_extension); - streamSubfile = setup_subfile_streamfile(txth->streamBody, txth->subfile_offset, txth->subfile_size, extension); + streamSubfile = setup_subfile_streamfile(txth->sf_body, txth->subfile_offset, txth->subfile_size, extension); if (!streamSubfile) goto fail; vgmstream = init_vgmstream_from_STREAMFILE(streamSubfile); @@ -635,67 +653,67 @@ fail: } -static STREAMFILE * open_txth(STREAMFILE * streamFile) { +static STREAMFILE* open_txth(STREAMFILE* sf) { char basename[PATH_LIMIT]; char filename[PATH_LIMIT]; char fileext[PATH_LIMIT]; const char *subext; - STREAMFILE * streamText; + STREAMFILE* sf_text; /* try "(path/)(name.ext).txth" */ - get_streamfile_name(streamFile,filename,PATH_LIMIT); + get_streamfile_name(sf,filename,PATH_LIMIT); if (strstr(filename, "subfile_txth") != NULL) return NULL; /* detect special case of subfile-within-subfile */ strcat(filename, ".txth"); - streamText = open_streamfile(streamFile,filename); - if (streamText) return streamText; + sf_text = open_streamfile(sf,filename); + if (sf_text) return sf_text; /* try "(path/)(.sub.ext).txth" */ - get_streamfile_basename(streamFile,basename,PATH_LIMIT); + get_streamfile_basename(sf,basename,PATH_LIMIT); subext = filename_extension(basename); if (subext != NULL) { - get_streamfile_path(streamFile,filename,PATH_LIMIT); - get_streamfile_ext(streamFile,fileext,PATH_LIMIT); + get_streamfile_path(sf,filename,PATH_LIMIT); + get_streamfile_ext(sf,fileext,PATH_LIMIT); strcat(filename,"."); strcat(filename, subext); strcat(filename,"."); strcat(filename, fileext); strcat(filename, ".txth"); - streamText = open_streamfile(streamFile,filename); - if (streamText) return streamText; + sf_text = open_streamfile(sf,filename); + if (sf_text) return sf_text; } /* try "(path/)(.ext).txth" */ - get_streamfile_path(streamFile,filename,PATH_LIMIT); - get_streamfile_ext(streamFile,fileext,PATH_LIMIT); + get_streamfile_path(sf,filename,PATH_LIMIT); + get_streamfile_ext(sf,fileext,PATH_LIMIT); strcat(filename,"."); strcat(filename, fileext); strcat(filename, ".txth"); - streamText = open_streamfile(streamFile,filename); - if (streamText) return streamText; + sf_text = open_streamfile(sf,filename); + if (sf_text) return sf_text; /* try "(path/).txth" */ - get_streamfile_path(streamFile,filename,PATH_LIMIT); + get_streamfile_path(sf,filename,PATH_LIMIT); strcat(filename, ".txth"); - streamText = open_streamfile(streamFile,filename); - if (streamText) return streamText; + sf_text = open_streamfile(sf,filename); + if (sf_text) return sf_text; /* not found */ return NULL; } -static void clean_txth(txth_header * txth) { +static void clean_txth(txth_header* txth) { /* close stuff manually opened during parse */ - if (txth->streamtext_opened) close_streamfile(txth->streamText); - if (txth->streamhead_opened) close_streamfile(txth->streamHead); - if (txth->streambody_opened) close_streamfile(txth->streamBody); + if (txth->sf_text_opened) close_streamfile(txth->sf_text); + if (txth->sf_head_opened) close_streamfile(txth->sf_head); + if (txth->sf_body_opened) close_streamfile(txth->sf_body); } /* ****************************************************************** */ -static void set_body_chunk(txth_header * txth) { - STREAMFILE *temp_streamFile = NULL; +static void set_body_chunk(txth_header* txth) { + STREAMFILE* temp_sf = NULL; /* sets body "chunk" if all needed values are set * (done inline for padding/get_samples/etc calculators to work) */ @@ -704,7 +722,7 @@ static void set_body_chunk(txth_header * txth) { return; if (txth->chunk_size == 0 || txth->chunk_start > txth->data_size || txth->chunk_count == 0) return; - if (!txth->streamBody) + if (!txth->sf_body) return; /* treat chunks as subsongs */ @@ -725,20 +743,20 @@ static void set_body_chunk(txth_header * txth) { cfg.chunk_count = txth->chunk_count; cfg.chunk_number = txth->chunk_number - 1; /* 1-index to 0-index */ - temp_streamFile = setup_txth_streamfile(txth->streamBody, cfg, txth->streambody_opened); - if (!temp_streamFile) return; + temp_sf = setup_txth_streamfile(txth->sf_body, cfg, txth->sf_body_opened); + if (!temp_sf) return; } - /* closing is handled by temp_streamFile */ - //if (txth->streambody_opened) { - // close_streamfile(txth->streamBody); - // txth->streamBody = NULL; - // txth->streambody_opened = 0; + /* closing is handled by temp_sf */ + //if (txth->sf_body_opened) { + // close_streamfile(txth->sf_body); + // txth->sf_body = NULL; + // txth->sf_body_opened = 0; //} - txth->streamBody = temp_streamFile; - txth->streambody_opened = 1; + txth->sf_body = temp_sf; + txth->sf_body_opened = 1; /* cancel values once set, to avoid weirdness and possibly allow chunks-in-chunks? */ txth->chunk_start_set = 0; @@ -747,38 +765,38 @@ static void set_body_chunk(txth_header * txth) { /* re-apply */ if (!txth->data_size_set) { - txth->data_size = get_streamfile_size(txth->streamBody); + txth->data_size = get_streamfile_size(txth->sf_body); } } -static int parse_keyval(STREAMFILE * streamFile, txth_header * txth, const char * key, char * val); -static int parse_num(STREAMFILE * streamFile, txth_header * txth, const char * val, uint32_t * out_value); -static int parse_string(STREAMFILE * streamFile, txth_header * txth, const char * val, char * str); -static int parse_coef_table(STREAMFILE * streamFile, txth_header * txth, const char * val, uint8_t * out_value, size_t out_size); -static int parse_name_table(txth_header * txth, char * val); +static int parse_keyval(STREAMFILE* sf, txth_header* txth, const char * key, char * val); +static int parse_num(STREAMFILE* sf, txth_header* txth, const char * val, uint32_t * out_value); +static int parse_string(STREAMFILE* sf, txth_header* txth, const char * val, char * str); +static int parse_coef_table(STREAMFILE* sf, txth_header* txth, const char * val, uint8_t * out_value, size_t out_size); +static int parse_name_table(txth_header* txth, char * val); static int is_string(const char * val, const char * cmp); -static int get_bytes_to_samples(txth_header * txth, uint32_t bytes); -static int get_padding_size(txth_header * txth, int discard_empty); +static int get_bytes_to_samples(txth_header* txth, uint32_t bytes); +static int get_padding_size(txth_header* txth, int discard_empty); /* Simple text parser of "key = value" lines. * The code is meh and error handling not exactly the best. */ -static int parse_txth(txth_header * txth) { +static int parse_txth(txth_header* txth) { off_t txt_offset = 0x00; - off_t file_size = get_streamfile_size(txth->streamText); + off_t file_size = get_streamfile_size(txth->sf_text); /* setup txth defaults */ - if (txth->streamBody) - txth->data_size = get_streamfile_size(txth->streamBody); - txth->target_subsong = txth->streamFile->stream_index; + if (txth->sf_body) + txth->data_size = get_streamfile_size(txth->sf_body); + txth->target_subsong = txth->sf->stream_index; if (txth->target_subsong == 0) txth->target_subsong = 1; /* skip BOM if needed */ - if ((uint16_t)read_16bitLE(0x00, txth->streamText) == 0xFFFE || - (uint16_t)read_16bitLE(0x00, txth->streamText) == 0xFEFF) { + if ((uint16_t)read_16bitLE(0x00, txth->sf_text) == 0xFFFE || + (uint16_t)read_16bitLE(0x00, txth->sf_text) == 0xFEFF) { txt_offset = 0x02; } - else if (((uint32_t)read_32bitBE(0x00, txth->streamText) & 0xFFFFFF00) == 0xEFBBBF00) { + else if (((uint32_t)read_32bitBE(0x00, txth->sf_text) & 0xFFFFFF00) == 0xEFBBBF00) { txt_offset = 0x03; } @@ -788,36 +806,36 @@ static int parse_txth(txth_header * txth) { char key[TXT_LINE_MAX] = {0}, val[TXT_LINE_MAX] = {0}; /* at least as big as a line to avoid overflows (I hope) */ int ok, bytes_read, line_ok; - bytes_read = read_line(line, sizeof(line), txt_offset, txth->streamText, &line_ok); + bytes_read = read_line(line, sizeof(line), txt_offset, txth->sf_text, &line_ok); if (!line_ok) goto fail; //;VGM_LOG("TXTH: line=%s\n",line); txt_offset += bytes_read; - + /* get key/val (ignores lead spaces, stops at space/comment/separator) */ ok = sscanf(line, " %[^ \t#=] = %[^\t#\r\n] ", key,val); if (ok != 2) /* ignore line if no key=val (comment or garbage) */ continue; - if (!parse_keyval(txth->streamFile, txth, key, val)) /* read key/val */ + if (!parse_keyval(txth->sf, txth, key, val)) /* read key/val */ goto fail; } if (!txth->loop_flag_set) txth->loop_flag = txth->loop_end_sample && txth->loop_end_sample != 0xFFFFFFFF; - if (!txth->streamBody) + if (!txth->sf_body) goto fail; - if (txth->data_size > get_streamfile_size(txth->streamBody) - txth->start_offset || txth->data_size <= 0) - txth->data_size = get_streamfile_size(txth->streamBody) - txth->start_offset; + if (txth->data_size > get_streamfile_size(txth->sf_body) - txth->start_offset || txth->data_size <= 0) + txth->data_size = get_streamfile_size(txth->sf_body) - txth->start_offset; return 1; fail: return 0; } -static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char * key, char * val) { +static int parse_keyval(STREAMFILE* sf_, txth_header* txth, const char * key, char * val) { //;VGM_LOG("TXTH: key=%s, val=%s\n", key, val); /* CODEC */ @@ -856,6 +874,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char else if (is_string(val,"TGC")) txth->codec = TGC; else if (is_string(val,"GCOM_ADPCM")) txth->codec = TGC; else if (is_string(val,"ASF")) txth->codec = ASF; + else if (is_string(val,"EAXA")) txth->codec = EAXA; else goto fail; /* set common interleaves to simplify usage @@ -874,29 +893,29 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char } } else if (is_string(key,"codec_mode")) { - if (!parse_num(txth->streamHead,txth,val, &txth->codec_mode)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->codec_mode)) goto fail; } /* VALUE MODIFIERS */ else if (is_string(key,"value_mul") || is_string(key,"value_*")) { - if (!parse_num(txth->streamHead,txth,val, &txth->value_mul)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->value_mul)) goto fail; } else if (is_string(key,"value_div") || is_string(key,"value_/")) { - if (!parse_num(txth->streamHead,txth,val, &txth->value_div)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->value_div)) goto fail; } else if (is_string(key,"value_add") || is_string(key,"value_+")) { - if (!parse_num(txth->streamHead,txth,val, &txth->value_add)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->value_add)) goto fail; } else if (is_string(key,"value_sub") || is_string(key,"value_-")) { - if (!parse_num(txth->streamHead,txth,val, &txth->value_sub)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->value_sub)) goto fail; } /* ID VALUES */ else if (is_string(key,"id_value")) { - if (!parse_num(txth->streamHead,txth,val, &txth->id_value)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->id_value)) goto fail; } else if (is_string(key,"id_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->id_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->id_offset)) goto fail; if (txth->id_value != txth->id_offset) /* evaluate current ID */ goto fail; } @@ -908,7 +927,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->interleave = txth->data_size / txth->channels; } else { - if (!parse_num(txth->streamHead,txth,val, &txth->interleave)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->interleave)) goto fail; } } else if (is_string(key,"interleave_last")) { @@ -917,21 +936,21 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->interleave_last = (txth->data_size % (txth->interleave * txth->channels)) / txth->channels; } else { - if (!parse_num(txth->streamHead,txth,val, &txth->interleave_last)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->interleave_last)) goto fail; } } /* BASE CONFIG */ else if (is_string(key,"channels")) { - if (!parse_num(txth->streamHead,txth,val, &txth->channels)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->channels)) goto fail; } else if (is_string(key,"sample_rate")) { - if (!parse_num(txth->streamHead,txth,val, &txth->sample_rate)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->sample_rate)) goto fail; } /* DATA CONFIG */ else if (is_string(key,"start_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->start_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->start_offset)) goto fail; /* apply */ @@ -942,7 +961,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char if (txth->subsong_count > 1 && txth->target_subsong < txth->subsong_count) { /* temp move to next start_offset and move back*/ txth->target_subsong++; - parse_num(txth->streamHead,txth,val, &txth->next_offset); + parse_num(txth->sf_head,txth,val, &txth->next_offset); txth->target_subsong--; if (txth->next_offset < txth->start_offset) txth->next_offset = 0; @@ -962,7 +981,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->padding_size = get_padding_size(txth, 1); } else { - if (!parse_num(txth->streamHead,txth,val, &txth->padding_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->padding_size)) goto fail; } /* apply */ @@ -972,7 +991,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char } } else if (is_string(key,"data_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->data_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->data_size)) goto fail; txth->data_size_set = 1; } @@ -989,7 +1008,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->num_samples_data_size = 1; } else { - if (!parse_num(txth->streamHead,txth,val, &txth->num_samples)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->num_samples)) goto fail; if (txth->sample_type==1) txth->num_samples = get_bytes_to_samples(txth, txth->num_samples); if (txth->sample_type==2) @@ -997,7 +1016,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char } } else if (is_string(key,"loop_start_sample")) { - if (!parse_num(txth->streamHead,txth,val, &txth->loop_start_sample)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->loop_start_sample)) goto fail; if (txth->sample_type==1) txth->loop_start_sample = get_bytes_to_samples(txth, txth->loop_start_sample); if (txth->sample_type==2) @@ -1010,7 +1029,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->loop_end_sample = get_bytes_to_samples(txth, txth->data_size); } else { - if (!parse_num(txth->streamHead,txth,val, &txth->loop_end_sample)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->loop_end_sample)) goto fail; if (txth->sample_type==1) txth->loop_end_sample = get_bytes_to_samples(txth, txth->loop_end_sample); if (txth->sample_type==2) @@ -1020,7 +1039,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->loop_end_sample += txth->loop_adjust; } else if (is_string(key,"skip_samples")) { - if (!parse_num(txth->streamHead,txth,val, &txth->skip_samples)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->skip_samples)) goto fail; txth->skip_samples_set = 1; if (txth->sample_type==1) txth->skip_samples = get_bytes_to_samples(txth, txth->skip_samples); @@ -1028,7 +1047,7 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->skip_samples = get_bytes_to_samples(txth, txth->skip_samples * (txth->interleave*txth->channels)); } else if (is_string(key,"loop_adjust")) { - if (!parse_num(txth->streamHead,txth,val, &txth->loop_adjust)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->loop_adjust)) goto fail; if (txth->sample_type==1) txth->loop_adjust = get_bytes_to_samples(txth, txth->loop_adjust); if (txth->sample_type==2) @@ -1039,64 +1058,68 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->loop_flag_auto = 1; } else { - if (!parse_num(txth->streamHead,txth,val, &txth->loop_flag)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->loop_flag)) goto fail; txth->loop_flag_set = 1; - if (txth->loop_behavior == 0) { + if (txth->loop_behavior == DEFAULT) { if ((txth->loop_flag == 0xFFFF || txth->loop_flag == 0xFFFFFFFF) ) txth->loop_flag = 0; - } - else if (txth->loop_behavior == 1) { + else if (txth->loop_behavior == NEGATIVE) { if (txth->loop_flag == 0xFF || txth->loop_flag == 0xFFFF || txth->loop_flag == 0xFFFFFFFF) txth->loop_flag = 1; } - else if (txth->loop_behavior == 2) { + else if (txth->loop_behavior == POSITIVE) { if (txth->loop_flag == 0xFF || txth->loop_flag == 0xFFFF || txth->loop_flag == 0xFFFFFFFF) txth->loop_flag = 0; } + else if (txth->loop_behavior == INVERTED) { + txth->loop_flag = (txth->loop_flag == 0); + } } } else if (is_string(key,"loop_behavior")) { if (is_string(val, "default")) - txth->loop_behavior = 0; + txth->loop_behavior = DEFAULT; else if (is_string(val, "negative")) - txth->loop_behavior = 1; + txth->loop_behavior = NEGATIVE; else if (is_string(val, "positive")) - txth->loop_behavior = 2; + txth->loop_behavior = POSITIVE; + else if (is_string(val, "inverted")) + txth->loop_behavior = INVERTED; else goto fail; } /* COEFS */ else if (is_string(key,"coef_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->coef_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->coef_offset)) goto fail; /* special adjustments */ txth->coef_offset += txth->base_offset; if (txth->subsong_offset) txth->coef_offset += txth->subsong_offset * (txth->target_subsong - 1); } else if (is_string(key,"coef_spacing")) { - if (!parse_num(txth->streamHead,txth,val, &txth->coef_spacing)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->coef_spacing)) goto fail; } else if (is_string(key,"coef_endianness")) { if (is_string(val, "BE")) txth->coef_big_endian = 1; else if (is_string(val, "LE")) txth->coef_big_endian = 0; - else if (!parse_num(txth->streamHead,txth,val, &txth->coef_big_endian)) goto fail; + else if (!parse_num(txth->sf_head,txth,val, &txth->coef_big_endian)) goto fail; } else if (is_string(key,"coef_mode")) { - if (!parse_num(txth->streamHead,txth,val, &txth->coef_mode)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->coef_mode)) goto fail; } else if (is_string(key,"coef_table")) { - if (!parse_coef_table(txth->streamHead,txth,val, txth->coef_table, sizeof(txth->coef_table))) goto fail; + if (!parse_coef_table(txth->sf_head,txth,val, txth->coef_table, sizeof(txth->coef_table))) goto fail; txth->coef_table_set = 1; } /* HIST */ else if (is_string(key,"hist_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->hist_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->hist_offset)) goto fail; txth->hist_set = 1; /* special adjustment */ txth->hist_offset += txth->hist_offset; @@ -1104,25 +1127,25 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->hist_offset += txth->subsong_offset * (txth->target_subsong - 1); } else if (is_string(key,"hist_spacing")) { - if (!parse_num(txth->streamHead,txth,val, &txth->hist_spacing)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->hist_spacing)) goto fail; } else if (is_string(key,"hist_endianness")) { if (is_string(val, "BE")) txth->hist_big_endian = 1; else if (is_string(val, "LE")) txth->hist_big_endian = 0; - else if (!parse_num(txth->streamHead,txth,val, &txth->hist_big_endian)) goto fail; + else if (!parse_num(txth->sf_head,txth,val, &txth->hist_big_endian)) goto fail; } /* SUBSONGS */ else if (is_string(key,"subsong_count")) { - if (!parse_num(txth->streamHead,txth,val, &txth->subsong_count)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->subsong_count)) goto fail; } else if (is_string(key,"subsong_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->subsong_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->subsong_offset)) goto fail; } else if (is_string(key,"name_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->name_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->name_offset)) goto fail; txth->name_offset_set = 1; /* special adjustment */ txth->name_offset += txth->base_offset; @@ -1130,82 +1153,82 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char txth->name_offset += txth->subsong_offset * (txth->target_subsong - 1); } else if (is_string(key,"name_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->name_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->name_size)) goto fail; } /* SUBFILES */ else if (is_string(key,"subfile_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->subfile_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->subfile_offset)) goto fail; txth->subfile_set = 1; } else if (is_string(key,"subfile_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->subfile_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->subfile_size)) goto fail; txth->subfile_set = 1; } else if (is_string(key,"subfile_extension")) { - if (!parse_string(txth->streamHead,txth,val, txth->subfile_extension)) goto fail; + if (!parse_string(txth->sf_head,txth,val, txth->subfile_extension)) goto fail; txth->subfile_set = 1; } /* HEADER/BODY CONFIG */ else if (is_string(key,"header_file")) { - if (txth->streamhead_opened) { - close_streamfile(txth->streamHead); - txth->streamHead = NULL; - txth->streamhead_opened = 0; + if (txth->sf_head_opened) { + close_streamfile(txth->sf_head); + txth->sf_head = NULL; + txth->sf_head_opened = 0; } if (is_string(val,"null")) { /* reset */ if (!txth->streamfile_is_txth) { - txth->streamHead = txth->streamFile; + txth->sf_head = txth->sf; } } else if (val[0]=='*' && val[1]=='.') { /* basename + extension */ - txth->streamHead = open_streamfile_by_ext(txth->streamFile, (val+2)); - if (!txth->streamHead) goto fail; - txth->streamhead_opened = 1; + txth->sf_head = open_streamfile_by_ext(txth->sf, (val+2)); + if (!txth->sf_head) goto fail; + txth->sf_head_opened = 1; } else { /* open file */ fix_dir_separators(val); /* clean paths */ - txth->streamHead = open_streamfile_by_filename(txth->streamFile, val); - if (!txth->streamHead) goto fail; - txth->streamhead_opened = 1; + txth->sf_head = open_streamfile_by_filename(txth->sf, val); + if (!txth->sf_head) goto fail; + txth->sf_head_opened = 1; } } else if (is_string(key,"body_file")) { - if (txth->streambody_opened) { - close_streamfile(txth->streamBody); - txth->streamBody = NULL; - txth->streambody_opened = 0; + if (txth->sf_body_opened) { + close_streamfile(txth->sf_body); + txth->sf_body = NULL; + txth->sf_body_opened = 0; } if (is_string(val,"null")) { /* reset */ if (!txth->streamfile_is_txth) { - txth->streamBody = txth->streamFile; + txth->sf_body = txth->sf; } } else if (val[0]=='*' && val[1]=='.') { /* basename + extension */ - txth->streamBody = open_streamfile_by_ext(txth->streamFile, (val+2)); - if (!txth->streamBody) goto fail; - txth->streambody_opened = 1; + txth->sf_body = open_streamfile_by_ext(txth->sf, (val+2)); + if (!txth->sf_body) goto fail; + txth->sf_body_opened = 1; } else { /* open file */ fix_dir_separators(val); /* clean paths */ - txth->streamBody = open_streamfile_by_filename(txth->streamFile, val); - if (!txth->streamBody) goto fail; - txth->streambody_opened = 1; + txth->sf_body = open_streamfile_by_filename(txth->sf, val); + if (!txth->sf_body) goto fail; + txth->sf_body_opened = 1; } /* use body as header when opening a .txth directly to simplify things */ - if (txth->streamfile_is_txth && !txth->streamhead_opened) { - txth->streamHead = txth->streamBody; + if (txth->streamfile_is_txth && !txth->sf_head_opened) { + txth->sf_head = txth->sf_body; } /* re-apply */ if (!txth->data_size_set) { - txth->data_size = get_streamfile_size(txth->streamBody); + txth->data_size = get_streamfile_size(txth->sf_body); /* maybe should be manually set again? */ if (txth->data_size && txth->data_size > txth->next_offset && txth->next_offset) @@ -1219,37 +1242,37 @@ static int parse_keyval(STREAMFILE * streamFile_, txth_header * txth, const char /* CHUNKS */ else if (is_string(key,"chunk_number")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_number)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_number)) goto fail; } else if (is_string(key,"chunk_start")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_start)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_start)) goto fail; txth->chunk_start_set = 1; set_body_chunk(txth); } else if (is_string(key,"chunk_header_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_header_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_header_size)) goto fail; //txth->chunk_header_size_set = 1; //set_body_chunk(txth); /* optional and should go before chunk_size */ } else if (is_string(key,"chunk_data_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_data_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_data_size)) goto fail; //txth->chunk_data_size_set = 1; //set_body_chunk(txth); /* optional and should go before chunk_size */ } else if (is_string(key,"chunk_size")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_size)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_size)) goto fail; txth->chunk_size_set = 1; set_body_chunk(txth); } else if (is_string(key,"chunk_count")) { - if (!parse_num(txth->streamHead,txth,val, &txth->chunk_count)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->chunk_count)) goto fail; txth->chunk_count_set = 1; set_body_chunk(txth); } /* BASE OFFSET */ else if (is_string(key,"base_offset")) { - if (!parse_num(txth->streamHead,txth,val, &txth->base_offset)) goto fail; + if (!parse_num(txth->sf_head,txth,val, &txth->base_offset)) goto fail; } /* NAME TABLE */ @@ -1381,7 +1404,7 @@ static int is_string_match(const char * text, const char * pattern) { /* either all chars consumed/matched and both pos point to null, or one didn't so string didn't match */ return text[t_pos] == '\0' && pattern[p_pos] == '\0'; } -static int parse_string(STREAMFILE * streamFile, txth_header * txth, const char * val, char * str) { +static int parse_string(STREAMFILE* sf, txth_header* txth, const char * val, char * str) { int n = 0; /* read string without trailing spaces */ @@ -1390,7 +1413,7 @@ static int parse_string(STREAMFILE * streamFile, txth_header * txth, const char return n; } -static int parse_coef_table(STREAMFILE * streamFile, txth_header * txth, const char * val, uint8_t * out_value, size_t out_size) { +static int parse_coef_table(STREAMFILE* sf, txth_header* txth, const char * val, uint8_t * out_value, size_t out_size) { uint32_t byte; int done = 0; @@ -1418,15 +1441,15 @@ fail: return 0; } -static int parse_name_table(txth_header * txth, char * name_list) { - STREAMFILE *nameFile = NULL; +static int parse_name_table(txth_header* txth, char * name_list) { + STREAMFILE* nameFile = NULL; off_t txt_offset, file_size; char fullname[PATH_LIMIT]; char filename[PATH_LIMIT]; char basename[PATH_LIMIT]; /* just in case */ - if (!txth->streamText || !txth->streamBody) + if (!txth->sf_text || !txth->sf_body) goto fail; /* trim name_list just in case */ @@ -1443,12 +1466,12 @@ static int parse_name_table(txth_header * txth, char * name_list) { //;VGM_LOG("TXTH: name_list='%s'\n", name_list); /* open companion file near .txth */ - nameFile = open_streamfile_by_filename(txth->streamText, name_list); + nameFile = open_streamfile_by_filename(txth->sf_text, name_list); if (!nameFile) goto fail; - get_streamfile_name(txth->streamBody, fullname, sizeof(filename)); - get_streamfile_filename(txth->streamBody, filename, sizeof(filename)); - get_streamfile_basename(txth->streamBody, basename, sizeof(basename)); + get_streamfile_name(txth->sf_body, fullname, sizeof(filename)); + get_streamfile_filename(txth->sf_body, filename, sizeof(filename)); + get_streamfile_basename(txth->sf_body, basename, sizeof(basename)); //;VGM_LOG("TXTH: names full=%s, file=%s, base=%s\n", fullname, filename, basename); txt_offset = 0x00; @@ -1509,7 +1532,7 @@ static int parse_name_table(txth_header * txth, char * name_list) { if (current[0] == ',') current++; - if (!parse_num(txth->streamHead,txth,subval, &txth->name_values[txth->name_values_count])) goto fail; + if (!parse_num(txth->sf_head,txth,subval, &txth->name_values[txth->name_values_count])) goto fail; txth->name_values_count++; if (txth->name_values_count >= 16) /* surely nobody needs that many */ goto fail; @@ -1530,7 +1553,7 @@ fail: } -static int parse_num(STREAMFILE * streamFile, txth_header * txth, const char * val, uint32_t * out_value) { +static int parse_num(STREAMFILE* sf, txth_header* txth, const char * val, uint32_t * out_value) { /* out_value can be these, save before modifying */ uint32_t value_mul = txth->value_mul; uint32_t value_div = txth->value_div; @@ -1576,7 +1599,7 @@ static int parse_num(STREAMFILE * streamFile, txth_header * txth, const char * v int hex = (val[1]=='0' && val[2]=='x'); /* can happen when loading .txth and not setting body/head */ - if (!streamFile) + if (!sf) goto fail; /* read exactly N fields in the expected format */ @@ -1593,7 +1616,7 @@ static int parse_num(STREAMFILE * streamFile, txth_header * txth, const char * v /* adjust offset */ offset += txth->base_offset; - if (/*offset < 0 ||*/ offset > get_streamfile_size(streamFile)) + if (/*offset < 0 ||*/ offset > get_streamfile_size(sf)) goto fail; if (ed1 == 'B' && ed2 == 'E') @@ -1605,10 +1628,10 @@ static int parse_num(STREAMFILE * streamFile, txth_header * txth, const char * v offset = offset + subsong_offset * (txth->target_subsong - 1); switch(size) { - case 1: value = (uint8_t)read_8bit(offset,streamFile); break; - case 2: value = big_endian ? (uint16_t)read_16bitBE(offset,streamFile) : (uint16_t)read_16bitLE(offset,streamFile); break; - case 3: value = (big_endian ? (uint32_t)read_32bitBE(offset,streamFile) : (uint32_t)read_32bitLE(offset,streamFile)) & 0x00FFFFFF; break; - case 4: value = big_endian ? (uint32_t)read_32bitBE(offset,streamFile) : (uint32_t)read_32bitLE(offset,streamFile); break; + case 1: value = (uint8_t)read_8bit(offset,sf); break; + case 2: value = big_endian ? (uint16_t)read_16bitBE(offset,sf) : (uint16_t)read_16bitLE(offset,sf); break; + case 3: value = (big_endian ? (uint32_t)read_32bitBE(offset,sf) : (uint32_t)read_32bitLE(offset,sf)) & 0x00FFFFFF; break; + case 4: value = big_endian ? (uint32_t)read_32bitBE(offset,sf) : (uint32_t)read_32bitLE(offset,sf); break; default: goto fail; } value_read = 1; @@ -1702,7 +1725,7 @@ fail: return 0; } -static int get_bytes_to_samples(txth_header * txth, uint32_t bytes) { +static int get_bytes_to_samples(txth_header* txth, uint32_t bytes) { switch(txth->codec) { case MS_IMA: return ms_ima_bytes_to_samples(bytes, txth->interleave, txth->channels); @@ -1731,15 +1754,17 @@ static int get_bytes_to_samples(txth_header * txth, uint32_t bytes) { case ATRAC3PLUS: return atrac3plus_bytes_to_samples(bytes, txth->interleave); case AAC: - return aac_get_samples(txth->streamBody, txth->start_offset, bytes); + return aac_get_samples(txth->sf_body, txth->start_offset, bytes); #ifdef VGM_USE_MPEG case MPEG: - return mpeg_get_samples(txth->streamBody, txth->start_offset, bytes); + return mpeg_get_samples(txth->sf_body, txth->start_offset, bytes); #endif case AC3: return ac3_bytes_to_samples(bytes, txth->interleave, txth->channels); case ASF: return asf_bytes_to_samples(bytes, txth->channels); + case EAXA: + return ea_xa_bytes_to_samples(bytes, txth->channels); /* XMA bytes-to-samples is done at the end as the value meanings are a bit different */ case XMA1: @@ -1770,13 +1795,13 @@ static int get_bytes_to_samples(txth_header * txth, uint32_t bytes) { } } -static int get_padding_size(txth_header * txth, int discard_empty) { +static int get_padding_size(txth_header* txth, int discard_empty) { if (txth->data_size == 0 || txth->channels == 0) return 0; switch(txth->codec) { case PSX: - return ps_find_padding(txth->streamBody, txth->start_offset, txth->data_size, txth->channels, txth->interleave, discard_empty); + return ps_find_padding(txth->sf_body, txth->start_offset, txth->data_size, txth->channels, txth->interleave, discard_empty); default: return 0; } diff --git a/Frameworks/vgmstream/vgmstream/src/meta/txtp.c b/Frameworks/vgmstream/vgmstream/src/meta/txtp.c index e00a09f90..550c33edc 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/txtp.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/txtp.c @@ -72,15 +72,7 @@ typedef struct { int mixing_count; txtp_mix_data mixing[TXTP_MIXING_MAX]; - int config_loop_count_set; - double config_loop_count; - int config_fade_time_set; - double config_fade_time; - int config_fade_delay_set; - double config_fade_delay; - int config_ignore_loop; - int config_force_loop; - int config_ignore_fade; + play_config_t config; int sample_rate; @@ -437,21 +429,37 @@ fail: static void apply_config(VGMSTREAM *vgmstream, txtp_entry *current) { - if (current->config_loop_count_set) - vgmstream->config_loop_count = current->config_loop_count; - if (current->config_fade_time_set) - vgmstream->config_fade_time = current->config_fade_time; - if (current->config_fade_delay_set) - vgmstream->config_fade_delay = current->config_fade_delay; - if (current->config_ignore_loop) - vgmstream->config_ignore_loop = current->config_ignore_loop; - if (current->config_force_loop) - vgmstream->config_force_loop = current->config_force_loop; - if (current->config_ignore_fade) - vgmstream->config_ignore_fade = current->config_ignore_fade; + if (current->config.play_forever) { + vgmstream->config.play_forever = current->config.play_forever; + } + if (current->config.loop_count_set) { + vgmstream->config.loop_count_set = 1; + vgmstream->config.loop_count = current->config.loop_count; + } + if (current->config.fade_time_set) { + vgmstream->config.fade_time_set = 1; + vgmstream->config.fade_time = current->config.fade_time; + } + if (current->config.fade_delay_set) { + vgmstream->config.fade_delay_set = 1; + vgmstream->config.fade_delay = current->config.fade_delay; + } + if (current->config.ignore_fade) { + vgmstream->config.ignore_fade = current->config.ignore_fade; + } + if (current->config.force_loop) { + vgmstream->config.force_loop = current->config.force_loop; + } + if (current->config.really_force_loop) { + vgmstream->config.really_force_loop = current->config.really_force_loop; + } + if (current->config.ignore_loop) { + vgmstream->config.ignore_loop = current->config.ignore_loop; + } - if (current->sample_rate > 0) + if (current->sample_rate > 0) { vgmstream->sample_rate = current->sample_rate; + } if (current->loop_install_set) { if (current->loop_start_second > 0 || current->loop_end_second > 0) { @@ -899,26 +907,32 @@ static void add_config(txtp_entry* current, txtp_entry* cfg, const char* filenam } } - if (cfg->config_loop_count_set) { - current->config_loop_count_set = cfg->config_loop_count_set; - current->config_loop_count = cfg->config_loop_count; + if (cfg->config.play_forever) { + current->config.play_forever = cfg->config.play_forever; } - if (cfg->config_fade_time_set) { - current->config_fade_time_set = cfg->config_fade_time_set; - current->config_fade_time = cfg->config_fade_time; + if (cfg->config.loop_count_set) { + current->config.loop_count_set = 1; + current->config.loop_count = cfg->config.loop_count; } - if (cfg->config_fade_delay_set) { - current->config_fade_delay_set = cfg->config_fade_delay_set; - current->config_fade_delay = cfg->config_fade_delay; + if (cfg->config.fade_time_set) { + current->config.fade_time_set = 1; + current->config.fade_time = cfg->config.fade_time; } - if (cfg->config_ignore_loop) { - current->config_ignore_loop = cfg->config_ignore_loop; + if (cfg->config.fade_delay_set) { + current->config.fade_delay_set = 1; + current->config.fade_delay = cfg->config.fade_delay; } - if (cfg->config_force_loop) { - current->config_force_loop = cfg->config_force_loop; + if (cfg->config.ignore_fade) { + current->config.ignore_fade = cfg->config.ignore_fade; } - if (cfg->config_ignore_fade) { - current->config_ignore_fade = cfg->config_ignore_fade; + if (cfg->config.force_loop) { + current->config.force_loop = cfg->config.force_loop; + } + if (cfg->config.really_force_loop) { + current->config.really_force_loop = cfg->config.really_force_loop; + } + if (cfg->config.ignore_loop) { + current->config.ignore_loop = cfg->config.ignore_loop; } if (cfg->sample_rate > 0) { @@ -1081,28 +1095,42 @@ static void parse_config(txtp_entry *cfg, char *config) { } } else if (strcmp(command,"i") == 0) { - config += get_bool(config, &cfg->config_ignore_loop); - //;VGM_LOG("TXTP: ignore_loop=%i\n", cfg->config_ignore_loop); + config += get_bool(config, &cfg->config.ignore_loop); + //;VGM_LOG("TXTP: ignore_loop=%i\n", cfg->config.ignore_loop); + } + else if (strcmp(command,"e") == 0) { + config += get_bool(config, &cfg->config.force_loop); + //;VGM_LOG("TXTP: force_loop=%i\n", cfg->config.force_loop); } else if (strcmp(command,"E") == 0) { - config += get_bool(config, &cfg->config_force_loop); - //;VGM_LOG("TXTP: force_loop=%i\n", cfg->config_force_loop); + config += get_bool(config, &cfg->config.really_force_loop); + //;VGM_LOG("TXTP: really_force_loop=%i\n", cfg->config.really_force_loop); } else if (strcmp(command,"F") == 0) { - config += get_bool(config, &cfg->config_ignore_fade); - //;VGM_LOG("TXTP: ignore_fade=%i\n", cfg->config_ignore_fade); + config += get_bool(config, &cfg->config.ignore_fade); + //;VGM_LOG("TXTP: ignore_fade=%i\n", cfg->config.ignore_fade); + } + else if (strcmp(command,"L") == 0) { + config += get_bool(config, &cfg->config.play_forever); + //;VGM_LOG("TXTP: play_forever=%i\n", cfg->config.play_forever); } else if (strcmp(command,"l") == 0) { - config += get_double(config, &cfg->config_loop_count, &cfg->config_loop_count_set); - //;VGM_LOG("TXTP: loop_count=%f\n", cfg->config_loop_count); + config += get_double(config, &cfg->config.loop_count, &cfg->config.loop_count_set); + if (cfg->config.loop_count < 0) + cfg->config.loop_count_set = 0; + //;VGM_LOG("TXTP: loop_count=%f\n", cfg->config.loop_count); } else if (strcmp(command,"f") == 0) { - config += get_double(config, &cfg->config_fade_time, &cfg->config_fade_time_set); - //;VGM_LOG("TXTP: fade_time=%f\n", cfg->config_fade_time); + config += get_double(config, &cfg->config.fade_time, &cfg->config.fade_time_set); + if (cfg->config.fade_time < 0) + cfg->config.fade_time_set = 0; + //;VGM_LOG("TXTP: fade_time=%f\n", cfg->config.fade_time); } else if (strcmp(command,"d") == 0) { - config += get_double(config, &cfg->config_fade_delay, &cfg->config_fade_delay_set); - //;VGM_LOG("TXTP: fade_delay %f\n", cfg->config_fade_delay); + config += get_double(config, &cfg->config.fade_delay, &cfg->config.fade_delay_set); + if (cfg->config.fade_delay < 0) + cfg->config.fade_delay_set = 0; + //;VGM_LOG("TXTP: fade_delay %f\n", cfg->config.fade_delay); } else if (strcmp(command,"h") == 0) { config += get_int(config, &cfg->sample_rate); diff --git a/Frameworks/vgmstream/vgmstream/src/meta/ubi_bao.c b/Frameworks/vgmstream/vgmstream/src/meta/ubi_bao.c index ac6855285..a79955aad 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/ubi_bao.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/ubi_bao.c @@ -989,11 +989,9 @@ static int parse_type_layer(ubi_bao_header * bao, off_t offset, STREAMFILE* stre if (bao->sample_rate != sample_rate || bao->stream_type != stream_type) { VGM_LOG("UBI BAO: layer headers don't match at %x\n", (uint32_t)table_offset); - if (bao->cfg.layer_ignore_error) { - continue; + if (!bao->cfg.layer_ignore_error) { + goto fail; } - - goto fail; } /* uncommonly channels may vary per layer [Rayman Raving Rabbids: TV Party (Wii) ex. 0x22000cbc.pk] */ diff --git a/Frameworks/vgmstream/vgmstream/src/meta/ubi_sb.c b/Frameworks/vgmstream/vgmstream/src/meta/ubi_sb.c index cef0109ea..540537f6f 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/ubi_sb.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/ubi_sb.c @@ -709,17 +709,14 @@ static VGMSTREAM *init_vgmstream_ubi_dat_main(ubi_sb_header *sb, STREAMFILE *sf_ goto fail; } } else { /* raw PCM */ - uint32_t data_size; - vgmstream = allocate_vgmstream(sb->channels, sb->loop_flag); if (!vgmstream) goto fail; - data_size = get_streamfile_size(sf_data) - sb->stream_offset; - + /* TODO: some WAVs pop at the end because of LIST chunk, doesn't happen in-game [Donald Duck (DC)] */ vgmstream->coding_type = coding_PCM16LE; vgmstream->layout_type = layout_interleave; vgmstream->interleave_block_size = 0x02; - vgmstream->num_samples = pcm_bytes_to_samples(data_size, sb->channels, 16); + vgmstream->num_samples = pcm_bytes_to_samples(sb->stream_size, sb->channels, 16); vgmstream->loop_start_sample = sb->loop_start; vgmstream->loop_end_sample = vgmstream->num_samples; @@ -1025,7 +1022,6 @@ static VGMSTREAM* init_vgmstream_ubi_sb_base(ubi_sb_header* sb, STREAMFILE* sf_h vgmstream->interleave_block_size = 0x02; if (vgmstream->num_samples == 0) { /* happens in .bnm */ - //todo with external wav streams stream_size may be off? vgmstream->num_samples = pcm_bytes_to_samples(sb->stream_size, sb->channels, 16); vgmstream->loop_end_sample = vgmstream->num_samples; } @@ -1108,7 +1104,7 @@ static VGMSTREAM* init_vgmstream_ubi_sb_base(ubi_sb_header* sb, STREAMFILE* sf_h block_align = 0x98 * sb->channels; encoder_delay = 1024 + 69*2; /* approximate */ - vgmstream->codec_data = init_ffmpeg_atrac3_raw(sf_data, start_offset,sb->stream_size, sb->num_samples,sb->channels,sb->sample_rate, block_align, encoder_delay); + vgmstream->codec_data = init_ffmpeg_atrac3_raw(sf_data, start_offset, sb->stream_size, sb->num_samples, sb->channels, sb->sample_rate, block_align, encoder_delay); if (!vgmstream->codec_data) goto fail; vgmstream->coding_type = coding_FFmpeg; vgmstream->layout_type = layout_none; @@ -1118,6 +1114,7 @@ static VGMSTREAM* init_vgmstream_ubi_sb_base(ubi_sb_header* sb, STREAMFILE* sf_h //TODO: Ubi XMA1 (raw or fmt) is a bit strange, FFmpeg decodes some frames slightly wrong // XMA1 normally has a frame counter in the first nibble but Ubi's is always set to 0. // Probably a beta/custom encoder that creates some buggy frames, that a real X360 handles ok, but trips FFmpeg + // xmaencode decodes correctly if counters are fixed (otherwise has clicks on every frame). case FMT_XMA1: { ffmpeg_codec_data *ffmpeg_data; uint8_t buf[0x100]; @@ -2742,13 +2739,32 @@ static void config_sb_silence_f(ubi_sb_header* sb, off_t duration) { /* silence headers in float value */ sb->cfg.silence_duration_float = duration; } - static void config_sb_random_old(ubi_sb_header* sb, off_t sequence_count, off_t entry_size) { sb->cfg.random_sequence_count = sequence_count; sb->cfg.random_entry_size = entry_size; sb->cfg.random_percent_int = 1; } +static int check_project_file(STREAMFILE *sf_header, const char *name, int has_localized_banks) { + STREAMFILE *sf_test = open_streamfile_by_filename(sf_header, name); + if (sf_test) { + close_streamfile(sf_test); + return 1; + } + + if (has_localized_banks) { /* try again for localized subfolders */ + char buf[PATH_LIMIT]; + snprintf(buf, PATH_LIMIT, "../%s", name); + sf_test = open_streamfile_by_filename(sf_header, buf); + if (sf_test) { + close_streamfile(sf_test); + return 1; + } + } + + return 0; +} + static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { int is_ttse_pc = 0; int is_bia_ps2 = 0, is_biadd_psp = 0; @@ -2943,10 +2959,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { /* two configs with same id; use SND file as identifier */ if (sb->version == 0x00000000 && sb->platform == UBI_PC) { - STREAMFILE* test_sf = open_streamfile_by_filename(sf, "Dino.lcb"); - if (test_sf) { + if (check_project_file(sf, "Dino.lcb", 0)) { sb->version = 0x00000200; /* some files in Dinosaur use this, probably final version */ - close_streamfile(test_sf); } } @@ -2959,11 +2973,9 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { /* Tonic Touble beta has garbage instead of version */ if (sb->is_bnm && sb->version > 0x00000000 && sb->platform == UBI_PC) { - STREAMFILE* test_sf = open_streamfile_by_filename(sf, "ED_MAIN.LCB"); - if (test_sf) { + if (check_project_file(sf, "ED_MAIN.LCB", 0)) { is_ttse_pc = 1; sb->version = 0x00000000; - close_streamfile(test_sf); } } @@ -3297,12 +3309,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { /* two configs with same id; use project file as identifier */ if (sb->version == 0x000A0007 && sb->platform == UBI_PS2) { - STREAMFILE* test_sf = open_streamfile_by_filename(sf, "BIAAUDIO.SP1"); - if (!test_sf) /* try again for localized subfolders */ - test_sf = open_streamfile_by_filename(sf, "../BIAAUDIO.SP1"); - if (test_sf) { + if (check_project_file(sf, "BIAAUDIO.SP1", 1)) { is_bia_ps2 = 1; - close_streamfile(test_sf); } } @@ -3476,10 +3484,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { /* two configs with same id and both sb4/sm4; use project file as identifier */ if (sb->version == 0x0012000C && sb->platform == UBI_PSP) { - STREAMFILE* test_sf = open_streamfile_by_filename(sf, "BIAAUDIO.SP4"); - if (test_sf) { + if (check_project_file(sf, "BIAAUDIO.SP4", 1)) { is_biadd_psp = 1; - close_streamfile(test_sf); } } @@ -3743,10 +3749,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { /* two configs with same id; use project file as identifier */ if (sb->version == 0x00180006 && sb->platform == UBI_PC) { - STREAMFILE* test_sf = open_streamfile_by_filename(sf, "Sc4_online_SoundProject.SP0"); - if (test_sf) { + if (check_project_file(sf, "Sc4_online_SoundProject.SP0", 1)) { is_sc4_pc_online = 1; - close_streamfile(test_sf); } } @@ -3757,6 +3761,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { config_sb_audio_fs(sb, 0x2c, 0x34, 0x30); config_sb_audio_he(sb, 0x5c, 0x54, 0x40, 0x48, 0x64, 0x60); + config_sb_sequence(sb, 0x2c, 0x14); + config_sb_layer_he(sb, 0x20, 0x38, 0x3c, 0x44); config_sb_layer_sh(sb, 0x34, 0x00, 0x08, 0x0c, 0x14); return 1; @@ -3769,6 +3775,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { config_sb_audio_fs(sb, 0x2c, 0x34, 0x30); config_sb_audio_he(sb, 0x5c, 0x54, 0x40, 0x48, 0x64, 0x60); + config_sb_sequence(sb, 0x2c, 0x14); + config_sb_layer_he(sb, 0x20, 0x38, 0x3c, 0x44); config_sb_layer_sh(sb, 0x34, 0x00, 0x08, 0x0c, 0x14); return 1; @@ -3782,6 +3790,8 @@ static int config_sb_version(ubi_sb_header* sb, STREAMFILE* sf) { config_sb_audio_he(sb, 0x5c, 0x54, 0x40, 0x48, 0x64, 0x60); sb->cfg.audio_xma_offset = 0x70; + config_sb_sequence(sb, 0x2c, 0x14); + config_sb_layer_he(sb, 0x20, 0x38, 0x3c, 0x44); config_sb_layer_sh(sb, 0x34, 0x00, 0x08, 0x0c, 0x14); return 1; diff --git a/Frameworks/vgmstream/vgmstream/src/meta/xma.c b/Frameworks/vgmstream/vgmstream/src/meta/xma.c index e61b42566..98b414610 100644 --- a/Frameworks/vgmstream/vgmstream/src/meta/xma.c +++ b/Frameworks/vgmstream/vgmstream/src/meta/xma.c @@ -14,9 +14,10 @@ VGMSTREAM * init_vgmstream_xma(STREAMFILE *streamFile) { /* checks */ /* .xma: standard * .xma2: Skullgirls (X360) + * .wav: Super Meat Boy (X360) * .nps: Beautiful Katamari (X360) * .str: Sonic & Sega All Stars Racing (X360) */ - if ( !check_extensions(streamFile, "xma,xma2,nps,str") ) + if ( !check_extensions(streamFile, "xma,xma2,wav,nps,str") ) goto fail; /* check header */ diff --git a/Frameworks/vgmstream/vgmstream/src/mixing.c b/Frameworks/vgmstream/vgmstream/src/mixing.c index 5dd900b44..e4bd02c7f 100644 --- a/Frameworks/vgmstream/vgmstream/src/mixing.c +++ b/Frameworks/vgmstream/vgmstream/src/mixing.c @@ -807,8 +807,8 @@ void mixing_macro_crosstrack(VGMSTREAM* vgmstream, int max) { /* set loops to hear all track changes */ track_num = output_channels / max; - if (vgmstream->config_loop_count < track_num) - vgmstream->config_loop_count = track_num; + if (vgmstream->config.loop_count < track_num) + vgmstream->config.loop_count = track_num; ch = 0; for (track = 0; track < track_num; track++) { @@ -868,8 +868,8 @@ void mixing_macro_crosslayer(VGMSTREAM* vgmstream, int max, char mode) { /* set loops to hear all track changes */ layer_num = output_channels / max; - if (vgmstream->config_loop_count < layer_num) - vgmstream->config_loop_count = layer_num; + if (vgmstream->config.loop_count < layer_num) + vgmstream->config.loop_count = layer_num; /* mode 'v': constant volume * mode 'e': sets fades to successively lower/equalize volume per loop for each layer diff --git a/Frameworks/vgmstream/vgmstream/src/vgmstream.c b/Frameworks/vgmstream/vgmstream/src/vgmstream.c index c8662148c..e58ab5326 100644 --- a/Frameworks/vgmstream/vgmstream/src/vgmstream.c +++ b/Frameworks/vgmstream/vgmstream/src/vgmstream.c @@ -187,7 +187,7 @@ VGMSTREAM * (*init_vgmstream_functions[])(STREAMFILE *streamFile) = { init_vgmstream_utf_dsp, init_vgmstream_ngc_ffcc_str, init_vgmstream_sat_baka, - init_vgmstream_nds_swav, + init_vgmstream_swav, init_vgmstream_vsf, init_vgmstream_nds_rrds, init_vgmstream_ps2_tk5, diff --git a/Frameworks/vgmstream/vgmstream/src/vgmstream.h b/Frameworks/vgmstream/vgmstream/src/vgmstream.h index 0f8fed8ef..054d51c75 100644 --- a/Frameworks/vgmstream/vgmstream/src/vgmstream.h +++ b/Frameworks/vgmstream/vgmstream/src/vgmstream.h @@ -330,7 +330,7 @@ typedef enum { meta_RSTM_SPM, /* RSTM with 44->22khz hack */ meta_THP, /* THP movie files */ meta_RSTM_shrunken, /* Atlus' mutant shortened RSTM */ - meta_NDS_SWAV, /* Asphalt Urban GT 1 & 2 */ + meta_SWAV, meta_NDS_RRDS, /* Ridge Racer DS */ meta_WII_BNS, /* Wii BNS Banner Sound (similar to RSTM) */ meta_WIIU_BTSND, /* Wii U Boot Sound */ @@ -786,6 +786,19 @@ typedef enum { mapping_7POINT1_surround = speaker_FL | speaker_FR | speaker_FC | speaker_LFE | speaker_BL | speaker_BR | speaker_SL | speaker_SR, } mapping_t; +typedef struct { + int play_forever; + int loop_count_set; + double loop_count; + int fade_time_set; + double fade_time; + int fade_delay_set; + double fade_delay; + int ignore_fade; + int force_loop; + int really_force_loop; + int ignore_loop; +} play_config_t; /* info for a single vgmstream channel */ typedef struct { @@ -870,14 +883,9 @@ typedef struct { /* other config */ int allow_dual_stereo; /* search for dual stereo (file_L.ext + file_R.ext = single stereo file) */ - /* config requests, players must read and honor these values */ - /* (ideally internally would work as a player, but for now player must do it manually) */ - double config_loop_count; - double config_fade_time; - double config_fade_delay; - int config_ignore_loop; - int config_force_loop; - int config_ignore_fade; + /* config requests, players must read and honor these values + * (ideally internally would work as a player, but for now player must do it manually) */ + play_config_t config; /* layout/block state */ diff --git a/Frameworks/vio2sf/vio2sf.xcodeproj/project.pbxproj b/Frameworks/vio2sf/vio2sf.xcodeproj/project.pbxproj index e5948b1c4..672be1deb 100644 --- a/Frameworks/vio2sf/vio2sf.xcodeproj/project.pbxproj +++ b/Frameworks/vio2sf/vio2sf.xcodeproj/project.pbxproj @@ -286,8 +286,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 83DE0C05180A9BD400269051 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -407,7 +407,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -452,7 +452,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -460,7 +460,10 @@ 83DE0C2F180A9BD400269051 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -469,6 +472,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.vio2sf; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; @@ -478,7 +482,10 @@ 83DE0C30180A9BD400269051 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_VERSION = A; @@ -487,6 +494,7 @@ INSTALL_PATH = "@loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.vio2sf; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = framework; diff --git a/Info.plist b/Info.plist index e8bcc7a78..862ac0861 100644 --- a/Info.plist +++ b/Info.plist @@ -649,7 +649,7 @@ CFBundleTypeIconFile ape.icns CFBundleTypeName - Monkey's Audio File + Monkey's Audio File CFBundleTypeRole Viewer LSTypeIsPackage @@ -1002,8 +1002,6 @@ Cog.help CFBundleHelpBookName org.cogx.cog.help - CFBundleIconFile - icon_main CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion @@ -1020,35 +1018,36 @@ public.app-category.music LSMinimumSystemVersion 10.8.0 + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAppleScriptEnabled YES + NSCalendarsUsageDescription + Cog has no use for your calendar information. Why are you trying to open your Calendar with an audio player? + NSCameraUsageDescription + Cog is an audio player. It will never use your camera. Why is it asking for permission to use your camera? + NSContactsUsageDescription + Cog has no use for your contacts information. Why are you trying to open your contacts with an audio player? + NSLocationUsageDescription + Cog has no use for your location information. Something is obviously wrong with the application. NSMainNibFile MainMenu + NSMicrophoneUsageDescription + Cog is an audio player. It does not, however, record audio. Why is it asking for permission to use your microphone? + NSPhotoLibraryUsageDescription + Cog is an audio player. Why are you trying to access your Photos Library with an audio player? NSPrincipalClass MediaKeysApplication - NSAppTransportSecurity - - NSAllowsArbitraryLoads - + NSRemindersUsageDescription + Cog has no use for your reminders. Why are you trying to access them with an audio player? SUFeedURL https://f.losno.co/cog/mercury.xml SUPublicDSAKeyFile dsa_pub.pem SUPublicEDKey omxG7Rp0XK9/YEvKbVy7cd44eVAh1LJB6CmjQwjOJz4= - NSLocationUsageDescription - Cog has no use for your location information. Something is obviously wrong with the application. - NSCalendarsUsageDescription - Cog has no use for your calendar information. Why are you trying to open your Calendar with an audio player? - NSContactsUsageDescription - Cog has no use for your contacts information. Why are you trying to open your contacts with an audio player? - NSRemindersUsageDescription - Cog has no use for your reminders. Why are you trying to access them with an audio player? - NSPhotoLibraryUsageDescription - Cog is an audio player. Why are you trying to access your Photos Library with an audio player? - NSCameraUsageDescription - Cog is an audio player. It will never use your camera. Why is it asking for permission to use your camera? - NSMicrophoneUsageDescription - Cog is an audio player. It does not, however, record audio. Why is it asking for permission to use your microphone? diff --git a/Plugins/APL/APL.xcodeproj/project.pbxproj b/Plugins/APL/APL.xcodeproj/project.pbxproj index 833a26f2c..20c307863 100644 --- a/Plugins/APL/APL.xcodeproj/project.pbxproj +++ b/Plugins/APL/APL.xcodeproj/project.pbxproj @@ -145,8 +145,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 99B989F30CC7E10400C256E9 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -224,7 +224,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -263,7 +263,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; @@ -272,8 +272,11 @@ 99B989F80CC7E10500C256E9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -289,6 +292,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.vasfed.cog.apl; PRODUCT_NAME = APL; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -299,8 +303,11 @@ 99B989F90CC7E10500C256E9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; @@ -314,6 +321,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.vasfed.cog.apl; PRODUCT_NAME = APL; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj b/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj index 777b055dd..ddaf2a108 100644 --- a/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj +++ b/Plugins/AdPlug/AdPlug.xcodeproj/project.pbxproj @@ -168,7 +168,7 @@ TargetAttributes = { 83D3C5F2201C674D005564CB = { CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; }; }; @@ -290,7 +290,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -341,7 +341,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -350,10 +350,10 @@ 83D3C5FA201C674D005564CB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../../Frameworks/libbinio/libbinio/libbinio/src", "$(SRCROOT)/../../Frameworks/libbinio/libbinio", @@ -372,10 +372,10 @@ 83D3C5FB201C674D005564CB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/../../Frameworks/libbinio/libbinio/libbinio/src", "$(SRCROOT)/../../Frameworks/libbinio/libbinio", diff --git a/Plugins/ArchiveSource/ArchiveSource.xcodeproj/project.pbxproj b/Plugins/ArchiveSource/ArchiveSource.xcodeproj/project.pbxproj index d831144fe..ce5320241 100644 --- a/Plugins/ArchiveSource/ArchiveSource.xcodeproj/project.pbxproj +++ b/Plugins/ArchiveSource/ArchiveSource.xcodeproj/project.pbxproj @@ -178,8 +178,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8359FF1617FEF35C0060F3ED = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -307,7 +307,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -353,7 +353,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -361,13 +361,17 @@ 8359FF2A17FEF35C0060F3ED /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch"; INFOPLIST_FILE = "ArchiveSource/ArchiveSource-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.archivesource; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -377,13 +381,17 @@ 8359FF2B17FEF35C0060F3ED /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "ArchiveSource/ArchiveSource-Prefix.pch"; INFOPLIST_FILE = "ArchiveSource/ArchiveSource-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.archivesource; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/CoreAudio/CoreAudio.xcodeproj/project.pbxproj b/Plugins/CoreAudio/CoreAudio.xcodeproj/project.pbxproj index 9e60376a0..42ace45f3 100644 --- a/Plugins/CoreAudio/CoreAudio.xcodeproj/project.pbxproj +++ b/Plugins/CoreAudio/CoreAudio.xcodeproj/project.pbxproj @@ -149,8 +149,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -196,8 +196,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -207,6 +210,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.coreaudio; PRODUCT_NAME = CoreAudio; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -217,7 +221,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = CoreAudio_Prefix.pch; @@ -225,6 +232,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.coreaudio; PRODUCT_NAME = CoreAudio; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -265,7 +273,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -304,7 +312,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/CueSheet/CueSheet.xcodeproj/project.pbxproj b/Plugins/CueSheet/CueSheet.xcodeproj/project.pbxproj index 75fa4a1b3..c81a5bce0 100644 --- a/Plugins/CueSheet/CueSheet.xcodeproj/project.pbxproj +++ b/Plugins/CueSheet/CueSheet.xcodeproj/project.pbxproj @@ -165,8 +165,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -230,8 +230,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -241,6 +244,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cuesheet; PRODUCT_NAME = CueSheet; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -252,7 +256,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = CueSheet_Prefix.pch; @@ -260,6 +267,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cuesheet; PRODUCT_NAME = CueSheet; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -301,7 +309,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -340,7 +348,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/FFMPEG/FFMPEG.xcodeproj/project.pbxproj b/Plugins/FFMPEG/FFMPEG.xcodeproj/project.pbxproj index 635b91e51..b4c3f9dfa 100644 --- a/Plugins/FFMPEG/FFMPEG.xcodeproj/project.pbxproj +++ b/Plugins/FFMPEG/FFMPEG.xcodeproj/project.pbxproj @@ -7,9 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 8352D48B1CDDAEDD009D16AA /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D4881CDDAEDD009D16AA /* libavcodec.a */; }; - 8352D48C1CDDAEDD009D16AA /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D4891CDDAEDD009D16AA /* libavformat.a */; }; - 8352D48D1CDDAEDD009D16AA /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D48A1CDDAEDD009D16AA /* libavutil.a */; }; 8352D48F1CDDB023009D16AA /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D48E1CDDB023009D16AA /* CoreFoundation.framework */; }; 8352D4911CDDB02A009D16AA /* VideoDecodeAcceleration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D4901CDDB02A009D16AA /* VideoDecodeAcceleration.framework */; }; 8352D4931CDDB034009D16AA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D4921CDDB034009D16AA /* QuartzCore.framework */; }; @@ -19,20 +16,39 @@ 8352D49B1CDDB8B2009D16AA /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D49A1CDDB8B2009D16AA /* VideoToolbox.framework */; }; 8352D49D1CDDB8C0009D16AA /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D49C1CDDB8C0009D16AA /* CoreMedia.framework */; }; 8352D49F1CDDB8D7009D16AA /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8352D49E1CDDB8D7009D16AA /* CoreVideo.framework */; }; - 83CD428C1F7878A0000F77BE /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 83CD428B1F78789F000F77BE /* libswresample.a */; }; - 83D2F5892356B210007646ED /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 83D2F5882356B210007646ED /* libopus.a */; }; + 83EC715124A986C300B807C1 /* libswresample.3.7.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC714D24A986C300B807C1 /* libswresample.3.7.100.dylib */; }; + 83EC715224A986C300B807C1 /* libavformat.58.45.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC714E24A986C300B807C1 /* libavformat.58.45.100.dylib */; }; + 83EC715324A986C300B807C1 /* libavcodec.58.91.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC714F24A986C300B807C1 /* libavcodec.58.91.100.dylib */; }; + 83EC715424A986C300B807C1 /* libavutil.56.51.100.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 83EC715024A986C300B807C1 /* libavutil.56.51.100.dylib */; }; + 83EC715624A9870800B807C1 /* libavcodec.58.91.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC714F24A986C300B807C1 /* libavcodec.58.91.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC715724A9870B00B807C1 /* libavformat.58.45.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC714E24A986C300B807C1 /* libavformat.58.45.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC715824A9870E00B807C1 /* libavutil.56.51.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC715024A986C300B807C1 /* libavutil.56.51.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 83EC715924A9871100B807C1 /* libswresample.3.7.100.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 83EC714D24A986C300B807C1 /* libswresample.3.7.100.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; B09E942F0D747F410064F138 /* FFMPEGDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B09E942E0D747F410064F138 /* FFMPEGDecoder.m */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + 83EC715524A986F200B807C1 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 6; + files = ( + 83EC715924A9871100B807C1 /* libswresample.3.7.100.dylib in CopyFiles */, + 83EC715624A9870800B807C1 /* libavcodec.58.91.100.dylib in CopyFiles */, + 83EC715724A9870B00B807C1 /* libavformat.58.45.100.dylib in CopyFiles */, + 83EC715824A9870E00B807C1 /* libavutil.56.51.100.dylib in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 32DBCF630370AF2F00C91783 /* FFMPEG_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FFMPEG_Prefix.pch; sourceTree = ""; }; - 8352D4881CDDAEDD009D16AA /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = ../../ThirdParty/ffmpeg/lib/libavcodec.a; sourceTree = ""; }; - 8352D4891CDDAEDD009D16AA /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavformat.a; path = ../../ThirdParty/ffmpeg/lib/libavformat.a; sourceTree = ""; }; - 8352D48A1CDDAEDD009D16AA /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = ../../ThirdParty/ffmpeg/lib/libavutil.a; sourceTree = ""; }; 8352D48E1CDDB023009D16AA /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; 8352D4901CDDB02A009D16AA /* VideoDecodeAcceleration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoDecodeAcceleration.framework; path = System/Library/Frameworks/VideoDecodeAcceleration.framework; sourceTree = SDKROOT; }; 8352D4921CDDB034009D16AA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -43,9 +59,10 @@ 8352D49C1CDDB8C0009D16AA /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; 8352D49E1CDDB8D7009D16AA /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; 8384913818081F6C00E7332D /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = ../../Utils/Logging.h; sourceTree = ""; }; - 83CD428B1F78789F000F77BE /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = ../../ThirdParty/ffmpeg/lib/libswresample.a; sourceTree = ""; }; - 83D2F5862356B1BE007646ED /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = ../../../../../../../usr/local/Cellar/opus/1.3.1/lib/libopus.a; sourceTree = ""; }; - 83D2F5882356B210007646ED /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = ../../ThirdParty/ffmpeg/lib/libopus.a; sourceTree = ""; }; + 83EC714D24A986C300B807C1 /* libswresample.3.7.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libswresample.3.7.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libswresample.3.7.100.dylib; sourceTree = ""; }; + 83EC714E24A986C300B807C1 /* libavformat.58.45.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavformat.58.45.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavformat.58.45.100.dylib; sourceTree = ""; }; + 83EC714F24A986C300B807C1 /* libavcodec.58.91.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavcodec.58.91.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavcodec.58.91.100.dylib; sourceTree = ""; }; + 83EC715024A986C300B807C1 /* libavutil.56.51.100.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libavutil.56.51.100.dylib; path = ../../ThirdParty/ffmpeg/lib/libavutil.56.51.100.dylib; sourceTree = ""; }; 8D5B49B6048680CD000E48DA /* FFMPEG.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FFMPEG.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B09E942D0D747F410064F138 /* FFMPEGDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FFMPEGDecoder.h; sourceTree = ""; }; @@ -60,21 +77,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 83EC715124A986C300B807C1 /* libswresample.3.7.100.dylib in Frameworks */, 8352D4991CDDB06A009D16AA /* libz.tbd in Frameworks */, 8352D4971CDDB05E009D16AA /* Security.framework in Frameworks */, 8352D4911CDDB02A009D16AA /* VideoDecodeAcceleration.framework in Frameworks */, 8352D49F1CDDB8D7009D16AA /* CoreVideo.framework in Frameworks */, + 83EC715324A986C300B807C1 /* libavcodec.58.91.100.dylib in Frameworks */, + 83EC715224A986C300B807C1 /* libavformat.58.45.100.dylib in Frameworks */, 8352D4931CDDB034009D16AA /* QuartzCore.framework in Frameworks */, 8352D49D1CDDB8C0009D16AA /* CoreMedia.framework in Frameworks */, 8352D49B1CDDB8B2009D16AA /* VideoToolbox.framework in Frameworks */, 8352D48F1CDDB023009D16AA /* CoreFoundation.framework in Frameworks */, 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, - 83D2F5892356B210007646ED /* libopus.a in Frameworks */, - 8352D48C1CDDAEDD009D16AA /* libavformat.a in Frameworks */, - 8352D48D1CDDAEDD009D16AA /* libavutil.a in Frameworks */, - 8352D48B1CDDAEDD009D16AA /* libavcodec.a in Frameworks */, - 83CD428C1F7878A0000F77BE /* libswresample.a in Frameworks */, 8352D4951CDDB03E009D16AA /* libiconv.tbd in Frameworks */, + 83EC715424A986C300B807C1 /* libavutil.56.51.100.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -90,7 +106,6 @@ 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 19C28FB8FE9D52D311CA2CBB /* Products */, B09E95F50D74A3ED0064F138 /* Frameworks-Info.plist */, - 83D2F5852356B1BD007646ED /* Frameworks */, ); name = FFMPEG; sourceTree = ""; @@ -98,12 +113,12 @@ 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { isa = PBXGroup; children = ( + 83EC714F24A986C300B807C1 /* libavcodec.58.91.100.dylib */, + 83EC714E24A986C300B807C1 /* libavformat.58.45.100.dylib */, + 83EC715024A986C300B807C1 /* libavutil.56.51.100.dylib */, + 83EC714D24A986C300B807C1 /* libswresample.3.7.100.dylib */, 8352D4981CDDB06A009D16AA /* libz.tbd */, 8352D4941CDDB03E009D16AA /* libiconv.tbd */, - 8352D4881CDDAEDD009D16AA /* libavcodec.a */, - 8352D4891CDDAEDD009D16AA /* libavformat.a */, - 8352D48A1CDDAEDD009D16AA /* libavutil.a */, - 83CD428B1F78789F000F77BE /* libswresample.a */, 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, ); @@ -170,15 +185,6 @@ name = "Other Sources"; sourceTree = ""; }; - 83D2F5852356B1BD007646ED /* Frameworks */ = { - isa = PBXGroup; - children = ( - 83D2F5882356B210007646ED /* libopus.a */, - 83D2F5862356B1BE007646ED /* libopus.a */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -189,6 +195,7 @@ 8D5B49AF048680CD000E48DA /* Resources */, 8D5B49B1048680CD000E48DA /* Sources */, 8D5B49B3048680CD000E48DA /* Frameworks */, + 83EC715524A986F200B807C1 /* CopyFiles */, ); buildRules = ( ); @@ -209,8 +216,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -256,8 +263,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; @@ -272,6 +282,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.cogx.ffmpeg; PRODUCT_NAME = FFMPEG; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -283,7 +294,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -296,6 +310,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.cogx.ffmpeg; PRODUCT_NAME = FFMPEG; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -339,7 +354,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ../../ThirdParty/ffmpeg/include; LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -379,7 +394,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ../../ThirdParty/ffmpeg/include; LIBRARY_SEARCH_PATHS = ../../ThirdParty/ffmpeg/lib; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/FileSource/FileSource.xcodeproj/project.pbxproj b/Plugins/FileSource/FileSource.xcodeproj/project.pbxproj index d0cff6c57..73ac9d9fd 100644 --- a/Plugins/FileSource/FileSource.xcodeproj/project.pbxproj +++ b/Plugins/FileSource/FileSource.xcodeproj/project.pbxproj @@ -184,8 +184,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -255,7 +255,10 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -264,6 +267,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.filesource; PRODUCT_NAME = FileSource; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -274,7 +278,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = FileSource_Prefix.pch; @@ -282,6 +289,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.filesource; PRODUCT_NAME = FileSource; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -323,7 +331,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -362,7 +370,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/Flac/Flac.xcodeproj/project.pbxproj b/Plugins/Flac/Flac.xcodeproj/project.pbxproj index 3f241eb53..b510efd9d 100644 --- a/Plugins/Flac/Flac.xcodeproj/project.pbxproj +++ b/Plugins/Flac/Flac.xcodeproj/project.pbxproj @@ -186,8 +186,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -257,8 +257,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -273,6 +276,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.flac; PRODUCT_NAME = Flac; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -283,7 +287,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -296,6 +303,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.flac; PRODUCT_NAME = Flac; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -336,7 +344,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -375,7 +383,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/GME/GME.xcodeproj/project.pbxproj b/Plugins/GME/GME.xcodeproj/project.pbxproj index 1abd80abf..ed78395a3 100644 --- a/Plugins/GME/GME.xcodeproj/project.pbxproj +++ b/Plugins/GME/GME.xcodeproj/project.pbxproj @@ -207,8 +207,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -295,8 +295,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -306,6 +309,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.gme; PRODUCT_NAME = GME; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -317,7 +321,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = GME_Prefix.pch; @@ -325,6 +332,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.gme; PRODUCT_NAME = GME; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -366,7 +374,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OBJROOT = ../../build; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -406,7 +414,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OBJROOT = ../../build; SDKROOT = macosx; SYMROOT = ../../build; diff --git a/Plugins/HTTPSource/HTTPSource.xcodeproj/project.pbxproj b/Plugins/HTTPSource/HTTPSource.xcodeproj/project.pbxproj index 5525d0d41..73dfe48fa 100644 --- a/Plugins/HTTPSource/HTTPSource.xcodeproj/project.pbxproj +++ b/Plugins/HTTPSource/HTTPSource.xcodeproj/project.pbxproj @@ -154,8 +154,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -201,8 +201,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; @@ -215,6 +218,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.httpsource; PRODUCT_NAME = HTTPSource; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -225,7 +229,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_MODEL_TUNING = G5; @@ -236,6 +243,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.httpsource; PRODUCT_NAME = HTTPSource; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -276,7 +284,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -315,7 +323,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/HighlyComplete/HighlyComplete.xcodeproj/project.pbxproj b/Plugins/HighlyComplete/HighlyComplete.xcodeproj/project.pbxproj index 97556165b..a53d45f2a 100644 --- a/Plugins/HighlyComplete/HighlyComplete.xcodeproj/project.pbxproj +++ b/Plugins/HighlyComplete/HighlyComplete.xcodeproj/project.pbxproj @@ -408,8 +408,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8360EEE317F92AC8005208A4 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -659,7 +659,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -704,7 +704,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -712,7 +712,10 @@ 8360EEF717F92AC8005208A4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "HighlyComplete/HighlyComplete-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -726,6 +729,7 @@ INFOPLIST_FILE = "HighlyComplete/HighlyComplete-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlycomplete; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -735,7 +739,10 @@ 8360EEF817F92AC8005208A4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "HighlyComplete/HighlyComplete-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -748,6 +755,7 @@ INFOPLIST_FILE = "HighlyComplete/HighlyComplete-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.highlycomplete; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/Hively/Hively.xcodeproj/project.pbxproj b/Plugins/Hively/Hively.xcodeproj/project.pbxproj index dcc91018e..0c1079011 100644 --- a/Plugins/Hively/Hively.xcodeproj/project.pbxproj +++ b/Plugins/Hively/Hively.xcodeproj/project.pbxproj @@ -183,8 +183,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 836FB52C1820538700B3AD2D = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -370,13 +370,17 @@ 836FB5401820538700B3AD2D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Hively/Hively-Prefix.pch"; INFOPLIST_FILE = "Hively/Hively-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.hively; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = bundle; }; @@ -385,13 +389,17 @@ 836FB5411820538700B3AD2D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Hively/Hively-Prefix.pch"; INFOPLIST_FILE = "Hively/Hively-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.hively; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; WRAPPER_EXTENSION = bundle; }; diff --git a/Plugins/M3u/M3u.xcodeproj/project.pbxproj b/Plugins/M3u/M3u.xcodeproj/project.pbxproj index 9a283652c..e68678a8b 100644 --- a/Plugins/M3u/M3u.xcodeproj/project.pbxproj +++ b/Plugins/M3u/M3u.xcodeproj/project.pbxproj @@ -145,8 +145,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -206,8 +206,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -218,6 +221,7 @@ OBJROOT = ../../build; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.m3u; PRODUCT_NAME = M3u; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -229,7 +233,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = M3u_Prefix.pch; @@ -238,6 +245,7 @@ OBJROOT = ../../build; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.m3u; PRODUCT_NAME = M3u; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -280,7 +288,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -318,7 +326,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; diff --git a/Plugins/MIDI/MIDI.xcodeproj/project.pbxproj b/Plugins/MIDI/MIDI.xcodeproj/project.pbxproj index 6f62c3d00..42d15bf81 100644 --- a/Plugins/MIDI/MIDI.xcodeproj/project.pbxproj +++ b/Plugins/MIDI/MIDI.xcodeproj/project.pbxproj @@ -366,8 +366,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 83B06686180D5668008E3612 = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -512,7 +512,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -558,7 +558,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -566,7 +566,10 @@ 83B0669A180D5668008E3612 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MIDI/MIDI-Prefix.pch"; HEADER_SEARCH_PATHS = ( @@ -581,6 +584,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = net.kode54.midi; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -590,7 +594,10 @@ 83B0669B180D5668008E3612 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MIDI/MIDI-Prefix.pch"; HEADER_SEARCH_PATHS = ( @@ -605,6 +612,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = net.kode54.midi; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/Musepack/Musepack.xcodeproj/project.pbxproj b/Plugins/Musepack/Musepack.xcodeproj/project.pbxproj index bd2d2149c..59574aa85 100644 --- a/Plugins/Musepack/Musepack.xcodeproj/project.pbxproj +++ b/Plugins/Musepack/Musepack.xcodeproj/project.pbxproj @@ -186,8 +186,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -257,8 +257,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -274,6 +277,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.musepack; PRODUCT_NAME = Musepack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -284,7 +288,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -298,6 +305,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.musepack; PRODUCT_NAME = Musepack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -338,7 +346,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -377,7 +385,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/OpenMPT/OpenMPT.xcodeproj/project.pbxproj b/Plugins/OpenMPT/OpenMPT.xcodeproj/project.pbxproj index d99025d4d..d1722e4f1 100644 --- a/Plugins/OpenMPT/OpenMPT.xcodeproj/project.pbxproj +++ b/Plugins/OpenMPT/OpenMPT.xcodeproj/project.pbxproj @@ -162,7 +162,7 @@ TargetAttributes = { 83E5EFA21FFEF78100659F0F = { CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; }; }; @@ -282,7 +282,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -333,7 +333,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -342,10 +342,10 @@ 83E5EFAA1FFEF78100659F0F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = OpenMPT/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.OpenMPT; @@ -359,10 +359,10 @@ 83E5EFAB1FFEF78100659F0F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = OpenMPT/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.OpenMPT; diff --git a/Plugins/Opus/OpusPlugin.xcodeproj/project.pbxproj b/Plugins/Opus/OpusPlugin.xcodeproj/project.pbxproj index dbe8389f9..ed4f2f9fb 100644 --- a/Plugins/Opus/OpusPlugin.xcodeproj/project.pbxproj +++ b/Plugins/Opus/OpusPlugin.xcodeproj/project.pbxproj @@ -173,8 +173,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 8375B03B17FFEA400092A79F = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -303,7 +303,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -350,7 +350,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -358,7 +358,10 @@ 8375B04F17FFEA400092A79F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Opus/OpusPlugin-Prefix.pch"; HEADER_SEARCH_PATHS = ( @@ -370,6 +373,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.opus; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -379,7 +383,10 @@ 8375B05017FFEA400092A79F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Opus/OpusPlugin-Prefix.pch"; HEADER_SEARCH_PATHS = ( @@ -391,6 +398,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = net.kode54.opus; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/Pls/Pls.xcodeproj/project.pbxproj b/Plugins/Pls/Pls.xcodeproj/project.pbxproj index 3a0a48bb5..c82509ae9 100644 --- a/Plugins/Pls/Pls.xcodeproj/project.pbxproj +++ b/Plugins/Pls/Pls.xcodeproj/project.pbxproj @@ -145,8 +145,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -206,8 +206,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -217,6 +220,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.pls; PRODUCT_NAME = Pls; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -228,7 +232,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Pls_Prefix.pch; @@ -236,6 +243,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.pls; PRODUCT_NAME = Pls; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SYMROOT = ../../build; @@ -277,7 +285,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -315,7 +323,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; diff --git a/Plugins/Shorten/Shorten.xcodeproj/project.pbxproj b/Plugins/Shorten/Shorten.xcodeproj/project.pbxproj index d510da9d4..340a1bb38 100644 --- a/Plugins/Shorten/Shorten.xcodeproj/project.pbxproj +++ b/Plugins/Shorten/Shorten.xcodeproj/project.pbxproj @@ -184,8 +184,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -256,8 +256,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -272,6 +275,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.shorten; PRODUCT_NAME = Shorten; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -283,7 +287,10 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -296,6 +303,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.shorten; PRODUCT_NAME = Shorten; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -336,7 +344,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -375,7 +383,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/SilenceDecoder/SilenceDecoder.xcodeproj/project.pbxproj b/Plugins/SilenceDecoder/SilenceDecoder.xcodeproj/project.pbxproj index 492a68951..46273ffda 100644 --- a/Plugins/SilenceDecoder/SilenceDecoder.xcodeproj/project.pbxproj +++ b/Plugins/SilenceDecoder/SilenceDecoder.xcodeproj/project.pbxproj @@ -104,8 +104,8 @@ TargetAttributes = { 83F9D7E61A884B44007ABEC2 = { CreatedOnToolsVersion = 6.1.1; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -196,7 +196,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -243,7 +243,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -252,11 +252,15 @@ 83F9D7EF1A884B44007ABEC2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = SilenceDecoder/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -266,11 +270,15 @@ 83F9D7F01A884B44007ABEC2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = SilenceDecoder/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/Syntrax/Syntrax.xcodeproj/project.pbxproj b/Plugins/Syntrax/Syntrax.xcodeproj/project.pbxproj index f921ccd1d..792738fe7 100644 --- a/Plugins/Syntrax/Syntrax.xcodeproj/project.pbxproj +++ b/Plugins/Syntrax/Syntrax.xcodeproj/project.pbxproj @@ -154,8 +154,8 @@ TargetAttributes = { 832FF2F71C96508E0076D662 = { CreatedOnToolsVersion = 7.2.1; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -270,7 +270,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -316,7 +316,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -325,11 +325,15 @@ 832FF2FF1C96508E0076D662 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = Syntrax/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.Syntrax; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; }; @@ -338,11 +342,15 @@ 832FF3001C96508E0076D662 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = Syntrax/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.Syntrax; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; }; diff --git a/Plugins/TagLib/TagLib.xcodeproj/project.pbxproj b/Plugins/TagLib/TagLib.xcodeproj/project.pbxproj index 77cc6055d..cc391a5fe 100644 --- a/Plugins/TagLib/TagLib.xcodeproj/project.pbxproj +++ b/Plugins/TagLib/TagLib.xcodeproj/project.pbxproj @@ -204,8 +204,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -277,8 +277,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; @@ -294,6 +297,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.taglib; PRODUCT_NAME = TagLib; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -305,7 +309,10 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LIBRARY = "libc++"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ""; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -319,6 +326,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.taglib; PRODUCT_NAME = TagLib; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -360,7 +368,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -400,7 +408,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/Vorbis/VorbisPlugin.xcodeproj/project.pbxproj b/Plugins/Vorbis/VorbisPlugin.xcodeproj/project.pbxproj index 8f446caba..d3c45aebc 100644 --- a/Plugins/Vorbis/VorbisPlugin.xcodeproj/project.pbxproj +++ b/Plugins/Vorbis/VorbisPlugin.xcodeproj/project.pbxproj @@ -219,8 +219,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -329,8 +329,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -346,6 +349,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.vorbis; PRODUCT_NAME = VorbisPlugin; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -355,7 +359,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -369,6 +376,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.vorbis; PRODUCT_NAME = VorbisPlugin; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -409,7 +417,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -448,7 +456,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/WavPack/WavPack.xcodeproj/project.pbxproj b/Plugins/WavPack/WavPack.xcodeproj/project.pbxproj index 229d0f831..b655eb60a 100644 --- a/Plugins/WavPack/WavPack.xcodeproj/project.pbxproj +++ b/Plugins/WavPack/WavPack.xcodeproj/project.pbxproj @@ -186,8 +186,8 @@ LastUpgradeCheck = 1020; TargetAttributes = { 8D5B49AC048680CD000E48DA = { - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -257,8 +257,11 @@ 1DEB913B08733D840010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -275,6 +278,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.wavpack; PRODUCT_NAME = WavPack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -285,7 +289,10 @@ 1DEB913C08733D840010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -300,6 +307,7 @@ INSTALL_PATH = "$(HOME)/Library/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = org.cogx.wavpack; PRODUCT_NAME = WavPack; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -340,7 +348,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SYMROOT = ../../build; @@ -379,7 +387,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; SYMROOT = ../../build; }; diff --git a/Plugins/sidplay/sidplay.xcodeproj/project.pbxproj b/Plugins/sidplay/sidplay.xcodeproj/project.pbxproj index f4d234471..bb961fa7f 100644 --- a/Plugins/sidplay/sidplay.xcodeproj/project.pbxproj +++ b/Plugins/sidplay/sidplay.xcodeproj/project.pbxproj @@ -167,8 +167,8 @@ TargetAttributes = { 8314D6301A354DFE00EEE8E6 = { CreatedOnToolsVersion = 6.1.1; - DevelopmentTeam = N6E749HJ2X; - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -285,7 +285,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -332,7 +332,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; @@ -341,11 +341,15 @@ 8314D6391A354DFE00EEE8E6 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = sidplay/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; @@ -355,11 +359,15 @@ 8314D63A1A354DFE00EEE8E6 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = 4S876G9VCD; INFOPLIST_FILE = sidplay/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; PRODUCT_BUNDLE_IDENTIFIER = "org.cogx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; diff --git a/Plugins/vgmstream/vgmstream.xcodeproj/project.pbxproj b/Plugins/vgmstream/vgmstream.xcodeproj/project.pbxproj index c78ea1a4d..fedeb1536 100644 --- a/Plugins/vgmstream/vgmstream.xcodeproj/project.pbxproj +++ b/Plugins/vgmstream/vgmstream.xcodeproj/project.pbxproj @@ -195,7 +195,8 @@ ORGANIZATIONNAME = "Christopher Snowhill"; TargetAttributes = { 836F6B0F18BDB80D0095E648 = { - ProvisioningStyle = Manual; + DevelopmentTeam = 4S876G9VCD; + ProvisioningStyle = Automatic; }; }; }; @@ -340,7 +341,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ../Vorbis/include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; }; @@ -401,7 +402,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ../Vorbis/include, ); - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; SDKROOT = macosx; }; name = Release; @@ -409,10 +410,10 @@ 836F6B2318BDB80D0095E648 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "vgmstream/vgmstream-Prefix.pch"; HEADER_SEARCH_PATHS = ( @@ -436,10 +437,10 @@ 836F6B2418BDB80D0095E648 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 4S876G9VCD; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "vgmstream/vgmstream-Prefix.pch"; HEADER_SEARCH_PATHS = ( diff --git a/Preferences/General/General.xcodeproj/project.pbxproj b/Preferences/General/General.xcodeproj/project.pbxproj index 318f78774..107f271f4 100644 --- a/Preferences/General/General.xcodeproj/project.pbxproj +++ b/Preferences/General/General.xcodeproj/project.pbxproj @@ -583,7 +583,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ( "-undefined", @@ -627,7 +627,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_LDFLAGS = ( "-undefined", dynamic_lookup, diff --git a/Scripts/ffmpeg-build-arm.sh b/Scripts/ffmpeg-build-arm.sh new file mode 100755 index 000000000..a414d36d9 --- /dev/null +++ b/Scripts/ffmpeg-build-arm.sh @@ -0,0 +1,17 @@ +# This is the commands used to build the ffmpeg libs provided here +./configure --arch=arm64 --enable-neon --extra-cflags="-arch arm64 -fPIC -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -mmacosx-version-min=11.0" --extra-ldflags="-arch arm64 -mmacosx-version-min=11.0" --enable-cross-compile\ + --enable-shared --disable-static --prefix=$HOME/Source/Repos/cog/ThirdParty/ffmpeg\ + --enable-pic --enable-gpl --disable-doc --disable-ffplay\ + --disable-ffprobe --disable-avdevice --disable-ffmpeg\ + --disable-postproc --disable-avfilter\ + --disable-swscale --disable-network --disable-swscale-alpha --disable-vdpau\ + --disable-dxva2 --disable-everything --enable-hwaccels\ + --enable-swresample\ + --enable-parser=ac3,mpegaudio,xma,vorbis,opus\ + --enable-demuxer=ac3,asf,xwma,mov,oma,ogg,tak,dsf,wav,aac,dts,dtshd,mp3,bink,flac,msf,xmv,caf,ape,smacker,pcm_s8,spdif,mpc,mpc8,rm\ + --enable-decoder=ac3,wmapro,wmav1,wmav2,wmavoice,wmalossless,xma1,xma2,dca,tak,dsd_lsbf,dsd_lsbf_planar,dsd_mbf,dsd_msbf_planar,aac,atrac3,atrac3p,mp3float,bink,binkaudio_dct,binkaudio_rdft,flac,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,vorbis,ape,adpcm_ima_qt,smackaud,opus,pcm_s8,pcm_s8_planar,mpc7,mpc8,alac,adpcm_ima_dk3,adpcm_ima_dk4,cook\ + --disable-parser=mpeg4video,h263\ + --disable-decoder=mpeg2video,h263,h264,mpeg1video,mpeg2video,mpeg4,hevc,vp9\ + --disable-version3 + +#make -j$(sysctl -n hw.logicalcpu) diff --git a/ThirdParty/Sparkle/Sparkle.framework/Headers b/ThirdParty/Sparkle/Sparkle.framework/Headers deleted file mode 120000 index a177d2a6b..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Modules b/ThirdParty/Sparkle/Sparkle.framework/Modules deleted file mode 120000 index 5736f3186..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Modules +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Modules \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/PrivateHeaders b/ThirdParty/Sparkle/Sparkle.framework/PrivateHeaders deleted file mode 120000 index d8e564526..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/PrivateHeaders +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/PrivateHeaders \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Resources b/ThirdParty/Sparkle/Sparkle.framework/Resources deleted file mode 120000 index 953ee36f3..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Sparkle b/ThirdParty/Sparkle/Sparkle.framework/Sparkle deleted file mode 120000 index b2c52731e..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Sparkle +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Sparkle \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h deleted file mode 100644 index 41cd57434..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloadData.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// SPUDownloadData.h -// Sparkle -// -// Created by Mayur Pawashe on 8/10/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -#import "SUExport.h" - -NS_ASSUME_NONNULL_BEGIN - -/*! - * A class for containing downloaded data along with some information about it. - */ -SU_EXPORT @interface SPUDownloadData : NSObject - -- (instancetype)initWithData:(NSData *)data textEncodingName:(NSString * _Nullable)textEncodingName MIMEType:(NSString * _Nullable)MIMEType; - -/*! - * The raw data that was downloaded. - */ -@property (nonatomic, readonly) NSData *data; - -/*! - * The IANA charset encoding name if available. Eg: "utf-8" - */ -@property (nonatomic, readonly, nullable, copy) NSString *textEncodingName; - -/*! - * The MIME type if available. Eg: "text/plain" - */ -@property (nonatomic, readonly, nullable, copy) NSString *MIMEType; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloader.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloader.h deleted file mode 100644 index 5eee9bd5e..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloader.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// SPUDownloader.h -// Downloader -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SPUDownloaderProtocol.h" - -@protocol SPUDownloaderDelegate; - -// This object implements the protocol which we have defined. It provides the actual behavior for the service. It is 'exported' by the service to make it available to the process hosting the service over an NSXPCConnection. -@interface SPUDownloader : NSObject - -// Due to XPC remote object reasons, this delegate is strongly referenced -// Invoke cleanup when done with this instance -- (instancetype)initWithDelegate:(id )delegate; - -@end diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h deleted file mode 100644 index 76e7e750a..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDelegate.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// SPUDownloaderDelegate.h -// Sparkle -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -@class SPUDownloadData; - -@protocol SPUDownloaderDelegate - -// This is only invoked for persistent downloads -- (void)downloaderDidSetDestinationName:(NSString *)destinationName temporaryDirectory:(NSString *)temporaryDirectory; - -// Under rare cases, this may be called more than once, in which case the current progress should be reset back to 0 -// This is only invoked for persistent downloads -- (void)downloaderDidReceiveExpectedContentLength:(int64_t)expectedContentLength; - -// This is only invoked for persistent downloads -- (void)downloaderDidReceiveDataOfLength:(uint64_t)length; - -// downloadData is nil if this is a persisent download, otherwise it's non-nil if it's a temporary download -- (void)downloaderDidFinishWithTemporaryDownloadData:(SPUDownloadData * _Nullable)downloadData; - -- (void)downloaderDidFailWithError:(NSError *)error; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h deleted file mode 100644 index 36302df48..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderDeprecated.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// SPUDownloaderDeprecated.h -// Sparkle -// -// Created by Deadpikle on 12/20/17. -// Copyright © 2017 Sparkle Project. All rights reserved. -// - -#import "SPUDownloader.h" - -@interface SPUDownloaderDeprecated : SPUDownloader - -@end diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h deleted file mode 100644 index ebe477fe7..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderProtocol.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// SPUDownloaderProtocol.h -// PersistentDownloader -// -// Created by Mayur Pawashe on 4/1/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -@class SPUURLRequest; - -// The protocol that this service will vend as its API. This header file will also need to be visible to the process hosting the service. -@protocol SPUDownloaderProtocol - -- (void)startPersistentDownloadWithRequest:(SPUURLRequest *)request bundleIdentifier:(NSString *)bundleIdentifier desiredFilename:(NSString *)desiredFilename; - -- (void)startTemporaryDownloadWithRequest:(SPUURLRequest *)request; - -- (void)downloadDidFinish; - -- (void)cleanup; - -- (void)cancel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h deleted file mode 100644 index 4bde75aac..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUDownloaderSession.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SPUDownloaderSession.h -// Sparkle -// -// Created by Deadpikle on 12/20/17. -// Copyright © 2017 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SPUDownloader.h" -#import "SPUDownloaderProtocol.h" - -NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0) -@interface SPUDownloaderSession : SPUDownloader - -@end diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h deleted file mode 100644 index 694961470..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SPUURLRequest.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// SPUURLRequest.h -// Sparkle -// -// Created by Mayur Pawashe on 5/19/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -// A class that wraps NSURLRequest and implements NSSecureCoding -// This class exists because NSURLRequest did not support NSSecureCoding in macOS 10.8 -// I have not verified if NSURLRequest in 10.9 implements NSSecureCoding or not -@interface SPUURLRequest : NSObject - -// Creates a new URL request -// Only these properties are currently tracked: -// * URL -// * Cache policy -// * Timeout interval -// * HTTP header fields -// * networkServiceType -+ (instancetype)URLRequestWithRequest:(NSURLRequest *)request; - -@property (nonatomic, readonly) NSURLRequest *request; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcast.h deleted file mode 100644 index 34276b7da..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcast.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// SUAppcast.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUAPPCAST_H -#define SUAPPCAST_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -NS_ASSUME_NONNULL_BEGIN - -@class SUAppcastItem; -SU_EXPORT @interface SUAppcast : NSObject - -@property (copy, nullable) NSString *userAgentString; -@property (copy, nullable) NSDictionary *httpHeaders; - -- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err; -- (SUAppcast *)copyWithoutDeltaUpdates; - -@property (readonly, copy, nullable) NSArray *items; -@end - -NS_ASSUME_NONNULL_END - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h deleted file mode 100644 index 1d8b1d01f..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// SUAppcastItem.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUAPPCASTITEM_H -#define SUAPPCASTITEM_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" -@class SUSignatures; - -SU_EXPORT @interface SUAppcastItem : NSObject -@property (copy, readonly) NSString *title; -@property (copy, readonly) NSString *dateString; -@property (copy, readonly) NSDate *date; -@property (copy, readonly) NSString *itemDescription; -@property (strong, readonly) NSURL *releaseNotesURL; -@property (strong, readonly) SUSignatures *signatures; -@property (copy, readonly) NSString *minimumSystemVersion; -@property (copy, readonly) NSString *maximumSystemVersion; -@property (strong, readonly) NSURL *fileURL; -@property (nonatomic, readonly) uint64_t contentLength; -@property (copy, readonly) NSString *versionString; -@property (copy, readonly) NSString *osString; -@property (copy, readonly) NSString *displayVersionString; -@property (copy, readonly) NSDictionary *deltaUpdates; -@property (strong, readonly) NSURL *infoURL; -@property (copy, readonly) NSNumber* phasedRolloutInterval; - -// Initializes with data from a dictionary provided by the RSS class. -- (instancetype)initWithDictionary:(NSDictionary *)dict; -- (instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString **)error; - -@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate; -@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate; -@property (getter=isMacOsUpdate, readonly) BOOL macOsUpdate; -@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate; - -// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. -@property (readonly, copy) NSDictionary *propertiesDictionary; - -- (NSURL *)infoURL; - -@end - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h deleted file mode 100644 index 3756a3781..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUCodeSigningVerifier.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// SUCodeSigningVerifier.h -// Sparkle -// -// Created by Andy Matuschak on 7/5/12. -// -// - -#ifndef SUCODESIGNINGVERIFIER_H -#define SUCODESIGNINGVERIFIER_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -SU_EXPORT @interface SUCodeSigningVerifier : NSObject -+ (BOOL)codeSignatureAtBundleURL:(NSURL *)oldBundlePath matchesSignatureAtBundleURL:(NSURL *)newBundlePath error:(NSError **)error; -+ (BOOL)codeSignatureIsValidAtBundleURL:(NSURL *)bundlePath error:(NSError **)error; -+ (BOOL)bundleAtURLIsCodeSigned:(NSURL *)bundlePath; -+ (NSDictionary *)codeSignatureInfoAtBundleURL:(NSURL *)bundlePath; -@end - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUErrors.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUErrors.h deleted file mode 100644 index 4b160c4f4..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUErrors.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// SUErrors.h -// Sparkle -// -// Created by C.W. Betts on 10/13/14. -// Copyright (c) 2014 Sparkle Project. All rights reserved. -// - -#ifndef SUERRORS_H -#define SUERRORS_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -/** - * Error domain used by Sparkle - */ -SU_EXPORT extern NSString *const SUSparkleErrorDomain; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wc++98-compat" -typedef NS_ENUM(OSStatus, SUError) { - // Appcast phase errors. - SUAppcastParseError = 1000, - SUNoUpdateError = 1001, - SUAppcastError = 1002, - SURunningFromDiskImageError = 1003, - SURunningTranslocated = 1004, - - // Download phase errors. - SUTemporaryDirectoryError = 2000, - SUDownloadError = 2001, - - // Extraction phase errors. - SUUnarchivingError = 3000, - SUSignatureError = 3001, - - // Installation phase errors. - SUFileCopyFailure = 4000, - SUAuthenticationFailure = 4001, - SUMissingUpdateError = 4002, - SUMissingInstallerToolError = 4003, - SURelaunchError = 4004, - SUInstallationError = 4005, - SUDowngradeError = 4006, - SUInstallationCancelledError = 4007, - - // System phase errors - SUSystemPowerOffError = 5000 -}; -#pragma clang diagnostic pop - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUExport.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUExport.h deleted file mode 100644 index 3e3f8a164..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUExport.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// SUExport.h -// Sparkle -// -// Created by Jake Petroules on 2014-08-23. -// Copyright (c) 2014 Sparkle Project. All rights reserved. -// - -#ifndef SUEXPORT_H -#define SUEXPORT_H - -#ifdef BUILDING_SPARKLE -#define SU_EXPORT __attribute__((visibility("default"))) -#else -#define SU_EXPORT -#endif - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h deleted file mode 100644 index ed11921a5..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUStandardVersionComparator.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// SUStandardVersionComparator.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUSTANDARDVERSIONCOMPARATOR_H -#define SUSTANDARDVERSIONCOMPARATOR_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" -#import "SUVersionComparisonProtocol.h" - -NS_ASSUME_NONNULL_BEGIN - -/*! - Sparkle's default version comparator. - - This comparator is adapted from MacPAD, by Kevin Ballard. - It's "dumb" in that it does essentially string comparison, - in components split by character type. -*/ -SU_EXPORT @interface SUStandardVersionComparator : NSObject - -/*! - Initializes a new instance of the standard version comparator. - */ -- (instancetype)init; - -/*! - Returns a singleton instance of the comparator. - - It is usually preferred to alloc/init new a comparator instead. -*/ -+ (SUStandardVersionComparator *)defaultComparator; - -/*! - Compares version strings through textual analysis. - - See the implementation for more details. -*/ -- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; -@end - -NS_ASSUME_NONNULL_END -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdater.h deleted file mode 100644 index d05270f23..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdater.h +++ /dev/null @@ -1,233 +0,0 @@ -// -// SUUpdater.h -// Sparkle -// -// Created by Andy Matuschak on 1/4/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SUUPDATER_H -#define SUUPDATER_H - -#if __has_feature(modules) -@import Cocoa; -#else -#import -#endif -#import "SUExport.h" -#import "SUVersionComparisonProtocol.h" -#import "SUVersionDisplayProtocol.h" - -@class SUAppcastItem, SUAppcast; - -@protocol SUUpdaterDelegate; - -/*! - The main API in Sparkle for controlling the update mechanism. - - This class is used to configure the update paramters as well as manually - and automatically schedule and control checks for updates. - */ -SU_EXPORT @interface SUUpdater : NSObject - -@property (unsafe_unretained) IBOutlet id delegate; - -/*! - The shared updater for the main bundle. - - This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle: - */ -+ (SUUpdater *)sharedUpdater; - -/*! - The shared updater for a specified bundle. - - If an updater has already been initialized for the provided bundle, that shared instance will be returned. - */ -+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle; - -/*! - Designated initializer for SUUpdater. - - If an updater has already been initialized for the provided bundle, that shared instance will be returned. - */ -- (instancetype)initForBundle:(NSBundle *)bundle; - -/*! - Explicitly checks for updates and displays a progress dialog while doing so. - - This method is meant for a main menu item. - Connect any menu item to this action in Interface Builder, - and Sparkle will check for updates and report back its findings verbosely - when it is invoked. - - This will find updates that the user has opted into skipping. - */ -- (IBAction)checkForUpdates:(id)sender; - -/*! - The menu item validation used for the -checkForUpdates: action - */ -- (BOOL)validateMenuItem:(NSMenuItem *)menuItem; - -/*! - Checks for updates, but does not display any UI unless an update is found. - - This is meant for programmatically initating a check for updates. That is, - it will display no UI unless it actually finds an update, in which case it - proceeds as usual. - - If automatic downloading of updates it turned on and allowed, however, - this will invoke that behavior, and if an update is found, it will be downloaded - in the background silently and will be prepped for installation. - - This will not find updates that the user has opted into skipping. - */ -- (void)checkForUpdatesInBackground; - -/*! - A property indicating whether or not to check for updates automatically. - - Setting this property will persist in the host bundle's user defaults. - The update schedule cycle will be reset in a short delay after the property's new value is set. - This is to allow reverting this property without kicking off a schedule change immediately - */ -@property BOOL automaticallyChecksForUpdates; - -/*! - A property indicating whether or not updates can be automatically downloaded in the background. - - Note that automatic downloading of updates can be disallowed by the developer - or by the user's system if silent updates cannot be done (eg: if they require authentication). - In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set. - - Setting this property will persist in the host bundle's user defaults. - */ -@property BOOL automaticallyDownloadsUpdates; - -/*! - A property indicating the current automatic update check interval. - - Setting this property will persist in the host bundle's user defaults. - The update schedule cycle will be reset in a short delay after the property's new value is set. - This is to allow reverting this property without kicking off a schedule change immediately - */ -@property NSTimeInterval updateCheckInterval; - -/*! - Begins a "probing" check for updates which will not actually offer to - update to that version. - - However, the delegate methods - SUUpdaterDelegate::updater:didFindValidUpdate: and - SUUpdaterDelegate::updaterDidNotFindUpdate: will be called, - so you can use that information in your UI. - - Updates that have been skipped by the user will not be found. - */ -- (void)checkForUpdateInformation; - -/*! - The URL of the appcast used to download update information. - - Setting this property will persist in the host bundle's user defaults. - If you don't want persistence, you may want to consider instead implementing - SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile: - - This property must be called on the main thread. - */ -@property (copy) NSURL *feedURL; - -/*! - The host bundle that is being updated. - */ -@property (readonly, strong) NSBundle *hostBundle; - -/*! - The bundle this class (SUUpdater) is loaded into. - */ -@property (strong, readonly) NSBundle *sparkleBundle; - -/*! - The user agent used when checking for updates. - - The default implementation can be overrided. - */ -@property (nonatomic, copy) NSString *userAgentString; - -/*! - The HTTP headers used when checking for updates. - - The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString) - */ -@property (copy) NSDictionary *httpHeaders; - -/*! - A property indicating whether or not the user's system profile information is sent when checking for updates. - - Setting this property will persist in the host bundle's user defaults. - */ -@property BOOL sendsSystemProfile; - -/*! - A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg) - */ -@property (nonatomic, copy) NSString *decryptionPassword; - -/*! - This function ignores normal update schedule, ignores user preferences, - and interrupts users with an unwanted immediate app update. - - WARNING: this function should not be used in regular apps. This function - is a user-unfriendly hack only for very special cases, like unstable - rapidly-changing beta builds that would not run correctly if they were - even one day out of date. - - Instead of this function you should set `SUAutomaticallyUpdate` to `YES`, - which will gracefully install updates when the app quits. - - For UI-less/daemon apps that aren't usually quit, instead of this function, - you can use the delegate method - SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: - or - SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationBlock: - to immediately start installation when an update was found. - - A progress dialog is shown but the user will never be prompted to read the - release notes. - - This function will cause update to be downloaded twice if automatic updates are - enabled. - - You may want to respond to the userDidCancelDownload delegate method in case - the user clicks the "Cancel" button while the update is downloading. - */ -- (void)installUpdatesIfAvailable; - -/*! - Returns the date of last update check. - - \returns \c nil if no check has been performed. - */ -@property (readonly, copy) NSDate *lastUpdateCheckDate; - -/*! - Appropriately schedules or cancels the update checking timer according to - the preferences for time interval and automatic checks. - - This call does not change the date of the next check, - but only the internal NSTimer. - */ -- (void)resetUpdateCycle; - -/*! - A property indicating whether or not an update is in progress. - - Note this property is not indicative of whether or not user initiated updates can be performed. - Use SUUpdater::validateMenuItem: for that instead. - */ -@property (readonly) BOOL updateInProgress; - -@end - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h deleted file mode 100644 index ea8197b52..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUUpdaterDelegate.h +++ /dev/null @@ -1,352 +0,0 @@ -// -// SUUpdaterDelegate.h -// Sparkle -// -// Created by Mayur Pawashe on 12/25/16. -// Copyright © 2016 Sparkle Project. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif - -#import "SUExport.h" - -@protocol SUVersionComparison, SUVersionDisplay; -@class SUUpdater, SUAppcast, SUAppcastItem; - -NS_ASSUME_NONNULL_BEGIN - -// ----------------------------------------------------------------------------- -// SUUpdater Notifications for events that might be interesting to more than just the delegate -// The updater will be the notification object -// ----------------------------------------------------------------------------- -SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification; -SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification; -SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification; -SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification; -#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification; -#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification; - -// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo -SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey; -// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo -SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey; - -// ----------------------------------------------------------------------------- -// SUUpdater Delegate: -// ----------------------------------------------------------------------------- - -/*! - Provides methods to control the behavior of an SUUpdater object. - */ -@protocol SUUpdaterDelegate -@optional - -/*! - Returns whether to allow Sparkle to pop up. - - For example, this may be used to prevent Sparkle from interrupting a setup assistant. - - \param updater The SUUpdater instance. - */ -- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater; - -/*! - Returns additional parameters to append to the appcast URL's query string. - - This is potentially based on whether or not Sparkle will also be sending along the system profile. - - \param updater The SUUpdater instance. - \param sendingProfile Whether the system profile will also be sent. - - \return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user. - */ -- (NSArray *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile; - -/*! - Returns a custom appcast URL. - - Override this to dynamically specify the entire URL. - - An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile: - and let the server handle what kind of feed to provide. - - \param updater The SUUpdater instance. - */ -- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater; - -/*! - Returns whether Sparkle should prompt the user about automatic update checks. - - Use this to override the default behavior. - - \param updater The SUUpdater instance. - */ -- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater; - -/*! - Called after Sparkle has downloaded the appcast from the remote server. - - Implement this if you want to do some special handling with the appcast once it finishes loading. - - \param updater The SUUpdater instance. - \param appcast The appcast that was downloaded from the remote server. - */ -- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast; - -/*! - Returns the item in the appcast corresponding to the update that should be installed. - - If you're using special logic or extensions in your appcast, - implement this to use your own logic for finding a valid update, if any, - in the given appcast. - - \param appcast The appcast that was downloaded from the remote server. - \param updater The SUUpdater instance. - */ -- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater; - -/*! - Called when a valid update is found by the update driver. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - */ -- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item; - -/*! - Called just before the scheduled update driver prompts the user to install an update. - - \param updater The SUUpdater instance. - - \return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it. - */ -- (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item; - -/*! - Called after the user dismisses the update alert. - - \param updater The SUUpdater instance. - \param permanently YES if the alert will not appear again for this update; NO if it may reappear. - */ -- (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item; - -/*! - Called when a valid update is not found. - - \param updater The SUUpdater instance. - */ -- (void)updaterDidNotFindUpdate:(SUUpdater *)updater; - -/*! - Called when the user clicks the Skip This Version button. - - \param updater The SUUpdater instance. - */ -- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item; - -/*! - Called immediately before downloading the specified update. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be downloaded. - \param request The mutable URL request that will be used to download the update. - */ -- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request; - -/*! - Called immediately after succesfull download of the specified update. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that has been downloaded. - */ -- (void)updater:(SUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item; - -/*! - Called after the specified update failed to download. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that failed to download. - \param error The error generated by the failed download. - */ -- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error; - -/*! - Called when the user clicks the cancel button while and update is being downloaded. - - \param updater The SUUpdater instance. - */ -- (void)userDidCancelDownload:(SUUpdater *)updater; - -/*! - Called immediately before extracting the specified downloaded update. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be extracted. - */ -- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item; - -/*! - Called immediately after extracting the specified downloaded update. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that has been extracted. - */ -- (void)updater:(SUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item; - -/*! - Called immediately before installing the specified update. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - */ -- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item; - -/*! - Returns whether the relaunch should be delayed in order to perform other tasks. - - This is not called if the user didn't relaunch on the previous update, - in that case it will immediately restart. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - \param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch. - - \return \c YES to delay the relaunch until \p invocation is invoked. - */ -- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation; - -/*! - Returns whether the relaunch should be delayed in order to perform other tasks. - - This is not called if the user didn't relaunch on the previous update, - in that case it will immediately restart. - - This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - - \return \c YES to delay the relaunch. - */ -- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item; - -/*! - Returns whether the application should be relaunched at all. - - Some apps \b cannot be relaunched under certain circumstances. - This method can be used to explicitly prevent a relaunch. - - \param updater The SUUpdater instance. - */ -- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater; - -/*! - Called immediately before relaunching. - - \param updater The SUUpdater instance. - */ -- (void)updaterWillRelaunchApplication:(SUUpdater *)updater; - -/*! - Called immediately after relaunching. SUUpdater delegate must be set before applicationDidFinishLaunching: to catch this event. - - \param updater The SUUpdater instance. - */ -- (void)updaterDidRelaunchApplication:(SUUpdater *)updater; - -/*! - Returns an object that compares version numbers to determine their arithmetic relation to each other. - - This method allows you to provide a custom version comparator. - If you don't implement this method or return \c nil, - the standard version comparator will be used. - - \sa SUStandardVersionComparator - - \param updater The SUUpdater instance. - */ -- (nullable id)versionComparatorForUpdater:(SUUpdater *)updater; - -/*! - Returns an object that formats version numbers for display to the user. - - If you don't implement this method or return \c nil, - the standard version formatter will be used. - - \sa SUUpdateAlert - - \param updater The SUUpdater instance. - */ -- (nullable id)versionDisplayerForUpdater:(SUUpdater *)updater; - -/*! - Returns the path which is used to relaunch the client after the update is installed. - - The default is the path of the host bundle. - - \param updater The SUUpdater instance. - */ -- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater; - -/*! - Called before an updater shows a modal alert window, - to give the host the opportunity to hide attached windows that may get in the way. - - \param updater The SUUpdater instance. - */ -- (void)updaterWillShowModalAlert:(SUUpdater *)updater; - -/*! - Called after an updater shows a modal alert window, - to give the host the opportunity to hide attached windows that may get in the way. - - \param updater The SUUpdater instance. - */ -- (void)updaterDidShowModalAlert:(SUUpdater *)updater; - -/*! - Called when an update is scheduled to be silently installed on quit. - This is after an update has been automatically downloaded in the background. - (i.e. SUUpdater::automaticallyDownloadsUpdates is YES) - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - \param invocation Can be used to trigger an immediate silent install and relaunch. - */ -- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation; - -/*! - Called when an update is scheduled to be silently installed on quit. - This is after an update has been automatically downloaded in the background. - (i.e. SUUpdater::automaticallyDownloadsUpdates is YES) - This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that is proposed to be installed. - \param installationBlock Can be used to trigger an immediate silent install and relaunch. - */ -- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))installationBlock; - -/*! - Calls after an update that was scheduled to be silently installed on quit has been canceled. - - \param updater The SUUpdater instance. - \param item The appcast item corresponding to the update that was proposed to be installed. - */ -- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item; - -/*! - Called after an update is aborted due to an error. - - \param updater The SUUpdater instance. - \param error The error that caused the abort - */ -- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h deleted file mode 100644 index c654fc4d0..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// SUVersionComparisonProtocol.h -// Sparkle -// -// Created by Andy Matuschak on 12/21/07. -// Copyright 2007 Andy Matuschak. All rights reserved. -// - -#ifndef SUVERSIONCOMPARISONPROTOCOL_H -#define SUVERSIONCOMPARISONPROTOCOL_H - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -NS_ASSUME_NONNULL_BEGIN - -/*! - Provides version comparison facilities for Sparkle. -*/ -@protocol SUVersionComparison - -/*! - An abstract method to compare two version strings. - - Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, - and NSOrderedSame if they are equivalent. -*/ -- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD! - -@end - -NS_ASSUME_NONNULL_END -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h deleted file mode 100644 index 980efb3fe..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// SUVersionDisplayProtocol.h -// EyeTV -// -// Created by Uli Kusterer on 08.12.09. -// Copyright 2009 Elgato Systems GmbH. All rights reserved. -// - -#if __has_feature(modules) -@import Foundation; -#else -#import -#endif -#import "SUExport.h" - -/*! - Applies special display formatting to version numbers. -*/ -@protocol SUVersionDisplay - -/*! - Formats two version strings. - - Both versions are provided so that important distinguishing information - can be displayed while also leaving out unnecessary/confusing parts. -*/ -- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB; - -@end diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/Sparkle.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/Sparkle.h deleted file mode 100644 index 5ae2e6a6d..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Headers/Sparkle.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// Sparkle.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#ifndef SPARKLE_H -#define SPARKLE_H - -// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless -// there are name-space collisions) so we can list all of them to start with: - -#import "SUAppcast.h" -#import "SUAppcastItem.h" -#import "SUStandardVersionComparator.h" -#import "SUUpdater.h" -#import "SUUpdaterDelegate.h" -#import "SUVersionComparisonProtocol.h" -#import "SUVersionDisplayProtocol.h" -#import "SUErrors.h" - -#import "SPUDownloader.h" -#import "SPUDownloaderDelegate.h" -#import "SPUDownloaderDeprecated.h" -#import "SPUDownloadData.h" -#import "SPUDownloaderProtocol.h" -#import "SPUDownloaderSession.h" -#import "SPUURLRequest.h" -#import "SUCodeSigningVerifier.h" - -#endif diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Modules/module.modulemap b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Modules/module.modulemap deleted file mode 100644 index af3fe6d05..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Sparkle { - umbrella header "Sparkle.h" - - export * - module * { export * } -} diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h deleted file mode 100644 index a52bf5a2d..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// SUUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol SUUnarchiverProtocol; - -@interface SUUnarchiver : NSObject - -+ (nullable id )unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword; - -@end - -NS_ASSUME_NONNULL_END diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist deleted file mode 100644 index 86abd3b38..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - BuildMachineOSBuild - 19E224g - CFBundleDevelopmentRegion - English - CFBundleExecutable - Autoupdate - CFBundleIconFile - AppIcon.icns - CFBundleIdentifier - org.sparkle-project.Sparkle.Autoupdate - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.23.0 34-g962878b84 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1.23.0 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 11B44 - DTPlatformVersion - GM - DTSDKBuild - 19B68e - DTSDKName - macosx10.15 - DTXcode - 1120 - DTXcodeBuild - 11B44 - LSBackgroundOnly - 1 - LSMinimumSystemVersion - 10.7 - LSUIElement - 1 - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate deleted file mode 100755 index e7c054ad7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop deleted file mode 100755 index f7355ce40..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo deleted file mode 100644 index bd04210fb..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns deleted file mode 100644 index 7f2a571c8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/AppIcon.icns and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib deleted file mode 100644 index 0db550896..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/SUStatus.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings deleted file mode 100644 index e00af3413..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings deleted file mode 100644 index f2aea2755..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings deleted file mode 100644 index 1464f3493..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings deleted file mode 100644 index e0957c601..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings deleted file mode 100644 index 202e70b73..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings deleted file mode 100644 index 6ef15d4a5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings deleted file mode 100644 index 49ed0dfe2..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings deleted file mode 100644 index 8a083f86f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings deleted file mode 100644 index 773f7c997..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings deleted file mode 100644 index 954abee05..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings deleted file mode 100644 index ce63fdef7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings deleted file mode 100644 index fe6543556..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings deleted file mode 100644 index d30ef64bd..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings deleted file mode 100644 index 5f6ace28d..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings deleted file mode 100644 index 5b4be9ead..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings deleted file mode 100644 index f4685edad..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings deleted file mode 100644 index f008e1eee..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings deleted file mode 100644 index fa4cd97df..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings deleted file mode 100644 index 76f3556b8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings deleted file mode 100644 index 4444f3384..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings deleted file mode 100644 index 2a7ce2991..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings deleted file mode 100644 index 18a287e80..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings deleted file mode 100644 index 967a44189..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings deleted file mode 100644 index 8a11ecf17..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings deleted file mode 100644 index 65aa28f2f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings deleted file mode 100644 index caaf06030..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings deleted file mode 100644 index e7c70db71..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings deleted file mode 100644 index 058b4ba6a..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings deleted file mode 100644 index ffc576725..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings deleted file mode 100644 index 263326c98..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings deleted file mode 100644 index 7e808f8a8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings deleted file mode 100644 index b9517885b..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources deleted file mode 100644 index 3239aff16..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources +++ /dev/null @@ -1,860 +0,0 @@ - - - - - files - - Resources/AppIcon.icns - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - Resources/SUStatus.nib - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - optional - - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - optional - - - - files2 - - MacOS/fileop - - cdhash - - m93UAGlWG1VExsGEVOlzraeDVJU= - - requirement - cdhash H"034b541bc0ce637d7c6cbab430b6ae5bf60b18d2" or cdhash H"9bddd40069561b5544c6c18454e973ada7835495" - - Resources/AppIcon.icns - - hash - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - hash2 - - nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE= - - - Resources/SUStatus.nib - - hash - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - hash2 - - 5qy5Hmt7D8O4gK4CkA7/lWikR3cX9ZSe6yTyluAeOh8= - - - Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - hash2 - - 2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - hash2 - - om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - hash2 - - 06z1nY8VfM4M1SdHCc1jqewmP5Ue0g3mPDcNbeDVNIM= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - hash2 - - wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - hash2 - - XUpgsFH8KmcbgggpdYbJScCg0tBic9tNLdFh+8cbPyw= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - hash2 - - wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - hash2 - - Xl/5yA/K9T7cscvPi/4/lWUtjJlIvO+esCF4SRaguz4= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - hash2 - - mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - hash2 - - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - hash2 - - fyqJl0MhXYRILalxRHpv/JorWLOVLPtNcJioiPtlnYg= - - optional - - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - hash2 - - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - hash2 - - I1njQLVyH2bFsJecQOLDAB9N8q8niH7u+hqzxRqqerA= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - hash2 - - sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - hash2 - - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - hash2 - - Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - hash2 - - dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - hash2 - - +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - hash2 - - FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - hash2 - - xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - hash2 - - pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - hash2 - - lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - hash2 - - RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - hash2 - - NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - hash2 - - wJZ5NG+mvj4anRFPUFyvSD0kGrg+ZAqklsPfHuCxLQY= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - hash2 - - e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - hash2 - - t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - hash2 - - mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - hash2 - - nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - hash2 - - xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - hash2 - - u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - hash2 - - ecJXF6vvj1f80iCr+Gk52cTyumQrea6H0NpOjwbbLiE= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - hash2 - - Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ= - - optional - - - - rules - - ^Resources/ - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^Resources/ - - weight - 20 - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/DarkAqua.css b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/DarkAqua.css deleted file mode 100644 index a41e0f285..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/DarkAqua.css +++ /dev/null @@ -1,9 +0,0 @@ -html { - color: #FFFFFFD8; -} -:link { - color: #419CFF; -} -:link:active { - color: #FF1919; -} diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Info.plist b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 4ee07eaed..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - BuildMachineOSBuild - 19E224g - CFBundleDevelopmentRegion - en - CFBundleExecutable - Sparkle - CFBundleIdentifier - org.sparkle-project.Sparkle - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Sparkle - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.23.0 35-gec1536277 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1.23.0 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 11B44 - DTPlatformVersion - GM - DTSDKBuild - 19B68e - DTSDKName - macosx10.15 - DTXcode - 1120 - DTXcodeBuild - 11B44 - LSMinimumSystemVersion - 10.7 - - diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist deleted file mode 100644 index 1f75b248c..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist +++ /dev/null @@ -1,314 +0,0 @@ - - - - - ADP2,1 - Developer Transition Kit - iMac1,1 - iMac G3 (Rev A-D) - iMac4,1 - iMac (Core Duo) - iMac4,2 - iMac for Education (17 inch, Core Duo) - iMac5,1 - iMac (Core 2 Duo, 17 or 20 inch, SuperDrive) - iMac5,2 - iMac (Core 2 Duo, 17 inch, Combo Drive) - iMac6,1 - iMac (Core 2 Duo, 24 inch, SuperDrive) - iMac7,1 - iMac Intel Core 2 Duo (aluminum enclosure) - iMac8,1 - iMac (Core 2 Duo, 20 or 24 inch, Early 2008 ) - iMac9,1 - iMac (Core 2 Duo, 20 or 24 inch, Early or Mid 2009 ) - iMac10,1 - iMac (Core 2 Duo, 21.5 or 27 inch, Late 2009 ) - iMac11,1 - iMac (Core i5 or i7, 27 inch Late 2009) - iMac11,2 - 21.5" iMac (mid 2010) - iMac11,3 - iMac (Core i5 or i7, 27 inch Mid 2010) - iMac12,1 - iMac (Core i3 or i5 or i7, 21.5 inch Mid 2010 or Late 2011) - iMac12,2 - iMac (Core i5 or i7, 27 inch Mid 2011) - iMac13,1 - iMac (Core i3 or i5 or i7, 21.5 inch Late 2012 or Early 2013) - iMac13,2 - iMac (Core i5 or i7, 27 inch Late 2012) - iMac14,1 - iMac (Core i5, 21.5 inch Late 2013) - iMac14,2 - iMac (Core i5 or i7, 27 inch Late 2013) - iMac14,3 - iMac (Core i5 or i7, 21.5 inch Late 2013) - iMac14,4 - iMac (Core i5, 21.5 inch Mid 2014) - iMac15,1 - iMac (Retina 5K Core i5 or i7, 27 inch Late 2014 or Mid 2015) - iMac16,1 - iMac (Core i5, 21,5 inch Late 2015) - iMac16,2 - iMac (Retina 4K Core i5 or i7, 21.5 inch Late 2015) - iMac17,1 - iMac (Retina 5K Core i5 or i7, 27 inch Late 2015) - MacBook1,1 - MacBook (Core Duo) - MacBook2,1 - MacBook (Core 2 Duo) - MacBook4,1 - MacBook (Core 2 Duo Feb 2008) - MacBook5,1 - MacBook (Core 2 Duo, Late 2008, Unibody) - MacBook5,2 - MacBook (Core 2 Duo, Early 2009, White) - MacBook6,1 - MacBook (Core 2 Duo, Late 2009, Unibody) - MacBook7,1 - MacBook (Core 2 Duo, Mid 2010, White) - MacBook8,1 - MacBook (Core M, 12 inch, Early 2015) - MacBookAir1,1 - MacBook Air (Core 2 Duo, 13 inch, Early 2008) - MacBookAir2,1 - MacBook Air (Core 2 Duo, 13 inch, Mid 2009) - MacBookAir3,1 - MacBook Air (Core 2 Duo, 11 inch, Late 2010) - MacBookAir3,2 - MacBook Air (Core 2 Duo, 13 inch, Late 2010) - MacBookAir4,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2011) - MacBookAir4,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2011) - MacBookAir5,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2012) - MacBookAir5,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2012) - MacBookAir6,1 - MacBook Air (Core i5 or i7, 11 inch, Mid 2013 or Early 2014) - MacBookAir6,2 - MacBook Air (Core i5 or i7, 13 inch, Mid 2013 or Early 2014) - MacBookAir7,1 - MacBook Air (Core i5 or i7, 11 inch, Early 2015) - MacBookAir7,2 - MacBook Air (Core i5 or i7, 13 inch, Early 2015) - MacBookPro1,1 - MacBook Pro Core Duo (15-inch) - MacBookPro1,2 - MacBook Pro Core Duo (17-inch) - MacBookPro2,1 - MacBook Pro Core 2 Duo (17-inch) - MacBookPro2,2 - MacBook Pro Core 2 Duo (15-inch) - MacBookPro3,1 - MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo) - MacBookPro3,2 - MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo) - MacBookPro4,1 - MacBook Pro (Core 2 Duo Feb 2008) - MacBookPro5,1 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,2 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,3 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,4 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro5,5 - MacBook Pro Intel Core 2 Duo (aluminum unibody) - MacBookPro6,1 - MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) - MacBookPro6,2 - MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) - MacBookPro7,1 - MacBook Pro Intel Core 2 Duo (mid 2010) - MacBookPro8,1 - MacBook Pro Intel Core i5, Intel Core i7, 13" (early 2011) - MacBookPro8,2 - MacBook Pro Intel Core i7, 15" (early 2011) - MacBookPro8,3 - MacBook Pro Intel Core i7, 17" (early 2011) - MacBookPro9,1 - MacBook Pro (15-inch, Mid 2012) - MacBookPro9,2 - MacBook Pro (13-inch, Mid 2012) - MacBookPro10,1 - MacBook Pro (Retina, Mid 2012) - MacBookPro10,2 - MacBook Pro (Retina, 13-inch, Late 2012) - MacBookPro11,1 - MacBook Pro (Retina, 13-inch, Late 2013) - MacBookPro11,2 - MacBook Pro (Retina, 15-inch, Late 2013) - MacBookPro11,3 - MacBook Pro (Retina, 15-inch, Late 2013) - MacbookPro11,4 - MacBook Pro (Retina, 15-inch, Mid 2015) - MacbookPro11,5 - MacBook Pro (Retina, 15-inch, Mid 2015) - MacbookPro12,1  - MacBook Pro (Retina, 13-inch, Early 2015) - Macmini1,1 - Mac Mini (Core Solo/Duo) - Macmini2,1 - Mac mini Intel Core - Macmini3,1 - Mac mini Intel Core - Macmini4,1 - Mac mini Intel Core (Mid 2010) - Macmini5,1 - Mac mini (Core i5, Mid 2011) - Macmini5,2 - Mac mini (Core i5 or Core i7, Mid 2011) - Macmini5,3 - Mac mini (Core i7, Server, Mid 2011) - Macmini6,1 - Mac mini (Core i5, Late 2012) - Macmini6,2 - Mac mini (Core i7, Normal or Server, Late 2012) - Macmini7,1 - Mac mini (Core i5 or Core i7, Late 2014) - MacPro1,1,Quad - Mac Pro - MacPro1,1 - Mac Pro (four-core) - MacPro2,1 - Mac Pro (eight-core) - MacPro3,1 - Mac Pro (January 2008 4- or 8- core "Harpertown") - MacPro4,1 - Mac Pro (March 2009) - MacPro5,1 - Mac Pro (2010 or 2012) - MacPro6,1 - Mac Pro (Late 2013) - PowerBook1,1 - PowerBook G3 - PowerBook2,1 - iBook G3 - PowerBook2,2 - iBook G3 (FireWire) - PowerBook2,3 - iBook G3 - PowerBook2,4 - iBook G3 - PowerBook3,1 - PowerBook G3 (FireWire) - PowerBook3,2 - PowerBook G4 - PowerBook3,3 - PowerBook G4 (Gigabit Ethernet) - PowerBook3,4 - PowerBook G4 (DVI) - PowerBook3,5 - PowerBook G4 (1GHz / 867MHz) - PowerBook4,1 - iBook G3 (Dual USB, Late 2001) - PowerBook4,2 - iBook G3 (16MB VRAM) - PowerBook4,3 - iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003) - PowerBook5,1 - PowerBook G4 (17 inch) - PowerBook5,2 - PowerBook G4 (15 inch FW 800) - PowerBook5,3 - PowerBook G4 (17-inch 1.33GHz) - PowerBook5,4 - PowerBook G4 (15 inch 1.5/1.33GHz) - PowerBook5,5 - PowerBook G4 (17-inch 1.5GHz) - PowerBook5,6 - PowerBook G4 (15 inch 1.67GHz/1.5GHz) - PowerBook5,7 - PowerBook G4 (17-inch 1.67GHz) - PowerBook5,8 - PowerBook G4 (Double layer SD, 15 inch) - PowerBook5,9 - PowerBook G4 (Double layer SD, 17 inch) - PowerBook6,1 - PowerBook G4 (12 inch) - PowerBook6,2 - PowerBook G4 (12 inch, DVI) - PowerBook6,3 - iBook G4 - PowerBook6,4 - PowerBook G4 (12 inch 1.33GHz) - PowerBook6,5 - iBook G4 (Early-Late 2004) - PowerBook6,7 - iBook G4 (Mid 2005) - PowerBook6,8 - PowerBook G4 (12 inch 1.5GHz) - PowerMac1,1 - Power Macintosh G3 (Blue & White) - PowerMac1,2 - Power Macintosh G4 (PCI Graphics) - PowerMac2,1 - iMac G3 (Slot-loading CD-ROM) - PowerMac2,2 - iMac G3 (Summer 2000) - PowerMac3,1 - Power Macintosh G4 (AGP Graphics) - PowerMac3,2 - Power Macintosh G4 (AGP Graphics) - PowerMac3,3 - Power Macintosh G4 (Gigabit Ethernet) - PowerMac3,4 - Power Macintosh G4 (Digital Audio) - PowerMac3,5 - Power Macintosh G4 (Quick Silver) - PowerMac3,6 - Power Macintosh G4 (Mirrored Drive Door) - PowerMac4,1 - iMac G3 (Early/Summer 2001) - PowerMac4,2 - iMac G4 (Flat Panel) - PowerMac4,4 - eMac - PowerMac4,5 - iMac G4 (17-inch Flat Panel) - PowerMac5,1 - Power Macintosh G4 Cube - PowerMac5,2 - Power Mac G4 Cube - PowerMac6,1 - iMac G4 (USB 2.0) - PowerMac6,3 - iMac G4 (20-inch Flat Panel) - PowerMac6,4 - eMac (USB 2.0, 2005) - PowerMac7,2 - Power Macintosh G5 - PowerMac7,3 - Power Macintosh G5 - PowerMac8,1 - iMac G5 - PowerMac8,2 - iMac G5 (Ambient Light Sensor) - PowerMac9,1 - Power Macintosh G5 (Late 2005) - PowerMac10,1 - Mac Mini G4 - PowerMac10,2 - Mac Mini (Late 2005) - PowerMac11,2 - Power Macintosh G5 (Late 2005) - PowerMac12,1 - iMac G5 (iSight) - RackMac1,1 - Xserve G4 - RackMac1,2 - Xserve G4 (slot-loading, cluster node) - RackMac3,1 - Xserve G5 - Xserve1,1 - Xserve (Intel Xeon) - Xserve2,1 - Xserve (January 2008 quad-core) - Xserve3,1 - Xserve (early 2009) - - diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUStatus.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUStatus.nib deleted file mode 100644 index 0db550896..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/SUStatus.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 37662d76a..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib deleted file mode 100644 index 5b92ee10e..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index a328d26a8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings deleted file mode 100644 index e00af3413..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings deleted file mode 100644 index f2aea2755..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ca.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 8d76772d2..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib deleted file mode 100644 index 6d50f65ab..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index fd17b58c5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings deleted file mode 100644 index 1464f3493..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 8a7558750..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib deleted file mode 100644 index 6e0336e1f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 1e5dd16a0..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings deleted file mode 100644 index e0957c601..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 7d3186df5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib deleted file mode 100644 index 993a696ab..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index a28251c79..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings deleted file mode 100644 index 202e70b73..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index a5f23c8ca..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib deleted file mode 100644 index 5c0cacac4..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index b4b0879da..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings deleted file mode 100644 index 6ef15d4a5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/el.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 643cfbfae..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib deleted file mode 100644 index 89f7db4e7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 85a98b851..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings deleted file mode 100644 index 49ed0dfe2..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 250bf1b6d..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib deleted file mode 100644 index 9e3ad130f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 01a7fe611..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings deleted file mode 100644 index 8a083f86f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 29475743f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib deleted file mode 100644 index 0eb20b901..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index af32dda28..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings deleted file mode 100644 index 773f7c997..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fi.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 6da162892..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib deleted file mode 100644 index 80a7ea9fe..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index b34645762..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings deleted file mode 100644 index 954abee05..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr_CA.lproj b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr_CA.lproj deleted file mode 120000 index f9834a395..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/fr_CA.lproj +++ /dev/null @@ -1 +0,0 @@ -fr.lproj \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings deleted file mode 100644 index ce63fdef7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/he.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 30c68d7d7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib deleted file mode 100644 index 8693cbc3a..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 43c993948..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings deleted file mode 100644 index fe6543556..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 9ac3a7296..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib deleted file mode 100644 index fa26f7071..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 5366d6cc7..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings deleted file mode 100644 index d30ef64bd..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/hu.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 768beb950..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib deleted file mode 100644 index 2c5015432..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 8d9071575..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings deleted file mode 100644 index 5f6ace28d..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 5329daf83..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib deleted file mode 100644 index 9f34c0f02..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index df99d5952..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings deleted file mode 100644 index 5b4be9ead..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 359fdd3b1..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib deleted file mode 100644 index ee645583c..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index c05c936f1..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings deleted file mode 100644 index f4685edad..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 3df405258..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib deleted file mode 100644 index 24d7c6fc4..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 6131a89f5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings deleted file mode 100644 index f008e1eee..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ko.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 8afc9a794..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib deleted file mode 100644 index 464fe83cf..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 1d8c21a40..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings deleted file mode 100644 index fa4cd97df..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nb.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 6c19e84ea..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib deleted file mode 100644 index 72ec70976..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 2745a9693..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings deleted file mode 100644 index 76f3556b8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 7fb38ae22..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib deleted file mode 100644 index 7770c8748..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index c3cc61aa6..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings deleted file mode 100644 index 4444f3384..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt.lproj b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt.lproj deleted file mode 120000 index 3c1c9f6dc..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt.lproj +++ /dev/null @@ -1 +0,0 @@ -pt_BR.lproj \ No newline at end of file diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 0aceaddbb..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib deleted file mode 100644 index 39e170301..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 878210dda..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings deleted file mode 100644 index 2a7ce2991..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 713f39bd0..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib deleted file mode 100644 index 4ac653cb1..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 5d62dc878..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings deleted file mode 100644 index 18a287e80..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index a35c2719e..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib deleted file mode 100644 index 5cd107ed9..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index bd546ca26..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings deleted file mode 100644 index 967a44189..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 488f5d85f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib deleted file mode 100644 index c4967d123..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 5ab495b31..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings deleted file mode 100644 index 8a11ecf17..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 4d3100100..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib deleted file mode 100644 index 19b6d829d..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index f1773f7f4..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings deleted file mode 100644 index 65aa28f2f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sk.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 1696cb9b1..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib deleted file mode 100644 index 7d28633df..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index cf882d0e5..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings deleted file mode 100644 index caaf06030..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 823cdeb8c..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib deleted file mode 100644 index a2eb4446e..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 303cccb88..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings deleted file mode 100644 index e7c70db71..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index a1a98b92b..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib deleted file mode 100644 index 9122cfadd..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 5f6434149..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings deleted file mode 100644 index 058b4ba6a..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index c1173aa47..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib deleted file mode 100644 index 4784b3295..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index e76fe0533..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings deleted file mode 100644 index ffc576725..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index e610aae0b..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib deleted file mode 100644 index 6d353b7ab..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 0c9ab54d6..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings deleted file mode 100644 index 263326c98..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index d92714048..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib deleted file mode 100644 index 77cd12278..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index 9a758df31..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings deleted file mode 100644 index 7e808f8a8..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib deleted file mode 100644 index 3d41afb55..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib deleted file mode 100644 index 74418e82f..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib deleted file mode 100644 index b47db00bf..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings deleted file mode 100644 index b9517885b..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Sparkle b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Sparkle deleted file mode 100755 index 6295e585b..000000000 Binary files a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/Sparkle and /dev/null differ diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/_CodeSignature/CodeResources b/ThirdParty/Sparkle/Sparkle.framework/Versions/A/_CodeSignature/CodeResources deleted file mode 100644 index a39fbd99e..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/A/_CodeSignature/CodeResources +++ /dev/null @@ -1,3900 +0,0 @@ - - - - - files - - Resources/Autoupdate.app/Contents/Info.plist - - WmC7M6tAuCZzYQbwA5YQRyp8gSg= - - Resources/Autoupdate.app/Contents/MacOS/Autoupdate - - 5y0GuAJnqQGaZwa1ZFJFmjv/kcU= - - Resources/Autoupdate.app/Contents/MacOS/fileop - - avkb6Tg4QLKYpmzZ6Re443E1Lsc= - - Resources/Autoupdate.app/Contents/PkgInfo - - n57qDP4tZfLD1rCS43W0B4LQjzE= - - Resources/Autoupdate.app/Contents/Resources/AppIcon.icns - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - Resources/Autoupdate.app/Contents/Resources/SUStatus.nib - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - optional - - - Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - optional - - - Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - optional - - - Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - optional - - - Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - optional - - - Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - optional - - - Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - optional - - - Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - optional - - - Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - optional - - - Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources - - hJU8+OcP90jEOKOwukBr8O69j7w= - - Resources/DarkAqua.css - - SCihC2/GG/DhF4xcXD9MYaxhawM= - - Resources/Info.plist - - FcaJWh4GlAbLilVFN39FnMGCZjU= - - Resources/SUModelTranslation.plist - - iD2Ex40Usc4ZE6IAhRePqgwK/xw= - - Resources/SUStatus.nib - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - Resources/ar.lproj/SUAutomaticUpdateAlert.nib - - hash - - oDbeH//n57rFaGaLkwI8UQ/txa0= - - optional - - - Resources/ar.lproj/SUUpdateAlert.nib - - hash - - rj3mNv5WCDqnrsLmtCWdWwnQzJE= - - optional - - - Resources/ar.lproj/SUUpdatePermissionPrompt.nib - - hash - - xsWIpjC5TTnPtuprvEvnTUMyKYo= - - optional - - - Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - optional - - - Resources/cs.lproj/SUAutomaticUpdateAlert.nib - - hash - - iLsEEL5N+u3x0igCMtLbvUxqiI0= - - optional - - - Resources/cs.lproj/SUUpdateAlert.nib - - hash - - reUhWQTuJfS9z/Hf8LwQASnszvc= - - optional - - - Resources/cs.lproj/SUUpdatePermissionPrompt.nib - - hash - - AvWpT2/bR/hQ2SrkSIJn1HaAXi0= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - optional - - - Resources/da.lproj/SUAutomaticUpdateAlert.nib - - hash - - u1F8d4d/aOeByXDdvXMugGpU/Fk= - - optional - - - Resources/da.lproj/SUUpdateAlert.nib - - hash - - ZW7bZ9L3EhY/tyvqZWgYznuPaTY= - - optional - - - Resources/da.lproj/SUUpdatePermissionPrompt.nib - - hash - - uMINTHGG6dgMjyUAYQha7LXmlFg= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - optional - - - Resources/de.lproj/SUAutomaticUpdateAlert.nib - - hash - - VRG/ZYuz0KOyMjBw4bu4NIlO3MY= - - optional - - - Resources/de.lproj/SUUpdateAlert.nib - - hash - - cT+nRuofaW12I0wjvG697gXwMfA= - - optional - - - Resources/de.lproj/SUUpdatePermissionPrompt.nib - - hash - - P1qisftBIKKBMlb5+8fD2vZn8C4= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - optional - - - Resources/el.lproj/SUAutomaticUpdateAlert.nib - - hash - - ccB0As39qPJ0x4XkN34YZI8IUHs= - - optional - - - Resources/el.lproj/SUUpdateAlert.nib - - hash - - 8BqXnIfQOb3RBiybY1uUgI2a0oc= - - optional - - - Resources/el.lproj/SUUpdatePermissionPrompt.nib - - hash - - WujzpfOdW+H1RXGYDSAWcHDghE4= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - optional - - - Resources/en.lproj/SUAutomaticUpdateAlert.nib - - hash - - smFdnjqh5FfLp75QJkkVpDg+CPs= - - optional - - - Resources/en.lproj/SUUpdateAlert.nib - - hash - - uQPgA8QNrJ6dkBofaA4cYiep7Nw= - - optional - - - Resources/en.lproj/SUUpdatePermissionPrompt.nib - - hash - - jc/+PgCV2twCZZQSjQHHAer/o9M= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - optional - - - Resources/es.lproj/SUAutomaticUpdateAlert.nib - - hash - - t79VYhRMP0dQCdKKtn83sAtFAkU= - - optional - - - Resources/es.lproj/SUUpdateAlert.nib - - hash - - BPV01tBvjSwDHnD/WkxFJ+W7eFI= - - optional - - - Resources/es.lproj/SUUpdatePermissionPrompt.nib - - hash - - NrVNwqMfVUN8CR/qLP3WzI74QKg= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - optional - - - Resources/fi.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3Jy7fCDJXPgxfGrSLnrq/BrR8Fo= - - optional - - - Resources/fi.lproj/SUUpdateAlert.nib - - hash - - fWlU1Y804x2510X3QDdE/kgfBjY= - - optional - - - Resources/fi.lproj/SUUpdatePermissionPrompt.nib - - hash - - phFF3/dcygmnknefGj4i3cgz294= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - optional - - - Resources/fr.lproj/SUAutomaticUpdateAlert.nib - - hash - - RuJWtV4NU5tNgg+IHFiksMNUfIA= - - optional - - - Resources/fr.lproj/SUUpdateAlert.nib - - hash - - Fx5MmhvVqSx8rSHFOIibPCl3xBs= - - optional - - - Resources/fr.lproj/SUUpdatePermissionPrompt.nib - - hash - - ZwgBvgFW99rtuKNAPLcCPieEdM8= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - optional - - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - optional - - - Resources/hr.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3rBSNPdcL/Nl7+0rpUZqGhljLQY= - - optional - - - Resources/hr.lproj/SUUpdateAlert.nib - - hash - - +OYMTGeQfzz+9ImWkCbDKJG4N6w= - - optional - - - Resources/hr.lproj/SUUpdatePermissionPrompt.nib - - hash - - eWFDPqngmPB+nrvPXjpU207PI9w= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - optional - - - Resources/hu.lproj/SUAutomaticUpdateAlert.nib - - hash - - KqZCmcd+fhq4qCb7DbEOVkCcC5M= - - optional - - - Resources/hu.lproj/SUUpdateAlert.nib - - hash - - VjGGKPTkcvGmYWc2ejOXIOR2Pec= - - optional - - - Resources/hu.lproj/SUUpdatePermissionPrompt.nib - - hash - - 5EiQOlMoRKSojP+6FNbyMwNhgVk= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - optional - - - Resources/is.lproj/SUAutomaticUpdateAlert.nib - - hash - - ab4gaq47381T+4qaedPAv/JPk6o= - - optional - - - Resources/is.lproj/SUUpdateAlert.nib - - hash - - HC1ZY4ZwpdC8g7whfpr8B68+Wsg= - - optional - - - Resources/is.lproj/SUUpdatePermissionPrompt.nib - - hash - - KEnwS7P4M7RXREXDBrYzFPAB5VU= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - optional - - - Resources/it.lproj/SUAutomaticUpdateAlert.nib - - hash - - /GUIYGR9WmveeKz5MV+ulysFDGE= - - optional - - - Resources/it.lproj/SUUpdateAlert.nib - - hash - - C+frin/RV6PMceoJWhnBHw/UiSo= - - optional - - - Resources/it.lproj/SUUpdatePermissionPrompt.nib - - hash - - NU+8Up7T7RaEJJ6XUGU315MmJEA= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - optional - - - Resources/ja.lproj/SUAutomaticUpdateAlert.nib - - hash - - WXXUfAzkoQeox52T+w/9xy/eZzU= - - optional - - - Resources/ja.lproj/SUUpdateAlert.nib - - hash - - hdYuZq1xueHEJ8e5TeRx/9nxlJA= - - optional - - - Resources/ja.lproj/SUUpdatePermissionPrompt.nib - - hash - - PLPFBaQnQsXytVrJabv0nvald10= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - optional - - - Resources/ko.lproj/SUAutomaticUpdateAlert.nib - - hash - - l0zDEsFdyHwzPuayHe8R2wkbv0c= - - optional - - - Resources/ko.lproj/SUUpdateAlert.nib - - hash - - R9RsJCIJrFMpzTJNUsMio/R2jNs= - - optional - - - Resources/ko.lproj/SUUpdatePermissionPrompt.nib - - hash - - o0FtQN9F2+i8SA46MW2lvxZAFfI= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - optional - - - Resources/nb.lproj/SUAutomaticUpdateAlert.nib - - hash - - 4ylPEFzA3WhK/BiqiKjlyeehlPI= - - optional - - - Resources/nb.lproj/SUUpdateAlert.nib - - hash - - Kcse19bpeWkKxkDiEabgvpb2Dk8= - - optional - - - Resources/nb.lproj/SUUpdatePermissionPrompt.nib - - hash - - mS+H7dDl1Yn5HoNY6FXQ+INWQRw= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - optional - - - Resources/nl.lproj/SUAutomaticUpdateAlert.nib - - hash - - DblM97MbrUGSoF8qs4qy1pFAvXw= - - optional - - - Resources/nl.lproj/SUUpdateAlert.nib - - hash - - mk176kIJR7A90H6Qq+hi8D2Q6Vo= - - optional - - - Resources/nl.lproj/SUUpdatePermissionPrompt.nib - - hash - - z6/rLqlkgii529Dut+XHavZ4Pq4= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - optional - - - Resources/pl.lproj/SUAutomaticUpdateAlert.nib - - hash - - kWDLMC25Z+sfNh5zpNFI8c9mBOg= - - optional - - - Resources/pl.lproj/SUUpdateAlert.nib - - hash - - QSgvMCGfu3qwt4LSPDoITv7Zj30= - - optional - - - Resources/pl.lproj/SUUpdatePermissionPrompt.nib - - hash - - uf+l2wCxifW3p/OPcOg7gXrO7ec= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - optional - - - Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib - - hash - - 93bUtDO+GDxBXAEl9unvmFe1mWo= - - optional - - - Resources/pt_BR.lproj/SUUpdateAlert.nib - - hash - - E4Vxj5LZDhvc7xttfztZBkDwo5s= - - optional - - - Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib - - hash - - XF0m/MqiO9kZb/K0uWKvnIi0jbo= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - optional - - - Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib - - hash - - H+9mRnaSNpf3x2lnvZJQYmNOeDE= - - optional - - - Resources/pt_PT.lproj/SUUpdateAlert.nib - - hash - - 7VloEUr/e0D0uiCgmSYM89car10= - - optional - - - Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib - - hash - - KRVl5KSZqqi3JII8+JbAWE/vyeM= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - optional - - - Resources/ro.lproj/SUAutomaticUpdateAlert.nib - - hash - - 5qfGbw+bZ8nIzRjTdFCQ4ajYuLg= - - optional - - - Resources/ro.lproj/SUUpdateAlert.nib - - hash - - 68qUvif5bsy3gh88hEcrGvT0sg8= - - optional - - - Resources/ro.lproj/SUUpdatePermissionPrompt.nib - - hash - - SweZv0/gqhOhvQDoTkvh0MNpjxs= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - optional - - - Resources/ru.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3ymMt+zeZFb6zTVVK2kHUBbiGsE= - - optional - - - Resources/ru.lproj/SUUpdateAlert.nib - - hash - - Shn/KmVDoD3wypQA4uFjnIJqQzY= - - optional - - - Resources/ru.lproj/SUUpdatePermissionPrompt.nib - - hash - - W/T4ULA1IJxyDbETvrpiJrnX63w= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - optional - - - Resources/sk.lproj/SUAutomaticUpdateAlert.nib - - hash - - dkv1LXTd6KP9qyGoGQWM/beHi58= - - optional - - - Resources/sk.lproj/SUUpdateAlert.nib - - hash - - ZYpm1VcCFFWBaIzjYYwhekhYPDE= - - optional - - - Resources/sk.lproj/SUUpdatePermissionPrompt.nib - - hash - - WHCeNcsEET1G546RnCG1GQc9BTk= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - optional - - - Resources/sl.lproj/SUAutomaticUpdateAlert.nib - - hash - - M8OEz9UpXZ+CwFLwnPmpw73qCRk= - - optional - - - Resources/sl.lproj/SUUpdateAlert.nib - - hash - - qRwnTGgz/ZS11VE0PbfWNnLPg0o= - - optional - - - Resources/sl.lproj/SUUpdatePermissionPrompt.nib - - hash - - TLk0Rv9HN/Y8bYaF3vr8kg9KPuI= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - optional - - - Resources/sv.lproj/SUAutomaticUpdateAlert.nib - - hash - - 0FRDiL99dypvNgSR6/b2hEh8LC8= - - optional - - - Resources/sv.lproj/SUUpdateAlert.nib - - hash - - nhRSdsw8i1SblxHBOLBvYjBPO8g= - - optional - - - Resources/sv.lproj/SUUpdatePermissionPrompt.nib - - hash - - 6qyk1r0zm0331mer2SxkuzuSm64= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - optional - - - Resources/th.lproj/SUAutomaticUpdateAlert.nib - - hash - - 02wDrcnMUo4dg7fm4RSe/Sy2pFs= - - optional - - - Resources/th.lproj/SUUpdateAlert.nib - - hash - - j2iSaoDJRMV3kq+UFuzkbVAojSg= - - optional - - - Resources/th.lproj/SUUpdatePermissionPrompt.nib - - hash - - Pb4ma8CWTT89suTVjHa3iQeWepg= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - optional - - - Resources/tr.lproj/SUAutomaticUpdateAlert.nib - - hash - - 5l2VJ1hqtebg0BM6zmyz63tMhR0= - - optional - - - Resources/tr.lproj/SUUpdateAlert.nib - - hash - - w4Qf7do1kg75nGVgX0TP8MHOCOs= - - optional - - - Resources/tr.lproj/SUUpdatePermissionPrompt.nib - - hash - - CT6KO7Zy073NY0kp2tcbUgEdNRo= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - optional - - - Resources/uk.lproj/SUAutomaticUpdateAlert.nib - - hash - - NgeN7x6U1IHvnglysoHMw5YH7RU= - - optional - - - Resources/uk.lproj/SUUpdateAlert.nib - - hash - - 5P3DitlPL1sqOb0WkiXq8ZWq2kQ= - - optional - - - Resources/uk.lproj/SUUpdatePermissionPrompt.nib - - hash - - aY4PHFMl4vj5sqgVBNGxePP5CCU= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - optional - - - Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib - - hash - - qhLsJNXC4lbz9xO+bC41ILw8CUg= - - optional - - - Resources/zh_CN.lproj/SUUpdateAlert.nib - - hash - - dQk9OZiBuGL0rOXiWivc2ld9Z+4= - - optional - - - Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib - - hash - - TYmHdlcZRxyoGQ6FNldZKp8Xl1I= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - optional - - - Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib - - hash - - E7e3G1hg4vqRfzno4FdzvgH0yng= - - optional - - - Resources/zh_TW.lproj/SUUpdateAlert.nib - - hash - - bm6w3bCQbsrYbFszNCANq+DHcdQ= - - optional - - - Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib - - hash - - 1WN5IQ6j/AsxDG2fbAuKZAwoyzM= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - optional - - - - files2 - - Headers/SPUDownloadData.h - - hash - - 0uirAEMDYuzqSh3dbtfncvlTpvo= - - hash2 - - DkOXqPnwmXR6QeDI4ja3DtFxDW5L3Dcjf21hEPWImoY= - - - Headers/SPUDownloader.h - - hash - - OAA6tKxz1g4V1SQZaj3RPNmNMzo= - - hash2 - - OEDz5kY4WgtWuZ8SApjyqvVDEf3iEj7Sg2uhl+3J+jk= - - - Headers/SPUDownloaderDelegate.h - - hash - - UkBvHxzNYA/YON0ImE8m/8g4vkg= - - hash2 - - 8D6RyR2aziRQIiRN3e7qxlEM9jfgkwBBTWmSjDhLqm8= - - - Headers/SPUDownloaderDeprecated.h - - hash - - l7/+P82TkgRp/YLnQtJtjMWd3/A= - - hash2 - - A7PBMhwuTH0X/JDeyLlh1Xrdc0krwjPqdBPCiePFrxQ= - - - Headers/SPUDownloaderProtocol.h - - hash - - VsD58zsMmnH4mVuK456ekiJcYFU= - - hash2 - - 02oqvyfRCQp5SMSBQNzYZaz1/0VTso0GKnOSbuDEAVo= - - - Headers/SPUDownloaderSession.h - - hash - - IeDSEpUGRwB9HcDVlqbxb6k19A8= - - hash2 - - ZFXLQz90P2h4rR2v1VqRAKzrSSlItkO5cW/0AFy7eYQ= - - - Headers/SPUURLRequest.h - - hash - - 588/W6GUNXYFVar9nygqHNYeTX8= - - hash2 - - 4EG4qYbJgM0wBJCoSPD1lbbDTLHlm85m4xNehyXyU74= - - - Headers/SUAppcast.h - - hash - - puyTMIscPdgGWGQM4TITePIKSdA= - - hash2 - - R3/VQvZCv8Ab34CC17vtBHR3dqkJXnidTR5n8aX4DD0= - - - Headers/SUAppcastItem.h - - hash - - YQvyEYAn6UWDwU8NT5ccPwhdRXE= - - hash2 - - ZB27X0FfNZ54ez8FZAFDEi6/o4BYtQnl4A9Y3tAbkUI= - - - Headers/SUCodeSigningVerifier.h - - hash - - Wj90pgADRte0DhyUmlOXWORp830= - - hash2 - - PPwqqlfaR8hxIfD2YEKdVzyDN4kBVdul55HDAELxQ7U= - - - Headers/SUErrors.h - - hash - - fXyYJmeBH5lNthmGD2GJOWkMmjg= - - hash2 - - JKSoOJCqip87NB39v1ip2Gki8x1rGVcXB7D6kTCeBTI= - - - Headers/SUExport.h - - hash - - G2w3uU/V7JzIupuOjQ2LyPVGdo4= - - hash2 - - XO8CQmbFThLbYg949NEGhg3g+iouIw3/3+BCCLtEdFE= - - - Headers/SUStandardVersionComparator.h - - hash - - 6L4GrA8i1OjMLIGc/sFvEUeSfso= - - hash2 - - 5HrjOlX+uJHOw1ma+1BtG5tlYx/75N/gVzt+BX/GOxg= - - - Headers/SUUpdater.h - - hash - - krK593R1jTMhVN/yl8nXWo1WIfg= - - hash2 - - IJc5cjKEoEbG6onu/Dy+1OXT5YJ7GV3R1U0u2FamUsY= - - - Headers/SUUpdaterDelegate.h - - hash - - UWIKKrtpG8ETIKMCaSRiq4ujPJs= - - hash2 - - d9LBmTLBxcQda+JzY5Y0rdqUU3ZwG0B/xUrAF68d2Xk= - - - Headers/SUVersionComparisonProtocol.h - - hash - - pin8CrEV9eYWF9sdDu0N1YixWOE= - - hash2 - - rsm3T+GsIhDgSqY8EtkBpIxYgSZCZxf4HE9a/FcTRCc= - - - Headers/SUVersionDisplayProtocol.h - - hash - - D3yVFnts0j1IacN9dSN7iZSVlZg= - - hash2 - - AQITUMp8aq1UAOrmksAKmGFpgI24u9rDSBBZrgDqdN4= - - - Headers/Sparkle.h - - hash - - kAc+dA9KctczULg0aLWypDdBvy0= - - hash2 - - qx9pH2muu7OaSYEeZEfIzGFTWCk/gIo7ZQ+6TExPhyA= - - - Modules/module.modulemap - - hash - - /2jgDcgH5+EG9ojcVskajfVo4yg= - - hash2 - - 1TF+JZkzFr6n8oH4WItto+C5Vf3K12f0H9KjqD0A5QU= - - - PrivateHeaders/SUUnarchiver.h - - hash - - 7mTpmnTkJ97DZQQzK/hdl2aZmXU= - - hash2 - - SQYAanTtlyX15CJapj5tDbhBEMtgQ7ZNdmpSij0+tD4= - - - Resources/Autoupdate.app/Contents/Info.plist - - hash - - WmC7M6tAuCZzYQbwA5YQRyp8gSg= - - hash2 - - DF5sAWodrqG3GqtUmnteKhxPsxEVxHX4Yk3PwYMWAuk= - - - Resources/Autoupdate.app/Contents/MacOS/Autoupdate - - hash - - 5y0GuAJnqQGaZwa1ZFJFmjv/kcU= - - hash2 - - G3T7ewvJhbpZWG1YsYs4KU+ON/kBCCqVQqkgQ7rJH5A= - - - Resources/Autoupdate.app/Contents/MacOS/fileop - - hash - - avkb6Tg4QLKYpmzZ6Re443E1Lsc= - - hash2 - - ad6uMw/E+PkHWrq2KfATyxPEttn+TcNlEj4ATmFEDPY= - - - Resources/Autoupdate.app/Contents/PkgInfo - - hash - - n57qDP4tZfLD1rCS43W0B4LQjzE= - - hash2 - - glAhkclISwTWhTdPmHmgBmBpxJuKyuegSwHTjQfo7KA= - - - Resources/Autoupdate.app/Contents/Resources/AppIcon.icns - - hash - - 4McwRDEss5BzWwUMG2Xf93+ze08= - - hash2 - - nq7j0ugQwyNbJn/7zGFwxIR0njwU3i7hAYKEyZhvUfE= - - - Resources/Autoupdate.app/Contents/Resources/SUStatus.nib - - hash - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - hash2 - - 5qy5Hmt7D8O4gK4CkA7/lWikR3cX9ZSe6yTyluAeOh8= - - - Resources/Autoupdate.app/Contents/Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - hash2 - - 2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - hash2 - - om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - hash2 - - 06z1nY8VfM4M1SdHCc1jqewmP5Ue0g3mPDcNbeDVNIM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - hash2 - - wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM= - - optional - - - Resources/Autoupdate.app/Contents/Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - hash2 - - XUpgsFH8KmcbgggpdYbJScCg0tBic9tNLdFh+8cbPyw= - - optional - - - Resources/Autoupdate.app/Contents/Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - hash2 - - wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y= - - optional - - - Resources/Autoupdate.app/Contents/Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - hash2 - - Xl/5yA/K9T7cscvPi/4/lWUtjJlIvO+esCF4SRaguz4= - - optional - - - Resources/Autoupdate.app/Contents/Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - hash2 - - mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - hash2 - - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - hash2 - - fyqJl0MhXYRILalxRHpv/JorWLOVLPtNcJioiPtlnYg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - hash2 - - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - hash2 - - I1njQLVyH2bFsJecQOLDAB9N8q8niH7u+hqzxRqqerA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - hash2 - - sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU= - - optional - - - Resources/Autoupdate.app/Contents/Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - hash2 - - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= - - optional - - - Resources/Autoupdate.app/Contents/Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - hash2 - - Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - hash2 - - dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - hash2 - - +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - hash2 - - FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w= - - optional - - - Resources/Autoupdate.app/Contents/Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - hash2 - - xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - hash2 - - pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - hash2 - - lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - hash2 - - RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - hash2 - - NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - hash2 - - wJZ5NG+mvj4anRFPUFyvSD0kGrg+ZAqklsPfHuCxLQY= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - hash2 - - e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - hash2 - - t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc= - - optional - - - Resources/Autoupdate.app/Contents/Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - hash2 - - mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ= - - optional - - - Resources/Autoupdate.app/Contents/Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - hash2 - - nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk= - - optional - - - Resources/Autoupdate.app/Contents/Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - hash2 - - xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M= - - optional - - - Resources/Autoupdate.app/Contents/Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - hash2 - - u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - hash2 - - ecJXF6vvj1f80iCr+Gk52cTyumQrea6H0NpOjwbbLiE= - - optional - - - Resources/Autoupdate.app/Contents/Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - hash2 - - Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ= - - optional - - - Resources/Autoupdate.app/Contents/_CodeSignature/CodeResources - - hash - - hJU8+OcP90jEOKOwukBr8O69j7w= - - hash2 - - A3YNvkAp2jm0jj6vFfI1Vkv+v5qIbvf6nM267YddEW4= - - - Resources/DarkAqua.css - - hash - - SCihC2/GG/DhF4xcXD9MYaxhawM= - - hash2 - - 1G4+GJId47E8UijYTy9xeqA8RpLdOaGZQZ8B85ydROg= - - - Resources/Info.plist - - hash - - FcaJWh4GlAbLilVFN39FnMGCZjU= - - hash2 - - erViMEuBOBVHmWoZtghmdWrXzQMPabSQpwAr329HIHs= - - - Resources/SUModelTranslation.plist - - hash - - iD2Ex40Usc4ZE6IAhRePqgwK/xw= - - hash2 - - bxnpRQhROJXTL2xuIeffR3p+hOuuji7eOoDeNqSYqTg= - - - Resources/SUStatus.nib - - hash - - +3Tn7V2+cRw0Aw2VoWT1DNAPpkE= - - hash2 - - 5qy5Hmt7D8O4gK4CkA7/lWikR3cX9ZSe6yTyluAeOh8= - - - Resources/ar.lproj/SUAutomaticUpdateAlert.nib - - hash - - oDbeH//n57rFaGaLkwI8UQ/txa0= - - hash2 - - dQ68sBwTswbrSiq+ls8SWXOAQ9cpeCqQBQi+Yru4z64= - - optional - - - Resources/ar.lproj/SUUpdateAlert.nib - - hash - - rj3mNv5WCDqnrsLmtCWdWwnQzJE= - - hash2 - - 2vErcEF1YAaT6SZXgz6raIMCUQYxXdMB3QkILHlni6k= - - optional - - - Resources/ar.lproj/SUUpdatePermissionPrompt.nib - - hash - - xsWIpjC5TTnPtuprvEvnTUMyKYo= - - hash2 - - c9whsShePvQ1tRA1xU0wB92pYmq20rnE+IWc6MwPWlw= - - optional - - - Resources/ar.lproj/Sparkle.strings - - hash - - Rf4jjdgTqvfw5JO/6f9jHMURv/U= - - hash2 - - 2cAJJ5NTxwpRgp24Ca3EuTXfaIIzsYdH3Y9cNCalZfc= - - optional - - - Resources/ca.lproj/Sparkle.strings - - hash - - wGGx+QzPg/20zZTq7jwCTgf/Ubc= - - hash2 - - om5I6jKleuRoCwjfrRRqKWQbs2l8lLj8QGKS47cxybA= - - optional - - - Resources/cs.lproj/SUAutomaticUpdateAlert.nib - - hash - - iLsEEL5N+u3x0igCMtLbvUxqiI0= - - hash2 - - cts6s/bHdYbmGip/jv7k0pj55p4HJFj0ROZcwO+lbL4= - - optional - - - Resources/cs.lproj/SUUpdateAlert.nib - - hash - - reUhWQTuJfS9z/Hf8LwQASnszvc= - - hash2 - - HUwSYNKaqdTpVIblAHt8y56HJM5ZGo94XVl+0j9Qpfs= - - optional - - - Resources/cs.lproj/SUUpdatePermissionPrompt.nib - - hash - - AvWpT2/bR/hQ2SrkSIJn1HaAXi0= - - hash2 - - DigL8qo0eo3Dcd1Pjnb2SN7WfCYMB466pjCyjM/N+u0= - - optional - - - Resources/cs.lproj/Sparkle.strings - - hash - - OjCfTDR+NbVLvirUPiJKJF6UiS0= - - hash2 - - 06z1nY8VfM4M1SdHCc1jqewmP5Ue0g3mPDcNbeDVNIM= - - optional - - - Resources/da.lproj/SUAutomaticUpdateAlert.nib - - hash - - u1F8d4d/aOeByXDdvXMugGpU/Fk= - - hash2 - - brs9IleYaJnps9htzlB1pQR3SzgDBlHi8EzhO+dGBHE= - - optional - - - Resources/da.lproj/SUUpdateAlert.nib - - hash - - ZW7bZ9L3EhY/tyvqZWgYznuPaTY= - - hash2 - - SDIBQ7s3g5y2vcBJ6P79ig3kkYSGLORFSwVXhMP09xc= - - optional - - - Resources/da.lproj/SUUpdatePermissionPrompt.nib - - hash - - uMINTHGG6dgMjyUAYQha7LXmlFg= - - hash2 - - SSiMHMhYqbVuTek2hXbaVXclcxyQLxC4wQ7GKW7Hs3k= - - optional - - - Resources/da.lproj/Sparkle.strings - - hash - - 0t7SuLDMBZVsY240PAEsVfH/1qw= - - hash2 - - wu0CpGqE79+TXKIQm+q7ycPTuXhOlwRr/wD5uGHJzLM= - - optional - - - Resources/de.lproj/SUAutomaticUpdateAlert.nib - - hash - - VRG/ZYuz0KOyMjBw4bu4NIlO3MY= - - hash2 - - pBFk2uov3ctfdeBe1zZCawQpB8Wc4uRFVFly419/710= - - optional - - - Resources/de.lproj/SUUpdateAlert.nib - - hash - - cT+nRuofaW12I0wjvG697gXwMfA= - - hash2 - - OX6zOOf44FBTL/dEMERt3B5/nGvLa8BfaLT3+5PocVk= - - optional - - - Resources/de.lproj/SUUpdatePermissionPrompt.nib - - hash - - P1qisftBIKKBMlb5+8fD2vZn8C4= - - hash2 - - MROTTYkU1LpXor4Z0t/PYQmJbNapMi1hN3PqN3qTm7I= - - optional - - - Resources/de.lproj/Sparkle.strings - - hash - - fsC7FJvExHE/2681tuUrjkSF2+A= - - hash2 - - XUpgsFH8KmcbgggpdYbJScCg0tBic9tNLdFh+8cbPyw= - - optional - - - Resources/el.lproj/SUAutomaticUpdateAlert.nib - - hash - - ccB0As39qPJ0x4XkN34YZI8IUHs= - - hash2 - - cG40LBFmRabj9NvgWnkU1ktlhXXqYwQD/qBRmOplaE0= - - optional - - - Resources/el.lproj/SUUpdateAlert.nib - - hash - - 8BqXnIfQOb3RBiybY1uUgI2a0oc= - - hash2 - - lHU9xUOsSTjNngzu5IT7RYOa0xkhZPFHMdRdYTgUOJU= - - optional - - - Resources/el.lproj/SUUpdatePermissionPrompt.nib - - hash - - WujzpfOdW+H1RXGYDSAWcHDghE4= - - hash2 - - 8sKAhoOk1Fg59L9B1ivTMLhtDsfk/jOPoHQLdNEiiwk= - - optional - - - Resources/el.lproj/Sparkle.strings - - hash - - NbIN+TRHORCL5Gfj68VRq4KdPXo= - - hash2 - - wt+2xyusmWAQuJ5kAQlRlvFb1wO4L7/rFdG+VmNjl+Y= - - optional - - - Resources/en.lproj/SUAutomaticUpdateAlert.nib - - hash - - smFdnjqh5FfLp75QJkkVpDg+CPs= - - hash2 - - e6c/DVRcIt7/HDR6s6fclGtvSgpv8tHSEETWVffaFTA= - - optional - - - Resources/en.lproj/SUUpdateAlert.nib - - hash - - uQPgA8QNrJ6dkBofaA4cYiep7Nw= - - hash2 - - barcVEzpJLLj7IF2fqx8fLfYaKNig4ysWENyX9ecMSk= - - optional - - - Resources/en.lproj/SUUpdatePermissionPrompt.nib - - hash - - jc/+PgCV2twCZZQSjQHHAer/o9M= - - hash2 - - GHDASo65+rZmj9G3godOHzOaBA+plsqF/Q+gh9/xVPQ= - - optional - - - Resources/en.lproj/Sparkle.strings - - hash - - i3TNbMzmKR52wTyfnD/bkZ12elE= - - hash2 - - Xl/5yA/K9T7cscvPi/4/lWUtjJlIvO+esCF4SRaguz4= - - optional - - - Resources/es.lproj/SUAutomaticUpdateAlert.nib - - hash - - t79VYhRMP0dQCdKKtn83sAtFAkU= - - hash2 - - /ekWm2QPndpW/HYcv0rdJxLkqjRkGoDMoILTYBpUEWk= - - optional - - - Resources/es.lproj/SUUpdateAlert.nib - - hash - - BPV01tBvjSwDHnD/WkxFJ+W7eFI= - - hash2 - - HgGgfZG0CcxhaB8YAZyY7fXR7NmPa2QrJ3HJAtq0NhI= - - optional - - - Resources/es.lproj/SUUpdatePermissionPrompt.nib - - hash - - NrVNwqMfVUN8CR/qLP3WzI74QKg= - - hash2 - - EIPFVayBB7EGZiWM0iCyDJlAtLFcTa5YJ9oS5SQIoBM= - - optional - - - Resources/es.lproj/Sparkle.strings - - hash - - QPG88BN+x/l2Qk1NLLe3wRa26mQ= - - hash2 - - mtOoKdoTpGzeTNyzxkVGOMsE0Z3ZZOsmIKDfgA9aj8c= - - optional - - - Resources/fi.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3Jy7fCDJXPgxfGrSLnrq/BrR8Fo= - - hash2 - - roOmNaY4r8XeA/0LuIvxyfyG0dbL9R8qin7RVs3KbOU= - - optional - - - Resources/fi.lproj/SUUpdateAlert.nib - - hash - - fWlU1Y804x2510X3QDdE/kgfBjY= - - hash2 - - XHd3Zg700vX7/XedyFMLwFCeM8dTStXSd9D7s5qQl3Y= - - optional - - - Resources/fi.lproj/SUUpdatePermissionPrompt.nib - - hash - - phFF3/dcygmnknefGj4i3cgz294= - - hash2 - - IKx5AqlulXQOTJCPJWcWfXHip04AcQb/tu/b8qgLmDM= - - optional - - - Resources/fi.lproj/Sparkle.strings - - hash - - yd6pIoSj19HMDIUos4Td1Fch7bs= - - hash2 - - +AiiKWEdH3lesozLJBn3tfK6vi/VSI1/TnWVmIdVVsc= - - optional - - - Resources/fr.lproj/SUAutomaticUpdateAlert.nib - - hash - - RuJWtV4NU5tNgg+IHFiksMNUfIA= - - hash2 - - zY+dWgnrRmrv5j1zVDFX0TRh8F7uDUIO7JNZASTNiLY= - - optional - - - Resources/fr.lproj/SUUpdateAlert.nib - - hash - - Fx5MmhvVqSx8rSHFOIibPCl3xBs= - - hash2 - - CAUJN9Nut+E/KiLnEKvskkGnl3GzIgL7SaK4wkCAaNs= - - optional - - - Resources/fr.lproj/SUUpdatePermissionPrompt.nib - - hash - - ZwgBvgFW99rtuKNAPLcCPieEdM8= - - hash2 - - 2jQtALwqUDzChWK+/BdSxUffDRRnqjw6maR2HjHeouk= - - optional - - - Resources/fr.lproj/Sparkle.strings - - hash - - X3URilwJPVqMTGbtrYdorODwrMA= - - hash2 - - fyqJl0MhXYRILalxRHpv/JorWLOVLPtNcJioiPtlnYg= - - optional - - - Resources/fr_CA.lproj - - symlink - fr.lproj - - Resources/he.lproj/Sparkle.strings - - hash - - U2WmlYGYmeeIlSW66R8awwmNXIE= - - hash2 - - 4gUlWkwTANV/jd7n4OZoXyT8CAcgWVk/tI3a25wmuLg= - - optional - - - Resources/hr.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3rBSNPdcL/Nl7+0rpUZqGhljLQY= - - hash2 - - O9VtLe/h827vQxnbkRD4puhEtK/BHASbao9oBqKkln0= - - optional - - - Resources/hr.lproj/SUUpdateAlert.nib - - hash - - +OYMTGeQfzz+9ImWkCbDKJG4N6w= - - hash2 - - Dkj72VU5xRyMciYhJaXanrauMtbMEiE9xDd/RsEKtao= - - optional - - - Resources/hr.lproj/SUUpdatePermissionPrompt.nib - - hash - - eWFDPqngmPB+nrvPXjpU207PI9w= - - hash2 - - vHYoiJA75oqy6uH3P2vblP9/RSwVaKDIO6kIlzx4g/M= - - optional - - - Resources/hr.lproj/Sparkle.strings - - hash - - vyI2nHyZlhhSXXrQGoflg8oB9Ig= - - hash2 - - I1njQLVyH2bFsJecQOLDAB9N8q8niH7u+hqzxRqqerA= - - optional - - - Resources/hu.lproj/SUAutomaticUpdateAlert.nib - - hash - - KqZCmcd+fhq4qCb7DbEOVkCcC5M= - - hash2 - - u6rYN30G+CjP88+9L3cf4IevFhrHkKalaX+R0Job43o= - - optional - - - Resources/hu.lproj/SUUpdateAlert.nib - - hash - - VjGGKPTkcvGmYWc2ejOXIOR2Pec= - - hash2 - - f++tXz3pkLWUBCHeqRoQyUFy1e8wbz2nK0Amh00bag0= - - optional - - - Resources/hu.lproj/SUUpdatePermissionPrompt.nib - - hash - - 5EiQOlMoRKSojP+6FNbyMwNhgVk= - - hash2 - - ry1VDAek0QDeYVURAQ4/zvNwMxxl0K3Ke6cJgWCFvNY= - - optional - - - Resources/hu.lproj/Sparkle.strings - - hash - - bNEmsO2LyUsMjTESH1I42V9sAOo= - - hash2 - - sRkp8c3Bx1qWdhhSNdOap1PbfmiTziINy1HxGea3SWU= - - optional - - - Resources/is.lproj/SUAutomaticUpdateAlert.nib - - hash - - ab4gaq47381T+4qaedPAv/JPk6o= - - hash2 - - 6ca8INJMEv0U7uSPFflECJqr251vmLQ53o/cps10vCs= - - optional - - - Resources/is.lproj/SUUpdateAlert.nib - - hash - - HC1ZY4ZwpdC8g7whfpr8B68+Wsg= - - hash2 - - DTba0O8vZoZc3qpArrUqtl/IOWetvAix+U2lOlvSOyE= - - optional - - - Resources/is.lproj/SUUpdatePermissionPrompt.nib - - hash - - KEnwS7P4M7RXREXDBrYzFPAB5VU= - - hash2 - - Yq55K5ud/RB3Wot/55dgW5/njRC/el2lgpBybaKJU18= - - optional - - - Resources/is.lproj/Sparkle.strings - - hash - - 8fxzD9ZhrvIZVZB1+QSJaPzg80M= - - hash2 - - xcV1yh/zU3U3TsRUT6vGybvIQitf+ThrogN/uOWmD8k= - - optional - - - Resources/it.lproj/SUAutomaticUpdateAlert.nib - - hash - - /GUIYGR9WmveeKz5MV+ulysFDGE= - - hash2 - - qbC2gUIWl9w6DM8zYA93h7iq2wBmVuEwKk4fT0Rm5bw= - - optional - - - Resources/it.lproj/SUUpdateAlert.nib - - hash - - C+frin/RV6PMceoJWhnBHw/UiSo= - - hash2 - - wIkClqPQf4IXnoNjs+HkDal17JIkVt2EHOlGgYO/H/w= - - optional - - - Resources/it.lproj/SUUpdatePermissionPrompt.nib - - hash - - NU+8Up7T7RaEJJ6XUGU315MmJEA= - - hash2 - - OjABEzLU+FuhNACHA+RNl1F0avqHGhKvVesU+kuWrHc= - - optional - - - Resources/it.lproj/Sparkle.strings - - hash - - bk1J6vpZjWeUFhBYWuWZf8TDv1A= - - hash2 - - Y+caNW+g0mt7HP4JrBxJw+uDwN3j19UYb+q5r9ch4Ow= - - optional - - - Resources/ja.lproj/SUAutomaticUpdateAlert.nib - - hash - - WXXUfAzkoQeox52T+w/9xy/eZzU= - - hash2 - - EeiyXpNY0m79CbZ/K5HAW+kmg26NXDLBJxEHPscuSVU= - - optional - - - Resources/ja.lproj/SUUpdateAlert.nib - - hash - - hdYuZq1xueHEJ8e5TeRx/9nxlJA= - - hash2 - - nLQRmyyyE+47KEGz+XIIPKURIitfBD8zHjx1FRw1Rig= - - optional - - - Resources/ja.lproj/SUUpdatePermissionPrompt.nib - - hash - - PLPFBaQnQsXytVrJabv0nvald10= - - hash2 - - yX5t1+2etONNwDG/m2gZsp3+Bff/OKNyNOLDFs7l3FQ= - - optional - - - Resources/ja.lproj/Sparkle.strings - - hash - - f4EbR/GfMsKeWJ5DN/vhwg/lUoE= - - hash2 - - dSPIvpFbelHRv8liJjN3TUVPbgD1DfhVSGmE+S99quI= - - optional - - - Resources/ko.lproj/SUAutomaticUpdateAlert.nib - - hash - - l0zDEsFdyHwzPuayHe8R2wkbv0c= - - hash2 - - vQKakhmXQaXzDmNZ3obfuFn64bN4WryGbv4PhhFQHwg= - - optional - - - Resources/ko.lproj/SUUpdateAlert.nib - - hash - - R9RsJCIJrFMpzTJNUsMio/R2jNs= - - hash2 - - GXyd600apB2bkqxvoE1TGtXaubIgM5Ax/FVnutaFaDM= - - optional - - - Resources/ko.lproj/SUUpdatePermissionPrompt.nib - - hash - - o0FtQN9F2+i8SA46MW2lvxZAFfI= - - hash2 - - KwRitjy5RjA9+Y1cWmvv2CPfybp1Uyx3sl3VWZLk0gM= - - optional - - - Resources/ko.lproj/Sparkle.strings - - hash - - FRHRQPCWEk9GdJawYTuccg+E2tA= - - hash2 - - +bxn0NPgkxdHLa1MHRT+JRlYmy1jpIuaenpst5RT+RA= - - optional - - - Resources/nb.lproj/SUAutomaticUpdateAlert.nib - - hash - - 4ylPEFzA3WhK/BiqiKjlyeehlPI= - - hash2 - - rqcn7eEk4ZPHhVzzdFKnA7+WveGWS5Lph3/wPCx4Ftc= - - optional - - - Resources/nb.lproj/SUUpdateAlert.nib - - hash - - Kcse19bpeWkKxkDiEabgvpb2Dk8= - - hash2 - - p8QGRW/hKOb2t9wFm6JsGGmu5w5UdmjVs4fiCui5KZA= - - optional - - - Resources/nb.lproj/SUUpdatePermissionPrompt.nib - - hash - - mS+H7dDl1Yn5HoNY6FXQ+INWQRw= - - hash2 - - Z2MTlzTbGARVxBQvKQ452Bkq9u4BnPgCG9ZlOOnJDoY= - - optional - - - Resources/nb.lproj/Sparkle.strings - - hash - - sgrDElwUxXtzdw8WaUFWyK3pG9Y= - - hash2 - - FG+w+OnLI7nwnNCWiMT50LU98VWj1d08ElfX4k7Ok4w= - - optional - - - Resources/nl.lproj/SUAutomaticUpdateAlert.nib - - hash - - DblM97MbrUGSoF8qs4qy1pFAvXw= - - hash2 - - 5OgJjQxAR7yLmtz6RBIsr5OkwcXnth/cM63p2FvgOw8= - - optional - - - Resources/nl.lproj/SUUpdateAlert.nib - - hash - - mk176kIJR7A90H6Qq+hi8D2Q6Vo= - - hash2 - - pU7sKL/A7sGeR2YEaEIeUGlJVwknXecQJwROC5+SOuQ= - - optional - - - Resources/nl.lproj/SUUpdatePermissionPrompt.nib - - hash - - z6/rLqlkgii529Dut+XHavZ4Pq4= - - hash2 - - J/b7Dlfe9gRCdvIhwT49YgjY4NCJbixIAQ1iDQvYb7U= - - optional - - - Resources/nl.lproj/Sparkle.strings - - hash - - PWbC08zHFLROqivY2MAklDh6gkA= - - hash2 - - xnQkqxaO8zP1xpjY3nyjOd4Fe0gJon2Dbt456ukd/Gw= - - optional - - - Resources/pl.lproj/SUAutomaticUpdateAlert.nib - - hash - - kWDLMC25Z+sfNh5zpNFI8c9mBOg= - - hash2 - - nB3ArKP+IGttgVDlWptopBUWsiW7pUEg1SexiKHRpeg= - - optional - - - Resources/pl.lproj/SUUpdateAlert.nib - - hash - - QSgvMCGfu3qwt4LSPDoITv7Zj30= - - hash2 - - MYMDphfT1GFsLte5/xEl+sPWNm1UZ/WHfkSku7xucAQ= - - optional - - - Resources/pl.lproj/SUUpdatePermissionPrompt.nib - - hash - - uf+l2wCxifW3p/OPcOg7gXrO7ec= - - hash2 - - yyYkFwGRv6WZVMDrQWsMQ02vJnELSDjwxkQf2hdtEtk= - - optional - - - Resources/pl.lproj/Sparkle.strings - - hash - - o7deBXE2Ct8/vQxouej5KkwTcUA= - - hash2 - - pDq+41jhfESgJauedrYncFY1O5EMEU3nRyl7mmyYj+s= - - optional - - - Resources/pt.lproj - - symlink - pt_BR.lproj - - Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib - - hash - - 93bUtDO+GDxBXAEl9unvmFe1mWo= - - hash2 - - QKkX1N4sEhMe7SjVGf/bu8FiVf+NExALLtf9w1suM0A= - - optional - - - Resources/pt_BR.lproj/SUUpdateAlert.nib - - hash - - E4Vxj5LZDhvc7xttfztZBkDwo5s= - - hash2 - - X+MqqDxYn3dZQ6CToFhySC7HpWnL3gnWKXHqoC79jcw= - - optional - - - Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib - - hash - - XF0m/MqiO9kZb/K0uWKvnIi0jbo= - - hash2 - - qz2/kSLfvNv6AT4fTkGVtPL4dgdZUVB1kEpLziLBKKs= - - optional - - - Resources/pt_BR.lproj/Sparkle.strings - - hash - - /adUv04OXQkCFv+Oed6qktFVQ3E= - - hash2 - - lY5EZJwPc/Rmfhw1gotkeEKB+ANXqZUlM2G92sZwdJc= - - optional - - - Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib - - hash - - H+9mRnaSNpf3x2lnvZJQYmNOeDE= - - hash2 - - jYB20+6wcyncLcSLxsM3ttyN+vgEUqpYwMIO24URR18= - - optional - - - Resources/pt_PT.lproj/SUUpdateAlert.nib - - hash - - 7VloEUr/e0D0uiCgmSYM89car10= - - hash2 - - rAGAuAtK5sQllVDRJhBK7Ad9lDQiCIAq52juKTIIR0g= - - optional - - - Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib - - hash - - KRVl5KSZqqi3JII8+JbAWE/vyeM= - - hash2 - - J0mpkmwJqhfdt+rXpPy1h0DuPIHwDPnH24upIZoHyF0= - - optional - - - Resources/pt_PT.lproj/Sparkle.strings - - hash - - Mji9loJOJvuDY9hz3FhQ4H+HY5E= - - hash2 - - RUq6VJjn/QyydkNbpklLwfCgRF62+uHhXen2dYLBNuQ= - - optional - - - Resources/ro.lproj/SUAutomaticUpdateAlert.nib - - hash - - 5qfGbw+bZ8nIzRjTdFCQ4ajYuLg= - - hash2 - - fPjA/C43Um7wWvUaur323ogQW0AuyPed11ObgYGvnZU= - - optional - - - Resources/ro.lproj/SUUpdateAlert.nib - - hash - - 68qUvif5bsy3gh88hEcrGvT0sg8= - - hash2 - - BJcZCaOTTIniVHe6UVhTM64qvlF1YJjpbVMjcR49RnE= - - optional - - - Resources/ro.lproj/SUUpdatePermissionPrompt.nib - - hash - - SweZv0/gqhOhvQDoTkvh0MNpjxs= - - hash2 - - Kz5vNOAnbJxLThCGzwuqO6EiiHX9RlZzMMQvEnWUZZQ= - - optional - - - Resources/ro.lproj/Sparkle.strings - - hash - - 9U+OTz29kXKZHY/nmvbtemMsB3g= - - hash2 - - NNvDsecglQ/utR6YEqxyMj5K976YRWieCIC/PZuWCtQ= - - optional - - - Resources/ru.lproj/SUAutomaticUpdateAlert.nib - - hash - - 3ymMt+zeZFb6zTVVK2kHUBbiGsE= - - hash2 - - X7YCJx6kmSYPVxAUo3p1eYRwgD7S5hBHZgBQOZQv8Qs= - - optional - - - Resources/ru.lproj/SUUpdateAlert.nib - - hash - - Shn/KmVDoD3wypQA4uFjnIJqQzY= - - hash2 - - Vxdy+ff5uN+MXH+NI2M6HpJdJvwpXqhAEtGx2mO0eUU= - - optional - - - Resources/ru.lproj/SUUpdatePermissionPrompt.nib - - hash - - W/T4ULA1IJxyDbETvrpiJrnX63w= - - hash2 - - P6Zo/1jCMYHERVwoRx+khhdvH/u5iSsm3+RRCwNMfAg= - - optional - - - Resources/ru.lproj/Sparkle.strings - - hash - - VpSLGNvZ6sbRYsF23L8m6TG+P6E= - - hash2 - - wJZ5NG+mvj4anRFPUFyvSD0kGrg+ZAqklsPfHuCxLQY= - - optional - - - Resources/sk.lproj/SUAutomaticUpdateAlert.nib - - hash - - dkv1LXTd6KP9qyGoGQWM/beHi58= - - hash2 - - J5G58cAJGJ2pBsqTcrNOkofcgh2VfGB+0uws94G6/XU= - - optional - - - Resources/sk.lproj/SUUpdateAlert.nib - - hash - - ZYpm1VcCFFWBaIzjYYwhekhYPDE= - - hash2 - - 6cfM72jyl2AyPw5m9Th9KetQkc4sfI9UbLDBu6cTLfs= - - optional - - - Resources/sk.lproj/SUUpdatePermissionPrompt.nib - - hash - - WHCeNcsEET1G546RnCG1GQc9BTk= - - hash2 - - gOYxvZJa69CV4kNRXhXrAUJXJ2q8G3hoIi92tYheA+I= - - optional - - - Resources/sk.lproj/Sparkle.strings - - hash - - qn/mo2EFOyw6keezS64Wo5ZGZXU= - - hash2 - - e3cyzJ87ohC1ff/BzZ5O00MnwRE02U+J1KwXlSZeSSg= - - optional - - - Resources/sl.lproj/SUAutomaticUpdateAlert.nib - - hash - - M8OEz9UpXZ+CwFLwnPmpw73qCRk= - - hash2 - - AEBmaE/8o6IVDOwbRj2uIV9ulZZbNumwcgRnx2PRX3M= - - optional - - - Resources/sl.lproj/SUUpdateAlert.nib - - hash - - qRwnTGgz/ZS11VE0PbfWNnLPg0o= - - hash2 - - UY1iVEmOI8TR2drCQMvPEnzmLwf4PFrjsZAbsRIhqWY= - - optional - - - Resources/sl.lproj/SUUpdatePermissionPrompt.nib - - hash - - TLk0Rv9HN/Y8bYaF3vr8kg9KPuI= - - hash2 - - GauWEEqjnCIluWc2cIye1VCm3+HMs+33/ZvlpKA+mrI= - - optional - - - Resources/sl.lproj/Sparkle.strings - - hash - - kwvdisufBenuQzrVg8tYKTX+qgg= - - hash2 - - t8QC+9TBONwKLQvV3fKV0umsnAS8ZDpqPikVksFPtWc= - - optional - - - Resources/sv.lproj/SUAutomaticUpdateAlert.nib - - hash - - 0FRDiL99dypvNgSR6/b2hEh8LC8= - - hash2 - - mG/8PYApBOsVBpFsNdtopxfzO+fhFwdGb1fDlN9X3nM= - - optional - - - Resources/sv.lproj/SUUpdateAlert.nib - - hash - - nhRSdsw8i1SblxHBOLBvYjBPO8g= - - hash2 - - 3xO38LcvSzV2aayRGeqxuwRpeAHtVtbW97n30hTtHJg= - - optional - - - Resources/sv.lproj/SUUpdatePermissionPrompt.nib - - hash - - 6qyk1r0zm0331mer2SxkuzuSm64= - - hash2 - - pNhcoQht+GSCe3u2VN5VMnksoSO4T/x74rgSR8e5kYo= - - optional - - - Resources/sv.lproj/Sparkle.strings - - hash - - 98/sk+A2Ew1fmKpuKZ3rq8eS1EM= - - hash2 - - mJY6aeXFnSx38bF630z5lNPmPtsoYVAwadh0KC+9vfQ= - - optional - - - Resources/th.lproj/SUAutomaticUpdateAlert.nib - - hash - - 02wDrcnMUo4dg7fm4RSe/Sy2pFs= - - hash2 - - u2L+Ej2lKhOG+lt9pl3u/uFrIXqQRz5/KYWiLvs7DmQ= - - optional - - - Resources/th.lproj/SUUpdateAlert.nib - - hash - - j2iSaoDJRMV3kq+UFuzkbVAojSg= - - hash2 - - a+GnhfwduPlBKDaFP4pbkqIWkjh5Z3zrRFnk5+z3N5I= - - optional - - - Resources/th.lproj/SUUpdatePermissionPrompt.nib - - hash - - Pb4ma8CWTT89suTVjHa3iQeWepg= - - hash2 - - OZ8/AwcFW8AnwDwmcB0wJSewEu1uLmk7AVahLPbiVyI= - - optional - - - Resources/th.lproj/Sparkle.strings - - hash - - HQwGW1Ebf0i+Bl4synks3x2SY2M= - - hash2 - - nlP7repbMz6EqHo3sZWnK3tzx47WKSWnULdUHCYPgKk= - - optional - - - Resources/tr.lproj/SUAutomaticUpdateAlert.nib - - hash - - 5l2VJ1hqtebg0BM6zmyz63tMhR0= - - hash2 - - +1xo5rrW5YkvwMXLySevTi8kqkSdwcxdS8NnTjcfOA8= - - optional - - - Resources/tr.lproj/SUUpdateAlert.nib - - hash - - w4Qf7do1kg75nGVgX0TP8MHOCOs= - - hash2 - - Xc85Ymsn5+Gfq4XBPGT7FXZaNCnkcbdnsYhjrdf8fw8= - - optional - - - Resources/tr.lproj/SUUpdatePermissionPrompt.nib - - hash - - CT6KO7Zy073NY0kp2tcbUgEdNRo= - - hash2 - - LLtC9hMEtJiFkq2WjI6LK5NTo/dKtGHrnZPpTu8R8VU= - - optional - - - Resources/tr.lproj/Sparkle.strings - - hash - - whUQco5F2wcYdjc+cPKlk+mtx7Q= - - hash2 - - xEXUfrylPld+eFGrPyj4wTRPj7vUWOZ2f94sWydq03M= - - optional - - - Resources/uk.lproj/SUAutomaticUpdateAlert.nib - - hash - - NgeN7x6U1IHvnglysoHMw5YH7RU= - - hash2 - - hJvGUThsw01zx2VSDgANljwnztqw6X4E6LYqGTafDOk= - - optional - - - Resources/uk.lproj/SUUpdateAlert.nib - - hash - - 5P3DitlPL1sqOb0WkiXq8ZWq2kQ= - - hash2 - - 5RfdwO9tONR0Be13RKAI93KHTfHTkwP3UVE3Pmgvrwg= - - optional - - - Resources/uk.lproj/SUUpdatePermissionPrompt.nib - - hash - - aY4PHFMl4vj5sqgVBNGxePP5CCU= - - hash2 - - A2qcg9s1wwOO5ybjmzy3+svoSbceqrK/NCshSDYyRdU= - - optional - - - Resources/uk.lproj/Sparkle.strings - - hash - - JXhpqvLkX0yDWjbWgsk2wbSObKU= - - hash2 - - u0572QZYh6sB0GQdMGMePalOf4zkxE7YQG7pp898SEg= - - optional - - - Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib - - hash - - qhLsJNXC4lbz9xO+bC41ILw8CUg= - - hash2 - - lKSMzLmYxfhhNJM9lKXxXxLgtoEB8N78Fqq3FfQguHc= - - optional - - - Resources/zh_CN.lproj/SUUpdateAlert.nib - - hash - - dQk9OZiBuGL0rOXiWivc2ld9Z+4= - - hash2 - - +GlPCq3h0uvVX3/pbHT70nCYcCTBUU4P09xZeodkbUc= - - optional - - - Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib - - hash - - TYmHdlcZRxyoGQ6FNldZKp8Xl1I= - - hash2 - - Q6gWz+lFSfZb5n7fs9kPa61ZVmKklBCDYAPctup8+l4= - - optional - - - Resources/zh_CN.lproj/Sparkle.strings - - hash - - 0vdFowZuJ1qLE3rDgG3BZ9SlNRw= - - hash2 - - ecJXF6vvj1f80iCr+Gk52cTyumQrea6H0NpOjwbbLiE= - - optional - - - Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib - - hash - - E7e3G1hg4vqRfzno4FdzvgH0yng= - - hash2 - - ajeSjYpa3DsZGQzDVK9kEkpwv44C/eyrIxbxU+SHRW4= - - optional - - - Resources/zh_TW.lproj/SUUpdateAlert.nib - - hash - - bm6w3bCQbsrYbFszNCANq+DHcdQ= - - hash2 - - TQgKt3xRvEsmHbRLgWIJxg/xYVEnmDxUc7favyLd/10= - - optional - - - Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib - - hash - - 1WN5IQ6j/AsxDG2fbAuKZAwoyzM= - - hash2 - - mlYhm7xduytdXH7U9j6ytinOA28ueShg37NKsyReI+k= - - optional - - - Resources/zh_TW.lproj/Sparkle.strings - - hash - - 1FLKoM5jZ8JGBG/nmyEIA+/aalA= - - hash2 - - Vlf/4QD7/3S0SFqxmTWWcSwtTLWISKUSvLjpgWb7lxQ= - - optional - - - - rules - - ^Resources/ - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^Resources/ - - weight - 20 - - ^Resources/.*\.lproj/ - - optional - - weight - 1000 - - ^Resources/.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Resources/Base\.lproj/ - - weight - 1010 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/ThirdParty/Sparkle/Sparkle.framework/Versions/Current b/ThirdParty/Sparkle/Sparkle.framework/Versions/Current deleted file mode 120000 index 8c7e5a667..000000000 --- a/ThirdParty/Sparkle/Sparkle.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/ThirdParty/ffmpeg/include/libavcodec/avcodec.h b/ThirdParty/ffmpeg/include/libavcodec/avcodec.h index bcb931f0d..c91b2fd16 100644 --- a/ThirdParty/ffmpeg/include/libavcodec/avcodec.h +++ b/ThirdParty/ffmpeg/include/libavcodec/avcodec.h @@ -41,6 +41,12 @@ #include "libavutil/pixfmt.h" #include "libavutil/rational.h" +#include "bsf.h" +#include "codec.h" +#include "codec_desc.h" +#include "codec_par.h" +#include "codec_id.h" +#include "packet.h" #include "version.h" /** @@ -92,6 +98,7 @@ * compressed data in an AVPacket. * - For encoding, call avcodec_send_frame() to give the encoder an AVFrame * containing uncompressed audio or video. + * * In both cases, it is recommended that AVPackets and AVFrames are * refcounted, or libavcodec might have to copy the input data. (libavformat * always returns refcounted AVPackets, and av_frame_get_buffer() allocates @@ -102,6 +109,7 @@ * an AVFrame containing uncompressed audio or video data. * - For encoding, call avcodec_receive_packet(). On success, it will return * an AVPacket with a compressed frame. + * * Repeat this call until it returns AVERROR(EAGAIN) or an error. The * AVERROR(EAGAIN) return value means that new input data is required to * return new output. In this case, continue with sending input. For each @@ -196,592 +204,6 @@ * @{ */ - -/** - * Identify the syntax and semantics of the bitstream. - * The principle is roughly: - * Two decoders with the same ID can decode the same streams. - * Two encoders with the same ID can encode compatible streams. - * There may be slight deviations from the principle due to implementation - * details. - * - * If you add a codec ID to this list, add it so that - * 1. no value of an existing codec ID changes (that would break ABI), - * 2. it is as close as possible to similar codecs - * - * After adding new codec IDs, do not forget to add an entry to the codec - * descriptor list and bump libavcodec minor version. - */ -enum AVCodecID { - AV_CODEC_ID_NONE, - - /* video codecs */ - AV_CODEC_ID_MPEG1VIDEO, - AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding - AV_CODEC_ID_H261, - AV_CODEC_ID_H263, - AV_CODEC_ID_RV10, - AV_CODEC_ID_RV20, - AV_CODEC_ID_MJPEG, - AV_CODEC_ID_MJPEGB, - AV_CODEC_ID_LJPEG, - AV_CODEC_ID_SP5X, - AV_CODEC_ID_JPEGLS, - AV_CODEC_ID_MPEG4, - AV_CODEC_ID_RAWVIDEO, - AV_CODEC_ID_MSMPEG4V1, - AV_CODEC_ID_MSMPEG4V2, - AV_CODEC_ID_MSMPEG4V3, - AV_CODEC_ID_WMV1, - AV_CODEC_ID_WMV2, - AV_CODEC_ID_H263P, - AV_CODEC_ID_H263I, - AV_CODEC_ID_FLV1, - AV_CODEC_ID_SVQ1, - AV_CODEC_ID_SVQ3, - AV_CODEC_ID_DVVIDEO, - AV_CODEC_ID_HUFFYUV, - AV_CODEC_ID_CYUV, - AV_CODEC_ID_H264, - AV_CODEC_ID_INDEO3, - AV_CODEC_ID_VP3, - AV_CODEC_ID_THEORA, - AV_CODEC_ID_ASV1, - AV_CODEC_ID_ASV2, - AV_CODEC_ID_FFV1, - AV_CODEC_ID_4XM, - AV_CODEC_ID_VCR1, - AV_CODEC_ID_CLJR, - AV_CODEC_ID_MDEC, - AV_CODEC_ID_ROQ, - AV_CODEC_ID_INTERPLAY_VIDEO, - AV_CODEC_ID_XAN_WC3, - AV_CODEC_ID_XAN_WC4, - AV_CODEC_ID_RPZA, - AV_CODEC_ID_CINEPAK, - AV_CODEC_ID_WS_VQA, - AV_CODEC_ID_MSRLE, - AV_CODEC_ID_MSVIDEO1, - AV_CODEC_ID_IDCIN, - AV_CODEC_ID_8BPS, - AV_CODEC_ID_SMC, - AV_CODEC_ID_FLIC, - AV_CODEC_ID_TRUEMOTION1, - AV_CODEC_ID_VMDVIDEO, - AV_CODEC_ID_MSZH, - AV_CODEC_ID_ZLIB, - AV_CODEC_ID_QTRLE, - AV_CODEC_ID_TSCC, - AV_CODEC_ID_ULTI, - AV_CODEC_ID_QDRAW, - AV_CODEC_ID_VIXL, - AV_CODEC_ID_QPEG, - AV_CODEC_ID_PNG, - AV_CODEC_ID_PPM, - AV_CODEC_ID_PBM, - AV_CODEC_ID_PGM, - AV_CODEC_ID_PGMYUV, - AV_CODEC_ID_PAM, - AV_CODEC_ID_FFVHUFF, - AV_CODEC_ID_RV30, - AV_CODEC_ID_RV40, - AV_CODEC_ID_VC1, - AV_CODEC_ID_WMV3, - AV_CODEC_ID_LOCO, - AV_CODEC_ID_WNV1, - AV_CODEC_ID_AASC, - AV_CODEC_ID_INDEO2, - AV_CODEC_ID_FRAPS, - AV_CODEC_ID_TRUEMOTION2, - AV_CODEC_ID_BMP, - AV_CODEC_ID_CSCD, - AV_CODEC_ID_MMVIDEO, - AV_CODEC_ID_ZMBV, - AV_CODEC_ID_AVS, - AV_CODEC_ID_SMACKVIDEO, - AV_CODEC_ID_NUV, - AV_CODEC_ID_KMVC, - AV_CODEC_ID_FLASHSV, - AV_CODEC_ID_CAVS, - AV_CODEC_ID_JPEG2000, - AV_CODEC_ID_VMNC, - AV_CODEC_ID_VP5, - AV_CODEC_ID_VP6, - AV_CODEC_ID_VP6F, - AV_CODEC_ID_TARGA, - AV_CODEC_ID_DSICINVIDEO, - AV_CODEC_ID_TIERTEXSEQVIDEO, - AV_CODEC_ID_TIFF, - AV_CODEC_ID_GIF, - AV_CODEC_ID_DXA, - AV_CODEC_ID_DNXHD, - AV_CODEC_ID_THP, - AV_CODEC_ID_SGI, - AV_CODEC_ID_C93, - AV_CODEC_ID_BETHSOFTVID, - AV_CODEC_ID_PTX, - AV_CODEC_ID_TXD, - AV_CODEC_ID_VP6A, - AV_CODEC_ID_AMV, - AV_CODEC_ID_VB, - AV_CODEC_ID_PCX, - AV_CODEC_ID_SUNRAST, - AV_CODEC_ID_INDEO4, - AV_CODEC_ID_INDEO5, - AV_CODEC_ID_MIMIC, - AV_CODEC_ID_RL2, - AV_CODEC_ID_ESCAPE124, - AV_CODEC_ID_DIRAC, - AV_CODEC_ID_BFI, - AV_CODEC_ID_CMV, - AV_CODEC_ID_MOTIONPIXELS, - AV_CODEC_ID_TGV, - AV_CODEC_ID_TGQ, - AV_CODEC_ID_TQI, - AV_CODEC_ID_AURA, - AV_CODEC_ID_AURA2, - AV_CODEC_ID_V210X, - AV_CODEC_ID_TMV, - AV_CODEC_ID_V210, - AV_CODEC_ID_DPX, - AV_CODEC_ID_MAD, - AV_CODEC_ID_FRWU, - AV_CODEC_ID_FLASHSV2, - AV_CODEC_ID_CDGRAPHICS, - AV_CODEC_ID_R210, - AV_CODEC_ID_ANM, - AV_CODEC_ID_BINKVIDEO, - AV_CODEC_ID_IFF_ILBM, -#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM - AV_CODEC_ID_KGV1, - AV_CODEC_ID_YOP, - AV_CODEC_ID_VP8, - AV_CODEC_ID_PICTOR, - AV_CODEC_ID_ANSI, - AV_CODEC_ID_A64_MULTI, - AV_CODEC_ID_A64_MULTI5, - AV_CODEC_ID_R10K, - AV_CODEC_ID_MXPEG, - AV_CODEC_ID_LAGARITH, - AV_CODEC_ID_PRORES, - AV_CODEC_ID_JV, - AV_CODEC_ID_DFA, - AV_CODEC_ID_WMV3IMAGE, - AV_CODEC_ID_VC1IMAGE, - AV_CODEC_ID_UTVIDEO, - AV_CODEC_ID_BMV_VIDEO, - AV_CODEC_ID_VBLE, - AV_CODEC_ID_DXTORY, - AV_CODEC_ID_V410, - AV_CODEC_ID_XWD, - AV_CODEC_ID_CDXL, - AV_CODEC_ID_XBM, - AV_CODEC_ID_ZEROCODEC, - AV_CODEC_ID_MSS1, - AV_CODEC_ID_MSA1, - AV_CODEC_ID_TSCC2, - AV_CODEC_ID_MTS2, - AV_CODEC_ID_CLLC, - AV_CODEC_ID_MSS2, - AV_CODEC_ID_VP9, - AV_CODEC_ID_AIC, - AV_CODEC_ID_ESCAPE130, - AV_CODEC_ID_G2M, - AV_CODEC_ID_WEBP, - AV_CODEC_ID_HNM4_VIDEO, - AV_CODEC_ID_HEVC, -#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC - AV_CODEC_ID_FIC, - AV_CODEC_ID_ALIAS_PIX, - AV_CODEC_ID_BRENDER_PIX, - AV_CODEC_ID_PAF_VIDEO, - AV_CODEC_ID_EXR, - AV_CODEC_ID_VP7, - AV_CODEC_ID_SANM, - AV_CODEC_ID_SGIRLE, - AV_CODEC_ID_MVC1, - AV_CODEC_ID_MVC2, - AV_CODEC_ID_HQX, - AV_CODEC_ID_TDSC, - AV_CODEC_ID_HQ_HQA, - AV_CODEC_ID_HAP, - AV_CODEC_ID_DDS, - AV_CODEC_ID_DXV, - AV_CODEC_ID_SCREENPRESSO, - AV_CODEC_ID_RSCC, - AV_CODEC_ID_AVS2, - - AV_CODEC_ID_Y41P = 0x8000, - AV_CODEC_ID_AVRP, - AV_CODEC_ID_012V, - AV_CODEC_ID_AVUI, - AV_CODEC_ID_AYUV, - AV_CODEC_ID_TARGA_Y216, - AV_CODEC_ID_V308, - AV_CODEC_ID_V408, - AV_CODEC_ID_YUV4, - AV_CODEC_ID_AVRN, - AV_CODEC_ID_CPIA, - AV_CODEC_ID_XFACE, - AV_CODEC_ID_SNOW, - AV_CODEC_ID_SMVJPEG, - AV_CODEC_ID_APNG, - AV_CODEC_ID_DAALA, - AV_CODEC_ID_CFHD, - AV_CODEC_ID_TRUEMOTION2RT, - AV_CODEC_ID_M101, - AV_CODEC_ID_MAGICYUV, - AV_CODEC_ID_SHEERVIDEO, - AV_CODEC_ID_YLC, - AV_CODEC_ID_PSD, - AV_CODEC_ID_PIXLET, - AV_CODEC_ID_SPEEDHQ, - AV_CODEC_ID_FMVC, - AV_CODEC_ID_SCPR, - AV_CODEC_ID_CLEARVIDEO, - AV_CODEC_ID_XPM, - AV_CODEC_ID_AV1, - AV_CODEC_ID_BITPACKED, - AV_CODEC_ID_MSCC, - AV_CODEC_ID_SRGC, - AV_CODEC_ID_SVG, - AV_CODEC_ID_GDV, - AV_CODEC_ID_FITS, - AV_CODEC_ID_IMM4, - AV_CODEC_ID_PROSUMER, - AV_CODEC_ID_MWSC, - AV_CODEC_ID_WCMV, - AV_CODEC_ID_RASC, - AV_CODEC_ID_HYMT, - AV_CODEC_ID_ARBC, - AV_CODEC_ID_AGM, - AV_CODEC_ID_LSCR, - AV_CODEC_ID_VP4, - AV_CODEC_ID_IMM5, - - /* various PCM "codecs" */ - AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs - AV_CODEC_ID_PCM_S16LE = 0x10000, - AV_CODEC_ID_PCM_S16BE, - AV_CODEC_ID_PCM_U16LE, - AV_CODEC_ID_PCM_U16BE, - AV_CODEC_ID_PCM_S8, - AV_CODEC_ID_PCM_U8, - AV_CODEC_ID_PCM_MULAW, - AV_CODEC_ID_PCM_ALAW, - AV_CODEC_ID_PCM_S32LE, - AV_CODEC_ID_PCM_S32BE, - AV_CODEC_ID_PCM_U32LE, - AV_CODEC_ID_PCM_U32BE, - AV_CODEC_ID_PCM_S24LE, - AV_CODEC_ID_PCM_S24BE, - AV_CODEC_ID_PCM_U24LE, - AV_CODEC_ID_PCM_U24BE, - AV_CODEC_ID_PCM_S24DAUD, - AV_CODEC_ID_PCM_ZORK, - AV_CODEC_ID_PCM_S16LE_PLANAR, - AV_CODEC_ID_PCM_DVD, - AV_CODEC_ID_PCM_F32BE, - AV_CODEC_ID_PCM_F32LE, - AV_CODEC_ID_PCM_F64BE, - AV_CODEC_ID_PCM_F64LE, - AV_CODEC_ID_PCM_BLURAY, - AV_CODEC_ID_PCM_LXF, - AV_CODEC_ID_S302M, - AV_CODEC_ID_PCM_S8_PLANAR, - AV_CODEC_ID_PCM_S24LE_PLANAR, - AV_CODEC_ID_PCM_S32LE_PLANAR, - AV_CODEC_ID_PCM_S16BE_PLANAR, - - AV_CODEC_ID_PCM_S64LE = 0x10800, - AV_CODEC_ID_PCM_S64BE, - AV_CODEC_ID_PCM_F16LE, - AV_CODEC_ID_PCM_F24LE, - AV_CODEC_ID_PCM_VIDC, - - /* various ADPCM codecs */ - AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, - AV_CODEC_ID_ADPCM_IMA_WAV, - AV_CODEC_ID_ADPCM_IMA_DK3, - AV_CODEC_ID_ADPCM_IMA_DK4, - AV_CODEC_ID_ADPCM_IMA_WS, - AV_CODEC_ID_ADPCM_IMA_SMJPEG, - AV_CODEC_ID_ADPCM_MS, - AV_CODEC_ID_ADPCM_4XM, - AV_CODEC_ID_ADPCM_XA, - AV_CODEC_ID_ADPCM_ADX, - AV_CODEC_ID_ADPCM_EA, - AV_CODEC_ID_ADPCM_G726, - AV_CODEC_ID_ADPCM_CT, - AV_CODEC_ID_ADPCM_SWF, - AV_CODEC_ID_ADPCM_YAMAHA, - AV_CODEC_ID_ADPCM_SBPRO_4, - AV_CODEC_ID_ADPCM_SBPRO_3, - AV_CODEC_ID_ADPCM_SBPRO_2, - AV_CODEC_ID_ADPCM_THP, - AV_CODEC_ID_ADPCM_IMA_AMV, - AV_CODEC_ID_ADPCM_EA_R1, - AV_CODEC_ID_ADPCM_EA_R3, - AV_CODEC_ID_ADPCM_EA_R2, - AV_CODEC_ID_ADPCM_IMA_EA_SEAD, - AV_CODEC_ID_ADPCM_IMA_EA_EACS, - AV_CODEC_ID_ADPCM_EA_XAS, - AV_CODEC_ID_ADPCM_EA_MAXIS_XA, - AV_CODEC_ID_ADPCM_IMA_ISS, - AV_CODEC_ID_ADPCM_G722, - AV_CODEC_ID_ADPCM_IMA_APC, - AV_CODEC_ID_ADPCM_VIMA, - - AV_CODEC_ID_ADPCM_AFC = 0x11800, - AV_CODEC_ID_ADPCM_IMA_OKI, - AV_CODEC_ID_ADPCM_DTK, - AV_CODEC_ID_ADPCM_IMA_RAD, - AV_CODEC_ID_ADPCM_G726LE, - AV_CODEC_ID_ADPCM_THP_LE, - AV_CODEC_ID_ADPCM_PSX, - AV_CODEC_ID_ADPCM_AICA, - AV_CODEC_ID_ADPCM_IMA_DAT4, - AV_CODEC_ID_ADPCM_MTAF, - AV_CODEC_ID_ADPCM_AGM, - - /* AMR */ - AV_CODEC_ID_AMR_NB = 0x12000, - AV_CODEC_ID_AMR_WB, - - /* RealAudio codecs*/ - AV_CODEC_ID_RA_144 = 0x13000, - AV_CODEC_ID_RA_288, - - /* various DPCM codecs */ - AV_CODEC_ID_ROQ_DPCM = 0x14000, - AV_CODEC_ID_INTERPLAY_DPCM, - AV_CODEC_ID_XAN_DPCM, - AV_CODEC_ID_SOL_DPCM, - - AV_CODEC_ID_SDX2_DPCM = 0x14800, - AV_CODEC_ID_GREMLIN_DPCM, - - /* audio codecs */ - AV_CODEC_ID_MP2 = 0x15000, - AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 - AV_CODEC_ID_AAC, - AV_CODEC_ID_AC3, - AV_CODEC_ID_DTS, - AV_CODEC_ID_VORBIS, - AV_CODEC_ID_DVAUDIO, - AV_CODEC_ID_WMAV1, - AV_CODEC_ID_WMAV2, - AV_CODEC_ID_MACE3, - AV_CODEC_ID_MACE6, - AV_CODEC_ID_VMDAUDIO, - AV_CODEC_ID_FLAC, - AV_CODEC_ID_MP3ADU, - AV_CODEC_ID_MP3ON4, - AV_CODEC_ID_SHORTEN, - AV_CODEC_ID_ALAC, - AV_CODEC_ID_WESTWOOD_SND1, - AV_CODEC_ID_GSM, ///< as in Berlin toast format - AV_CODEC_ID_QDM2, - AV_CODEC_ID_COOK, - AV_CODEC_ID_TRUESPEECH, - AV_CODEC_ID_TTA, - AV_CODEC_ID_SMACKAUDIO, - AV_CODEC_ID_QCELP, - AV_CODEC_ID_WAVPACK, - AV_CODEC_ID_DSICINAUDIO, - AV_CODEC_ID_IMC, - AV_CODEC_ID_MUSEPACK7, - AV_CODEC_ID_MLP, - AV_CODEC_ID_GSM_MS, /* as found in WAV */ - AV_CODEC_ID_ATRAC3, - AV_CODEC_ID_APE, - AV_CODEC_ID_NELLYMOSER, - AV_CODEC_ID_MUSEPACK8, - AV_CODEC_ID_SPEEX, - AV_CODEC_ID_WMAVOICE, - AV_CODEC_ID_WMAPRO, - AV_CODEC_ID_WMALOSSLESS, - AV_CODEC_ID_ATRAC3P, - AV_CODEC_ID_EAC3, - AV_CODEC_ID_SIPR, - AV_CODEC_ID_MP1, - AV_CODEC_ID_TWINVQ, - AV_CODEC_ID_TRUEHD, - AV_CODEC_ID_MP4ALS, - AV_CODEC_ID_ATRAC1, - AV_CODEC_ID_BINKAUDIO_RDFT, - AV_CODEC_ID_BINKAUDIO_DCT, - AV_CODEC_ID_AAC_LATM, - AV_CODEC_ID_QDMC, - AV_CODEC_ID_CELT, - AV_CODEC_ID_G723_1, - AV_CODEC_ID_G729, - AV_CODEC_ID_8SVX_EXP, - AV_CODEC_ID_8SVX_FIB, - AV_CODEC_ID_BMV_AUDIO, - AV_CODEC_ID_RALF, - AV_CODEC_ID_IAC, - AV_CODEC_ID_ILBC, - AV_CODEC_ID_OPUS, - AV_CODEC_ID_COMFORT_NOISE, - AV_CODEC_ID_TAK, - AV_CODEC_ID_METASOUND, - AV_CODEC_ID_PAF_AUDIO, - AV_CODEC_ID_ON2AVC, - AV_CODEC_ID_DSS_SP, - AV_CODEC_ID_CODEC2, - - AV_CODEC_ID_FFWAVESYNTH = 0x15800, - AV_CODEC_ID_SONIC, - AV_CODEC_ID_SONIC_LS, - AV_CODEC_ID_EVRC, - AV_CODEC_ID_SMV, - AV_CODEC_ID_DSD_LSBF, - AV_CODEC_ID_DSD_MSBF, - AV_CODEC_ID_DSD_LSBF_PLANAR, - AV_CODEC_ID_DSD_MSBF_PLANAR, - AV_CODEC_ID_4GV, - AV_CODEC_ID_INTERPLAY_ACM, - AV_CODEC_ID_XMA1, - AV_CODEC_ID_XMA2, - AV_CODEC_ID_DST, - AV_CODEC_ID_ATRAC3AL, - AV_CODEC_ID_ATRAC3PAL, - AV_CODEC_ID_DOLBY_E, - AV_CODEC_ID_APTX, - AV_CODEC_ID_APTX_HD, - AV_CODEC_ID_SBC, - AV_CODEC_ID_ATRAC9, - AV_CODEC_ID_HCOM, - AV_CODEC_ID_ACELP_KELVIN, - - /* subtitle codecs */ - AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. - AV_CODEC_ID_DVD_SUBTITLE = 0x17000, - AV_CODEC_ID_DVB_SUBTITLE, - AV_CODEC_ID_TEXT, ///< raw UTF-8 text - AV_CODEC_ID_XSUB, - AV_CODEC_ID_SSA, - AV_CODEC_ID_MOV_TEXT, - AV_CODEC_ID_HDMV_PGS_SUBTITLE, - AV_CODEC_ID_DVB_TELETEXT, - AV_CODEC_ID_SRT, - - AV_CODEC_ID_MICRODVD = 0x17800, - AV_CODEC_ID_EIA_608, - AV_CODEC_ID_JACOSUB, - AV_CODEC_ID_SAMI, - AV_CODEC_ID_REALTEXT, - AV_CODEC_ID_STL, - AV_CODEC_ID_SUBVIEWER1, - AV_CODEC_ID_SUBVIEWER, - AV_CODEC_ID_SUBRIP, - AV_CODEC_ID_WEBVTT, - AV_CODEC_ID_MPL2, - AV_CODEC_ID_VPLAYER, - AV_CODEC_ID_PJS, - AV_CODEC_ID_ASS, - AV_CODEC_ID_HDMV_TEXT_SUBTITLE, - AV_CODEC_ID_TTML, - AV_CODEC_ID_ARIB_CAPTION, - - /* other specific kind of codecs (generally used for attachments) */ - AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs. - AV_CODEC_ID_TTF = 0x18000, - - AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream. - AV_CODEC_ID_EPG, - AV_CODEC_ID_BINTEXT = 0x18800, - AV_CODEC_ID_XBIN, - AV_CODEC_ID_IDF, - AV_CODEC_ID_OTF, - AV_CODEC_ID_SMPTE_KLV, - AV_CODEC_ID_DVD_NAV, - AV_CODEC_ID_TIMED_ID3, - AV_CODEC_ID_BIN_DATA, - - - AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it - - AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS - * stream (only used by libavformat) */ - AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems - * stream (only used by libavformat) */ - AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. - AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket -}; - -/** - * This struct describes the properties of a single codec described by an - * AVCodecID. - * @see avcodec_descriptor_get() - */ -typedef struct AVCodecDescriptor { - enum AVCodecID id; - enum AVMediaType type; - /** - * Name of the codec described by this descriptor. It is non-empty and - * unique for each codec descriptor. It should contain alphanumeric - * characters and '_' only. - */ - const char *name; - /** - * A more descriptive name for this codec. May be NULL. - */ - const char *long_name; - /** - * Codec properties, a combination of AV_CODEC_PROP_* flags. - */ - int props; - /** - * MIME type(s) associated with the codec. - * May be NULL; if not, a NULL-terminated array of MIME types. - * The first item is always non-NULL and is the preferred MIME type. - */ - const char *const *mime_types; - /** - * If non-NULL, an array of profiles recognized for this codec. - * Terminated with FF_PROFILE_UNKNOWN. - */ - const struct AVProfile *profiles; -} AVCodecDescriptor; - -/** - * Codec uses only intra compression. - * Video and audio codecs only. - */ -#define AV_CODEC_PROP_INTRA_ONLY (1 << 0) -/** - * Codec supports lossy compression. Audio and video codecs only. - * @note a codec may support both lossy and lossless - * compression modes - */ -#define AV_CODEC_PROP_LOSSY (1 << 1) -/** - * Codec supports lossless compression. Audio and video codecs only. - */ -#define AV_CODEC_PROP_LOSSLESS (1 << 2) -/** - * Codec supports frame reordering. That is, the coded order (the order in which - * the encoded packets are output by the encoders / stored / input to the - * decoders) may be different from the presentation order of the corresponding - * frames. - * - * For codecs that do not have this property set, PTS and DTS should always be - * equal. - */ -#define AV_CODEC_PROP_REORDER (1 << 3) -/** - * Subtitle codec is bitmap based - * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field. - */ -#define AV_CODEC_PROP_BITMAP_SUB (1 << 16) -/** - * Subtitle codec is text based. - * Decoded AVSubtitle data can be read from the AVSubtitleRect->ass field. - */ -#define AV_CODEC_PROP_TEXT_SUB (1 << 17) - /** * @ingroup lavc_decoding * Required number of additionally allocated bytes at the end of the input bitstream for decoding. @@ -972,127 +394,22 @@ typedef struct RcOverride{ /* /Fx */ /* codec capabilities */ +/* Exported side data. + These flags can be passed in AVCodecContext.export_side_data before initialization. +*/ /** - * Decoder can use draw_horiz_band callback. + * Export motion vectors through frame side data */ -#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0) +#define AV_CODEC_EXPORT_DATA_MVS (1 << 0) /** - * Codec uses get_buffer() for allocating buffers and supports custom allocators. - * If not set, it might not use get_buffer() at all or use operations that - * assume the buffer was allocated by avcodec_default_get_buffer. + * Export encoder Producer Reference Time through packet side data */ -#define AV_CODEC_CAP_DR1 (1 << 1) -#define AV_CODEC_CAP_TRUNCATED (1 << 3) +#define AV_CODEC_EXPORT_DATA_PRFT (1 << 1) /** - * Encoder or decoder requires flushing with NULL input at the end in order to - * give the complete and correct output. - * - * NOTE: If this flag is not set, the codec is guaranteed to never be fed with - * with NULL data. The user can still send NULL data to the public encode - * or decode function, but libavcodec will not pass it along to the codec - * unless this flag is set. - * - * Decoders: - * The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, - * avpkt->size=0 at the end to get the delayed data until the decoder no longer - * returns frames. - * - * Encoders: - * The encoder needs to be fed with NULL data at the end of encoding until the - * encoder no longer returns data. - * - * NOTE: For encoders implementing the AVCodec.encode2() function, setting this - * flag also means that the encoder must set the pts and duration for - * each output packet. If this flag is not set, the pts and duration will - * be determined by libavcodec from the input frame. + * Decoding only. + * Export the AVVideoEncParams structure through frame side data. */ -#define AV_CODEC_CAP_DELAY (1 << 5) -/** - * Codec can be fed a final frame with a smaller size. - * This can be used to prevent truncation of the last audio samples. - */ -#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6) - -/** - * Codec can output multiple frames per AVPacket - * Normally demuxers return one frame at a time, demuxers which do not do - * are connected to a parser to split what they return into proper frames. - * This flag is reserved to the very rare category of codecs which have a - * bitstream that cannot be split into frames without timeconsuming - * operations like full decoding. Demuxers carrying such bitstreams thus - * may return multiple frames in a packet. This has many disadvantages like - * prohibiting stream copy in many cases thus it should only be considered - * as a last resort. - */ -#define AV_CODEC_CAP_SUBFRAMES (1 << 8) -/** - * Codec is experimental and is thus avoided in favor of non experimental - * encoders - */ -#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9) -/** - * Codec should fill in channel configuration and samplerate instead of container - */ -#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10) -/** - * Codec supports frame-level multithreading. - */ -#define AV_CODEC_CAP_FRAME_THREADS (1 << 12) -/** - * Codec supports slice-based (or partition-based) multithreading. - */ -#define AV_CODEC_CAP_SLICE_THREADS (1 << 13) -/** - * Codec supports changed parameters at any point. - */ -#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14) -/** - * Codec supports avctx->thread_count == 0 (auto). - */ -#define AV_CODEC_CAP_AUTO_THREADS (1 << 15) -/** - * Audio encoder supports receiving a different number of samples in each call. - */ -#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16) -/** - * Decoder is not a preferred choice for probing. - * This indicates that the decoder is not a good choice for probing. - * It could for example be an expensive to spin up hardware decoder, - * or it could simply not provide a lot of useful information about - * the stream. - * A decoder marked with this flag should only be used as last resort - * choice for probing. - */ -#define AV_CODEC_CAP_AVOID_PROBING (1 << 17) -/** - * Codec is intra only. - */ -#define AV_CODEC_CAP_INTRA_ONLY 0x40000000 -/** - * Codec is lossless. - */ -#define AV_CODEC_CAP_LOSSLESS 0x80000000 - -/** - * Codec is backed by a hardware implementation. Typically used to - * identify a non-hwaccel hardware decoder. For information about hwaccels, use - * avcodec_get_hw_config() instead. - */ -#define AV_CODEC_CAP_HARDWARE (1 << 18) - -/** - * Codec is potentially backed by a hardware implementation, but not - * necessarily. This is used instead of AV_CODEC_CAP_HARDWARE, if the - * implementation provides some sort of internal fallback. - */ -#define AV_CODEC_CAP_HYBRID (1 << 19) - -/** - * This codec takes the reordered_opaque field from input AVFrames - * and returns it in the corresponding field in AVCodecContext after - * encoding. - */ -#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20) +#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2) /** * Pan Scan area. @@ -1173,385 +490,26 @@ typedef struct AVCPBProperties { uint64_t vbv_delay; } AVCPBProperties; +/** + * This structure supplies correlation between a packet timestamp and a wall clock + * production time. The definition follows the Producer Reference Time ('prft') + * as defined in ISO/IEC 14496-12 + */ +typedef struct AVProducerReferenceTime { + /** + * A UTC timestamp, in microseconds, since Unix epoch (e.g, av_gettime()). + */ + int64_t wallclock; + int flags; +} AVProducerReferenceTime; + /** * The decoder will keep a reference to the frame and may reuse it later. */ #define AV_GET_BUFFER_FLAG_REF (1 << 0) -/** - * @defgroup lavc_packet AVPacket - * - * Types and functions for working with AVPacket. - * @{ - */ -enum AVPacketSideDataType { - /** - * An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE - * bytes worth of palette. This side data signals that a new palette is - * present. - */ - AV_PKT_DATA_PALETTE, - - /** - * The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format - * that the extradata buffer was changed and the receiving side should - * act upon it appropriately. The new extradata is embedded in the side - * data buffer and should be immediately used for processing the current - * frame or packet. - */ - AV_PKT_DATA_NEW_EXTRADATA, - - /** - * An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows: - * @code - * u32le param_flags - * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT) - * s32le channel_count - * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT) - * u64le channel_layout - * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE) - * s32le sample_rate - * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS) - * s32le width - * s32le height - * @endcode - */ - AV_PKT_DATA_PARAM_CHANGE, - - /** - * An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of - * structures with info about macroblocks relevant to splitting the - * packet into smaller packets on macroblock edges (e.g. as for RFC 2190). - * That is, it does not necessarily contain info about all macroblocks, - * as long as the distance between macroblocks in the info is smaller - * than the target payload size. - * Each MB info structure is 12 bytes, and is laid out as follows: - * @code - * u32le bit offset from the start of the packet - * u8 current quantizer at the start of the macroblock - * u8 GOB number - * u16le macroblock address within the GOB - * u8 horizontal MV predictor - * u8 vertical MV predictor - * u8 horizontal MV predictor for block number 3 - * u8 vertical MV predictor for block number 3 - * @endcode - */ - AV_PKT_DATA_H263_MB_INFO, - - /** - * This side data should be associated with an audio stream and contains - * ReplayGain information in form of the AVReplayGain struct. - */ - AV_PKT_DATA_REPLAYGAIN, - - /** - * This side data contains a 3x3 transformation matrix describing an affine - * transformation that needs to be applied to the decoded video frames for - * correct presentation. - * - * See libavutil/display.h for a detailed description of the data. - */ - AV_PKT_DATA_DISPLAYMATRIX, - - /** - * This side data should be associated with a video stream and contains - * Stereoscopic 3D information in form of the AVStereo3D struct. - */ - AV_PKT_DATA_STEREO3D, - - /** - * This side data should be associated with an audio stream and corresponds - * to enum AVAudioServiceType. - */ - AV_PKT_DATA_AUDIO_SERVICE_TYPE, - - /** - * This side data contains quality related information from the encoder. - * @code - * u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad). - * u8 picture type - * u8 error count - * u16 reserved - * u64le[error count] sum of squared differences between encoder in and output - * @endcode - */ - AV_PKT_DATA_QUALITY_STATS, - - /** - * This side data contains an integer value representing the stream index - * of a "fallback" track. A fallback track indicates an alternate - * track to use when the current track can not be decoded for some reason. - * e.g. no decoder available for codec. - */ - AV_PKT_DATA_FALLBACK_TRACK, - - /** - * This side data corresponds to the AVCPBProperties struct. - */ - AV_PKT_DATA_CPB_PROPERTIES, - - /** - * Recommmends skipping the specified number of samples - * @code - * u32le number of samples to skip from start of this packet - * u32le number of samples to skip from end of this packet - * u8 reason for start skip - * u8 reason for end skip (0=padding silence, 1=convergence) - * @endcode - */ - AV_PKT_DATA_SKIP_SAMPLES, - - /** - * An AV_PKT_DATA_JP_DUALMONO side data packet indicates that - * the packet may contain "dual mono" audio specific to Japanese DTV - * and if it is true, recommends only the selected channel to be used. - * @code - * u8 selected channels (0=mail/left, 1=sub/right, 2=both) - * @endcode - */ - AV_PKT_DATA_JP_DUALMONO, - - /** - * A list of zero terminated key/value strings. There is no end marker for - * the list, so it is required to rely on the side data size to stop. - */ - AV_PKT_DATA_STRINGS_METADATA, - - /** - * Subtitle event position - * @code - * u32le x1 - * u32le y1 - * u32le x2 - * u32le y2 - * @endcode - */ - AV_PKT_DATA_SUBTITLE_POSITION, - - /** - * Data found in BlockAdditional element of matroska container. There is - * no end marker for the data, so it is required to rely on the side data - * size to recognize the end. 8 byte id (as found in BlockAddId) followed - * by data. - */ - AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, - - /** - * The optional first identifier line of a WebVTT cue. - */ - AV_PKT_DATA_WEBVTT_IDENTIFIER, - - /** - * The optional settings (rendering instructions) that immediately - * follow the timestamp specifier of a WebVTT cue. - */ - AV_PKT_DATA_WEBVTT_SETTINGS, - - /** - * A list of zero terminated key/value strings. There is no end marker for - * the list, so it is required to rely on the side data size to stop. This - * side data includes updated metadata which appeared in the stream. - */ - AV_PKT_DATA_METADATA_UPDATE, - - /** - * MPEGTS stream ID as uint8_t, this is required to pass the stream ID - * information from the demuxer to the corresponding muxer. - */ - AV_PKT_DATA_MPEGTS_STREAM_ID, - - /** - * Mastering display metadata (based on SMPTE-2086:2014). This metadata - * should be associated with a video stream and contains data in the form - * of the AVMasteringDisplayMetadata struct. - */ - AV_PKT_DATA_MASTERING_DISPLAY_METADATA, - - /** - * This side data should be associated with a video stream and corresponds - * to the AVSphericalMapping structure. - */ - AV_PKT_DATA_SPHERICAL, - - /** - * Content light level (based on CTA-861.3). This metadata should be - * associated with a video stream and contains data in the form of the - * AVContentLightMetadata struct. - */ - AV_PKT_DATA_CONTENT_LIGHT_LEVEL, - - /** - * ATSC A53 Part 4 Closed Captions. This metadata should be associated with - * a video stream. A53 CC bitstream is stored as uint8_t in AVPacketSideData.data. - * The number of bytes of CC data is AVPacketSideData.size. - */ - AV_PKT_DATA_A53_CC, - - /** - * This side data is encryption initialization data. - * The format is not part of ABI, use av_encryption_init_info_* methods to - * access. - */ - AV_PKT_DATA_ENCRYPTION_INIT_INFO, - - /** - * This side data contains encryption info for how to decrypt the packet. - * The format is not part of ABI, use av_encryption_info_* methods to access. - */ - AV_PKT_DATA_ENCRYPTION_INFO, - - /** - * Active Format Description data consisting of a single byte as specified - * in ETSI TS 101 154 using AVActiveFormatDescription enum. - */ - AV_PKT_DATA_AFD, - - /** - * The number of side data types. - * This is not part of the public API/ABI in the sense that it may - * change when new side data types are added. - * This must stay the last enum value. - * If its value becomes huge, some code using it - * needs to be updated as it assumes it to be smaller than other limits. - */ - AV_PKT_DATA_NB -}; - -#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED - -typedef struct AVPacketSideData { - uint8_t *data; - int size; - enum AVPacketSideDataType type; -} AVPacketSideData; - -/** - * This structure stores compressed data. It is typically exported by demuxers - * and then passed as input to decoders, or received as output from encoders and - * then passed to muxers. - * - * For video, it should typically contain one compressed frame. For audio it may - * contain several compressed frames. Encoders are allowed to output empty - * packets, with no compressed data, containing only side data - * (e.g. to update some stream parameters at the end of encoding). - * - * AVPacket is one of the few structs in FFmpeg, whose size is a part of public - * ABI. Thus it may be allocated on stack and no new fields can be added to it - * without libavcodec and libavformat major bump. - * - * The semantics of data ownership depends on the buf field. - * If it is set, the packet data is dynamically allocated and is - * valid indefinitely until a call to av_packet_unref() reduces the - * reference count to 0. - * - * If the buf field is not set av_packet_ref() would make a copy instead - * of increasing the reference count. - * - * The side data is always allocated with av_malloc(), copied by - * av_packet_ref() and freed by av_packet_unref(). - * - * @see av_packet_ref - * @see av_packet_unref - */ -typedef struct AVPacket { - /** - * A reference to the reference-counted buffer where the packet data is - * stored. - * May be NULL, then the packet data is not reference-counted. - */ - AVBufferRef *buf; - /** - * Presentation timestamp in AVStream->time_base units; the time at which - * the decompressed packet will be presented to the user. - * Can be AV_NOPTS_VALUE if it is not stored in the file. - * pts MUST be larger or equal to dts as presentation cannot happen before - * decompression, unless one wants to view hex dumps. Some formats misuse - * the terms dts and pts/cts to mean something different. Such timestamps - * must be converted to true pts/dts before they are stored in AVPacket. - */ - int64_t pts; - /** - * Decompression timestamp in AVStream->time_base units; the time at which - * the packet is decompressed. - * Can be AV_NOPTS_VALUE if it is not stored in the file. - */ - int64_t dts; - uint8_t *data; - int size; - int stream_index; - /** - * A combination of AV_PKT_FLAG values - */ - int flags; - /** - * Additional packet data that can be provided by the container. - * Packet can contain several types of side information. - */ - AVPacketSideData *side_data; - int side_data_elems; - - /** - * Duration of this packet in AVStream->time_base units, 0 if unknown. - * Equals next_pts - this_pts in presentation order. - */ - int64_t duration; - - int64_t pos; ///< byte position in stream, -1 if unknown - -#if FF_API_CONVERGENCE_DURATION - /** - * @deprecated Same as the duration field, but as int64_t. This was required - * for Matroska subtitles, whose duration values could overflow when the - * duration field was still an int. - */ - attribute_deprecated - int64_t convergence_duration; -#endif -} AVPacket; -#define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe -#define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted -/** - * Flag is used to discard packets which are required to maintain valid - * decoder state but are not required for output and should be dropped - * after decoding. - **/ -#define AV_PKT_FLAG_DISCARD 0x0004 -/** - * The packet comes from a trusted source. - * - * Otherwise-unsafe constructs such as arbitrary pointers to data - * outside the packet may be followed. - */ -#define AV_PKT_FLAG_TRUSTED 0x0008 -/** - * Flag is used to indicate packets that contain frames that can - * be discarded by the decoder. I.e. Non-reference frames. - */ -#define AV_PKT_FLAG_DISPOSABLE 0x0010 - - -enum AVSideDataParamChangeFlags { - AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, - AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, - AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004, - AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008, -}; -/** - * @} - */ - struct AVCodecInternal; -enum AVFieldOrder { - AV_FIELD_UNKNOWN, - AV_FIELD_PROGRESSIVE, - AV_FIELD_TT, //< Top coded_first, top displayed first - AV_FIELD_BB, //< Bottom coded first, bottom displayed first - AV_FIELD_TB, //< Top coded first, bottom displayed first - AV_FIELD_BT, //< Bottom coded first, top displayed first -}; - /** * main external API structure. * New fields can be added to the end with minor version bumps. @@ -3013,6 +1971,9 @@ typedef struct AVCodecContext { #define FF_PROFILE_ARIB_PROFILE_A 0 #define FF_PROFILE_ARIB_PROFILE_C 1 +#define FF_PROFILE_KLVA_SYNC 0 +#define FF_PROFILE_KLVA_ASYNC 1 + /** * level * - encoding: Set by user. @@ -3381,6 +2342,16 @@ typedef struct AVCodecContext { * - encoding: set by user */ int64_t max_samples; + + /** + * Bit set of AV_CODEC_EXPORT_DATA_* flags, which affects the kind of + * metadata exported in frame, packet, or coded stream side data by + * decoders and encoders. + * + * - decoding: set by user + * - encoding: set by user + */ + int export_side_data; } AVCodecContext; #if FF_API_CODEC_GET_SET @@ -3419,220 +2390,8 @@ attribute_deprecated void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val); #endif -/** - * AVProfile. - */ -typedef struct AVProfile { - int profile; - const char *name; ///< short name for the profile -} AVProfile; - -enum { - /** - * The codec supports this format via the hw_device_ctx interface. - * - * When selecting this format, AVCodecContext.hw_device_ctx should - * have been set to a device of the specified type before calling - * avcodec_open2(). - */ - AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 0x01, - /** - * The codec supports this format via the hw_frames_ctx interface. - * - * When selecting this format for a decoder, - * AVCodecContext.hw_frames_ctx should be set to a suitable frames - * context inside the get_format() callback. The frames context - * must have been created on a device of the specified type. - */ - AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 0x02, - /** - * The codec supports this format by some internal method. - * - * This format can be selected without any additional configuration - - * no device or frames context is required. - */ - AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 0x04, - /** - * The codec supports this format by some ad-hoc method. - * - * Additional settings and/or function calls are required. See the - * codec-specific documentation for details. (Methods requiring - * this sort of configuration are deprecated and others should be - * used in preference.) - */ - AV_CODEC_HW_CONFIG_METHOD_AD_HOC = 0x08, -}; - -typedef struct AVCodecHWConfig { - /** - * A hardware pixel format which the codec can use. - */ - enum AVPixelFormat pix_fmt; - /** - * Bit set of AV_CODEC_HW_CONFIG_METHOD_* flags, describing the possible - * setup methods which can be used with this configuration. - */ - int methods; - /** - * The device type associated with the configuration. - * - * Must be set for AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX and - * AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, otherwise unused. - */ - enum AVHWDeviceType device_type; -} AVCodecHWConfig; - -typedef struct AVCodecDefault AVCodecDefault; - struct AVSubtitle; -/** - * AVCodec. - */ -typedef struct AVCodec { - /** - * Name of the codec implementation. - * The name is globally unique among encoders and among decoders (but an - * encoder and a decoder can share the same name). - * This is the primary way to find a codec from the user perspective. - */ - const char *name; - /** - * Descriptive name for the codec, meant to be more human readable than name. - * You should use the NULL_IF_CONFIG_SMALL() macro to define it. - */ - const char *long_name; - enum AVMediaType type; - enum AVCodecID id; - /** - * Codec capabilities. - * see AV_CODEC_CAP_* - */ - int capabilities; - const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} - const enum AVPixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 - const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 - const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 - const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 - uint8_t max_lowres; ///< maximum value for lowres supported by the decoder - const AVClass *priv_class; ///< AVClass for the private context - const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} - - /** - * Group name of the codec implementation. - * This is a short symbolic name of the wrapper backing this codec. A - * wrapper uses some kind of external implementation for the codec, such - * as an external library, or a codec implementation provided by the OS or - * the hardware. - * If this field is NULL, this is a builtin, libavcodec native codec. - * If non-NULL, this will be the suffix in AVCodec.name in most cases - * (usually AVCodec.name will be of the form "_"). - */ - const char *wrapper_name; - - /***************************************************************** - * No fields below this line are part of the public API. They - * may not be used outside of libavcodec and can be changed and - * removed at will. - * New public fields should be added right above. - ***************************************************************** - */ - int priv_data_size; - struct AVCodec *next; - /** - * @name Frame-level threading support functions - * @{ - */ - /** - * If defined, called on thread contexts when they are created. - * If the codec allocates writable tables in init(), re-allocate them here. - * priv_data will be set to a copy of the original. - */ - int (*init_thread_copy)(AVCodecContext *); - /** - * Copy necessary context variables from a previous thread context to the current one. - * If not defined, the next thread will start automatically; otherwise, the codec - * must call ff_thread_finish_setup(). - * - * dst and src will (rarely) point to the same context, in which case memcpy should be skipped. - */ - int (*update_thread_context)(AVCodecContext *dst, const AVCodecContext *src); - /** @} */ - - /** - * Private codec-specific defaults. - */ - const AVCodecDefault *defaults; - - /** - * Initialize codec static data, called from avcodec_register(). - * - * This is not intended for time consuming operations as it is - * run for every codec regardless of that codec being used. - */ - void (*init_static_data)(struct AVCodec *codec); - - int (*init)(AVCodecContext *); - int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, - const struct AVSubtitle *sub); - /** - * Encode data to an AVPacket. - * - * @param avctx codec context - * @param avpkt output AVPacket (may contain a user-provided buffer) - * @param[in] frame AVFrame containing the raw data to be encoded - * @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a - * non-empty packet was returned in avpkt. - * @return 0 on success, negative error code on failure - */ - int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, - int *got_packet_ptr); - int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt); - int (*close)(AVCodecContext *); - /** - * Encode API with decoupled packet/frame dataflow. The API is the - * same as the avcodec_ prefixed APIs (avcodec_send_frame() etc.), except - * that: - * - never called if the codec is closed or the wrong type, - * - if AV_CODEC_CAP_DELAY is not set, drain frames are never sent, - * - only one drain frame is ever passed down, - */ - int (*send_frame)(AVCodecContext *avctx, const AVFrame *frame); - int (*receive_packet)(AVCodecContext *avctx, AVPacket *avpkt); - - /** - * Decode API with decoupled packet/frame dataflow. This function is called - * to get one output frame. It should call ff_decode_get_packet() to obtain - * input data. - */ - int (*receive_frame)(AVCodecContext *avctx, AVFrame *frame); - /** - * Flush buffers. - * Will be called when seeking - */ - void (*flush)(AVCodecContext *); - /** - * Internal codec capabilities. - * See FF_CODEC_CAP_* in internal.h - */ - int caps_internal; - - /** - * Decoding only, a comma-separated list of bitstream filters to apply to - * packets before decoding. - */ - const char *bsfs; - - /** - * Array of pointers to hardware configurations supported by the codec, - * or NULL if no hardware supported. The array is terminated by a NULL - * pointer. - * - * The user can only access this field via avcodec_get_hw_config(). - */ - const struct AVCodecHWConfigInternal **hw_configs; -} AVCodec; - #if FF_API_CODEC_GET_SET attribute_deprecated int av_codec_get_max_lowres(const AVCodec *codec); @@ -3640,15 +2399,6 @@ int av_codec_get_max_lowres(const AVCodec *codec); struct MpegEncContext; -/** - * Retrieve supported hardware configurations for a codec. - * - * Values of index from zero to some maximum return the indexed configuration - * descriptor; all other values return NULL. If the codec does not support - * any hardware configurations then it will always return NULL. - */ -const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *codec, int index); - /** * @defgroup lavc_hwaccel AVHWAccel * @@ -3950,175 +2700,6 @@ typedef struct AVSubtitle { int64_t pts; ///< Same as packet pts, in AV_TIME_BASE } AVSubtitle; -/** - * This struct describes the properties of an encoded stream. - * - * sizeof(AVCodecParameters) is not a part of the public ABI, this struct must - * be allocated with avcodec_parameters_alloc() and freed with - * avcodec_parameters_free(). - */ -typedef struct AVCodecParameters { - /** - * General type of the encoded data. - */ - enum AVMediaType codec_type; - /** - * Specific type of the encoded data (the codec used). - */ - enum AVCodecID codec_id; - /** - * Additional information about the codec (corresponds to the AVI FOURCC). - */ - uint32_t codec_tag; - - /** - * Extra binary data needed for initializing the decoder, codec-dependent. - * - * Must be allocated with av_malloc() and will be freed by - * avcodec_parameters_free(). The allocated size of extradata must be at - * least extradata_size + AV_INPUT_BUFFER_PADDING_SIZE, with the padding - * bytes zeroed. - */ - uint8_t *extradata; - /** - * Size of the extradata content in bytes. - */ - int extradata_size; - - /** - * - video: the pixel format, the value corresponds to enum AVPixelFormat. - * - audio: the sample format, the value corresponds to enum AVSampleFormat. - */ - int format; - - /** - * The average bitrate of the encoded data (in bits per second). - */ - int64_t bit_rate; - - /** - * The number of bits per sample in the codedwords. - * - * This is basically the bitrate per sample. It is mandatory for a bunch of - * formats to actually decode them. It's the number of bits for one sample in - * the actual coded bitstream. - * - * This could be for example 4 for ADPCM - * For PCM formats this matches bits_per_raw_sample - * Can be 0 - */ - int bits_per_coded_sample; - - /** - * This is the number of valid bits in each output sample. If the - * sample format has more bits, the least significant bits are additional - * padding bits, which are always 0. Use right shifts to reduce the sample - * to its actual size. For example, audio formats with 24 bit samples will - * have bits_per_raw_sample set to 24, and format set to AV_SAMPLE_FMT_S32. - * To get the original sample use "(int32_t)sample >> 8"." - * - * For ADPCM this might be 12 or 16 or similar - * Can be 0 - */ - int bits_per_raw_sample; - - /** - * Codec-specific bitstream restrictions that the stream conforms to. - */ - int profile; - int level; - - /** - * Video only. The dimensions of the video frame in pixels. - */ - int width; - int height; - - /** - * Video only. The aspect ratio (width / height) which a single pixel - * should have when displayed. - * - * When the aspect ratio is unknown / undefined, the numerator should be - * set to 0 (the denominator may have any value). - */ - AVRational sample_aspect_ratio; - - /** - * Video only. The order of the fields in interlaced video. - */ - enum AVFieldOrder field_order; - - /** - * Video only. Additional colorspace characteristics. - */ - enum AVColorRange color_range; - enum AVColorPrimaries color_primaries; - enum AVColorTransferCharacteristic color_trc; - enum AVColorSpace color_space; - enum AVChromaLocation chroma_location; - - /** - * Video only. Number of delayed frames. - */ - int video_delay; - - /** - * Audio only. The channel layout bitmask. May be 0 if the channel layout is - * unknown or unspecified, otherwise the number of bits set must be equal to - * the channels field. - */ - uint64_t channel_layout; - /** - * Audio only. The number of audio channels. - */ - int channels; - /** - * Audio only. The number of audio samples per second. - */ - int sample_rate; - /** - * Audio only. The number of bytes per coded audio frame, required by some - * formats. - * - * Corresponds to nBlockAlign in WAVEFORMATEX. - */ - int block_align; - /** - * Audio only. Audio frame size, if known. Required by some formats to be static. - */ - int frame_size; - - /** - * Audio only. The amount of padding (in samples) inserted by the encoder at - * the beginning of the audio. I.e. this number of leading decoded samples - * must be discarded by the caller to get the original audio without leading - * padding. - */ - int initial_padding; - /** - * Audio only. The amount of padding (in samples) appended by the encoder to - * the end of the audio. I.e. this number of decoded samples must be - * discarded by the caller from the end of the stream to get the original - * audio without any trailing padding. - */ - int trailing_padding; - /** - * Audio only. Number of samples to skip after a discontinuity. - */ - int seek_preroll; -} AVCodecParameters; - -/** - * Iterate over all registered codecs. - * - * @param opaque a pointer where libavcodec will store the iteration state. Must - * point to NULL to start the iteration. - * - * @return the next registered codec or NULL when the iteration is - * finished - */ -const AVCodec *av_codec_iterate(void **opaque); - #if FF_API_NEXT /** * If c is NULL, returns the first registered codec, @@ -4246,27 +2827,6 @@ attribute_deprecated int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src); #endif -/** - * Allocate a new AVCodecParameters and set its fields to default values - * (unknown/invalid/0). The returned struct must be freed with - * avcodec_parameters_free(). - */ -AVCodecParameters *avcodec_parameters_alloc(void); - -/** - * Free an AVCodecParameters instance and everything associated with it and - * write NULL to the supplied pointer. - */ -void avcodec_parameters_free(AVCodecParameters **par); - -/** - * Copy the contents of src to dst. Any allocated fields in dst are freed and - * replaced with newly allocated duplicates of the corresponding fields in src. - * - * @return >= 0 on success, a negative AVERROR code on failure. - */ -int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src); - /** * Fill the parameters struct based on the values from the supplied codec * context. Any allocated fields in par are freed and replaced with duplicates @@ -4350,316 +2910,6 @@ int avcodec_close(AVCodecContext *avctx); */ void avsubtitle_free(AVSubtitle *sub); -/** - * @} - */ - -/** - * @addtogroup lavc_packet - * @{ - */ - -/** - * Allocate an AVPacket and set its fields to default values. The resulting - * struct must be freed using av_packet_free(). - * - * @return An AVPacket filled with default values or NULL on failure. - * - * @note this only allocates the AVPacket itself, not the data buffers. Those - * must be allocated through other means such as av_new_packet. - * - * @see av_new_packet - */ -AVPacket *av_packet_alloc(void); - -/** - * Create a new packet that references the same data as src. - * - * This is a shortcut for av_packet_alloc()+av_packet_ref(). - * - * @return newly created AVPacket on success, NULL on error. - * - * @see av_packet_alloc - * @see av_packet_ref - */ -AVPacket *av_packet_clone(const AVPacket *src); - -/** - * Free the packet, if the packet is reference counted, it will be - * unreferenced first. - * - * @param pkt packet to be freed. The pointer will be set to NULL. - * @note passing NULL is a no-op. - */ -void av_packet_free(AVPacket **pkt); - -/** - * Initialize optional fields of a packet with default values. - * - * Note, this does not touch the data and size members, which have to be - * initialized separately. - * - * @param pkt packet - */ -void av_init_packet(AVPacket *pkt); - -/** - * Allocate the payload of a packet and initialize its fields with - * default values. - * - * @param pkt packet - * @param size wanted payload size - * @return 0 if OK, AVERROR_xxx otherwise - */ -int av_new_packet(AVPacket *pkt, int size); - -/** - * Reduce packet size, correctly zeroing padding - * - * @param pkt packet - * @param size new size - */ -void av_shrink_packet(AVPacket *pkt, int size); - -/** - * Increase packet size, correctly zeroing padding - * - * @param pkt packet - * @param grow_by number of bytes by which to increase the size of the packet - */ -int av_grow_packet(AVPacket *pkt, int grow_by); - -/** - * Initialize a reference-counted packet from av_malloc()ed data. - * - * @param pkt packet to be initialized. This function will set the data, size, - * and buf fields, all others are left untouched. - * @param data Data allocated by av_malloc() to be used as packet data. If this - * function returns successfully, the data is owned by the underlying AVBuffer. - * The caller may not access the data through other means. - * @param size size of data in bytes, without the padding. I.e. the full buffer - * size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE. - * - * @return 0 on success, a negative AVERROR on error - */ -int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size); - -#if FF_API_AVPACKET_OLD_API -/** - * @warning This is a hack - the packet memory allocation stuff is broken. The - * packet is allocated if it was not really allocated. - * - * @deprecated Use av_packet_ref or av_packet_make_refcounted - */ -attribute_deprecated -int av_dup_packet(AVPacket *pkt); -/** - * Copy packet, including contents - * - * @return 0 on success, negative AVERROR on fail - * - * @deprecated Use av_packet_ref - */ -attribute_deprecated -int av_copy_packet(AVPacket *dst, const AVPacket *src); - -/** - * Copy packet side data - * - * @return 0 on success, negative AVERROR on fail - * - * @deprecated Use av_packet_copy_props - */ -attribute_deprecated -int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src); - -/** - * Free a packet. - * - * @deprecated Use av_packet_unref - * - * @param pkt packet to free - */ -attribute_deprecated -void av_free_packet(AVPacket *pkt); -#endif -/** - * Allocate new information of a packet. - * - * @param pkt packet - * @param type side information type - * @param size side information size - * @return pointer to fresh allocated data or NULL otherwise - */ -uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, - int size); - -/** - * Wrap an existing array as a packet side data. - * - * @param pkt packet - * @param type side information type - * @param data the side data array. It must be allocated with the av_malloc() - * family of functions. The ownership of the data is transferred to - * pkt. - * @param size side information size - * @return a non-negative number on success, a negative AVERROR code on - * failure. On failure, the packet is unchanged and the data remains - * owned by the caller. - */ -int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, - uint8_t *data, size_t size); - -/** - * Shrink the already allocated side data buffer - * - * @param pkt packet - * @param type side information type - * @param size new side information size - * @return 0 on success, < 0 on failure - */ -int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, - int size); - -/** - * Get side information from packet. - * - * @param pkt packet - * @param type desired side information type - * @param size pointer for side information size to store (optional) - * @return pointer to data if present or NULL otherwise - */ -uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, - int *size); - -#if FF_API_MERGE_SD_API -attribute_deprecated -int av_packet_merge_side_data(AVPacket *pkt); - -attribute_deprecated -int av_packet_split_side_data(AVPacket *pkt); -#endif - -const char *av_packet_side_data_name(enum AVPacketSideDataType type); - -/** - * Pack a dictionary for use in side_data. - * - * @param dict The dictionary to pack. - * @param size pointer to store the size of the returned data - * @return pointer to data if successful, NULL otherwise - */ -uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size); -/** - * Unpack a dictionary from side_data. - * - * @param data data from side_data - * @param size size of the data - * @param dict the metadata storage dictionary - * @return 0 on success, < 0 on failure - */ -int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict); - - -/** - * Convenience function to free all the side data stored. - * All the other fields stay untouched. - * - * @param pkt packet - */ -void av_packet_free_side_data(AVPacket *pkt); - -/** - * Setup a new reference to the data described by a given packet - * - * If src is reference-counted, setup dst as a new reference to the - * buffer in src. Otherwise allocate a new buffer in dst and copy the - * data from src into it. - * - * All the other fields are copied from src. - * - * @see av_packet_unref - * - * @param dst Destination packet - * @param src Source packet - * - * @return 0 on success, a negative AVERROR on error. - */ -int av_packet_ref(AVPacket *dst, const AVPacket *src); - -/** - * Wipe the packet. - * - * Unreference the buffer referenced by the packet and reset the - * remaining packet fields to their default values. - * - * @param pkt The packet to be unreferenced. - */ -void av_packet_unref(AVPacket *pkt); - -/** - * Move every field in src to dst and reset src. - * - * @see av_packet_unref - * - * @param src Source packet, will be reset - * @param dst Destination packet - */ -void av_packet_move_ref(AVPacket *dst, AVPacket *src); - -/** - * Copy only "properties" fields from src to dst. - * - * Properties for the purpose of this function are all the fields - * beside those related to the packet data (buf, data, size) - * - * @param dst Destination packet - * @param src Source packet - * - * @return 0 on success AVERROR on failure. - */ -int av_packet_copy_props(AVPacket *dst, const AVPacket *src); - -/** - * Ensure the data described by a given packet is reference counted. - * - * @note This function does not ensure that the reference will be writable. - * Use av_packet_make_writable instead for that purpose. - * - * @see av_packet_ref - * @see av_packet_make_writable - * - * @param pkt packet whose data should be made reference counted. - * - * @return 0 on success, a negative AVERROR on error. On failure, the - * packet is unchanged. - */ -int av_packet_make_refcounted(AVPacket *pkt); - -/** - * Create a writable reference for the data described by a given packet, - * avoiding data copy if possible. - * - * @param pkt Packet whose data should be made writable. - * - * @return 0 on success, a negative AVERROR on failure. On failure, the - * packet is unchanged. - */ -int av_packet_make_writable(AVPacket *pkt); - -/** - * Convert valid timing fields (timestamps / durations) in a packet from one - * timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be - * ignored. - * - * @param pkt packet on which the conversion will be performed - * @param tb_src source timebase, in which the timing fields in pkt are - * expressed - * @param tb_dst destination timebase, to which the timing fields will be - * converted - */ -void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst); - /** * @} */ @@ -4669,22 +2919,6 @@ void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst); * @{ */ -/** - * Find a registered decoder with a matching codec ID. - * - * @param id AVCodecID of the requested decoder - * @return A decoder if one was found, NULL otherwise. - */ -AVCodec *avcodec_find_decoder(enum AVCodecID id); - -/** - * Find a registered decoder with the specified name. - * - * @param name name of the requested decoder - * @return A decoder if one was found, NULL otherwise. - */ -AVCodec *avcodec_find_decoder_by_name(const char *name); - /** * The default callback for AVCodecContext.get_buffer2(). It is made public so * it can be called by custom get_buffer2() implementations for decoders without @@ -4846,7 +3080,7 @@ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, * If no subtitle could be decompressed, got_sub_ptr is zero. * Otherwise, the subtitle is stored in *sub. * Note that AV_CODEC_CAP_DR1 is not available for subtitle codecs. This is for - * simplicity, because the performance difference is expect to be negligible + * simplicity, because the performance difference is expected to be negligible * and reusing a get_buffer written for video codecs would probably perform badly * due to a potentially very different allocation pattern. * @@ -4862,7 +3096,7 @@ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, * before packets may be fed to the decoder. * * @param avctx the codec context - * @param[out] sub The Preallocated AVSubtitle in which the decoded subtitle will be stored, + * @param[out] sub The preallocated AVSubtitle in which the decoded subtitle will be stored, * must be freed with avsubtitle_free if *got_sub_ptr is set. * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero. * @param[in] avpkt The input AVPacket containing the input buffer. @@ -4979,7 +3213,7 @@ int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame); * AVERROR(EINVAL): codec not opened, refcounted_frames not set, it is a * decoder, or requires flush * AVERROR(ENOMEM): failed to add packet to internal queue, or similar - * other errors: legitimate decoding errors + * other errors: legitimate encoding errors */ int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame); @@ -4989,14 +3223,14 @@ int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame); * @param avctx codec context * @param avpkt This will be set to a reference-counted packet allocated by the * encoder. Note that the function will always call - * av_frame_unref(frame) before doing anything else. + * av_packet_unref(avpkt) before doing anything else. * @return 0 on success, otherwise negative error code: * AVERROR(EAGAIN): output is not available in the current state - user * must try to send input * AVERROR_EOF: the encoder has been fully flushed, and there will be * no more output packets - * AVERROR(EINVAL): codec not opened, or it is an encoder - * other errors: legitimate decoding errors + * AVERROR(EINVAL): codec not opened, or it is a decoder + * other errors: legitimate encoding errors */ int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt); @@ -5374,22 +3608,6 @@ void av_parser_close(AVCodecParserContext *s); * @{ */ -/** - * Find a registered encoder with a matching codec ID. - * - * @param id AVCodecID of the requested encoder - * @return An encoder if one was found, NULL otherwise. - */ -AVCodec *avcodec_find_encoder(enum AVCodecID id); - -/** - * Find a registered encoder with the specified name. - * - * @param name name of the requested encoder - * @return An encoder if one was found, NULL otherwise. - */ -AVCodec *avcodec_find_encoder_by_name(const char *name); - /** * Encode a frame of audio. * @@ -5693,13 +3911,21 @@ int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, int buf_size, int align); /** - * Reset the internal decoder state / flush internal buffers. Should be called + * Reset the internal codec state / flush internal buffers. Should be called * e.g. when seeking or when switching to a different stream. * - * @note when refcounted frames are not used (i.e. avctx->refcounted_frames is 0), - * this invalidates the frames previously returned from the decoder. When - * refcounted frames are used, the decoder just releases any references it might - * keep internally, but the caller's reference remains valid. + * @note for decoders, when refcounted frames are not used + * (i.e. avctx->refcounted_frames is 0), this invalidates the frames previously + * returned from the decoder. When refcounted frames are used, the decoder just + * releases any references it might keep internally, but the caller's reference + * remains valid. + * + * @note for encoders, this function will only do something if the encoder + * declares support for AV_CODEC_CAP_ENCODER_FLUSH. When called, the encoder + * will drain any remaining packets, and can then be re-used for a different + * stream (as opposed to sending a null frame which will leave the encoder + * in a permanent EOF state after draining). This can be desirable if the + * cost of tearing down and replacing the encoder instance is high. */ void avcodec_flush_buffers(AVCodecContext *avctx); @@ -5757,106 +3983,7 @@ typedef struct AVBitStreamFilterContext { */ char *args; } AVBitStreamFilterContext; -#endif -typedef struct AVBSFInternal AVBSFInternal; - -/** - * The bitstream filter state. - * - * This struct must be allocated with av_bsf_alloc() and freed with - * av_bsf_free(). - * - * The fields in the struct will only be changed (by the caller or by the - * filter) as described in their documentation, and are to be considered - * immutable otherwise. - */ -typedef struct AVBSFContext { - /** - * A class for logging and AVOptions - */ - const AVClass *av_class; - - /** - * The bitstream filter this context is an instance of. - */ - const struct AVBitStreamFilter *filter; - - /** - * Opaque libavcodec internal data. Must not be touched by the caller in any - * way. - */ - AVBSFInternal *internal; - - /** - * Opaque filter-specific private data. If filter->priv_class is non-NULL, - * this is an AVOptions-enabled struct. - */ - void *priv_data; - - /** - * Parameters of the input stream. This field is allocated in - * av_bsf_alloc(), it needs to be filled by the caller before - * av_bsf_init(). - */ - AVCodecParameters *par_in; - - /** - * Parameters of the output stream. This field is allocated in - * av_bsf_alloc(), it is set by the filter in av_bsf_init(). - */ - AVCodecParameters *par_out; - - /** - * The timebase used for the timestamps of the input packets. Set by the - * caller before av_bsf_init(). - */ - AVRational time_base_in; - - /** - * The timebase used for the timestamps of the output packets. Set by the - * filter in av_bsf_init(). - */ - AVRational time_base_out; -} AVBSFContext; - -typedef struct AVBitStreamFilter { - const char *name; - - /** - * A list of codec ids supported by the filter, terminated by - * AV_CODEC_ID_NONE. - * May be NULL, in that case the bitstream filter works with any codec id. - */ - const enum AVCodecID *codec_ids; - - /** - * A class for the private data, used to declare bitstream filter private - * AVOptions. This field is NULL for bitstream filters that do not declare - * any options. - * - * If this field is non-NULL, the first member of the filter private data - * must be a pointer to AVClass, which will be set by libavcodec generic - * code to this class. - */ - const AVClass *priv_class; - - /***************************************************************** - * No fields below this line are part of the public API. They - * may not be used outside of libavcodec and can be changed and - * removed at will. - * New public fields should be added right above. - ***************************************************************** - */ - - int priv_data_size; - int (*init)(AVBSFContext *ctx); - int (*filter)(AVBSFContext *ctx, AVPacket *pkt); - void (*close)(AVBSFContext *ctx); - void (*flush)(AVBSFContext *ctx); -} AVBitStreamFilter; - -#if FF_API_OLD_BSF /** * @deprecated the old bitstream filtering API (using AVBitStreamFilterContext) * is deprecated. Use the new bitstream filtering API (using AVBSFContext). @@ -5896,194 +4023,11 @@ attribute_deprecated const AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f); #endif -/** - * @return a bitstream filter with the specified name or NULL if no such - * bitstream filter exists. - */ -const AVBitStreamFilter *av_bsf_get_by_name(const char *name); - -/** - * Iterate over all registered bitstream filters. - * - * @param opaque a pointer where libavcodec will store the iteration state. Must - * point to NULL to start the iteration. - * - * @return the next registered bitstream filter or NULL when the iteration is - * finished - */ -const AVBitStreamFilter *av_bsf_iterate(void **opaque); #if FF_API_NEXT attribute_deprecated const AVBitStreamFilter *av_bsf_next(void **opaque); #endif -/** - * Allocate a context for a given bitstream filter. The caller must fill in the - * context parameters as described in the documentation and then call - * av_bsf_init() before sending any data to the filter. - * - * @param filter the filter for which to allocate an instance. - * @param ctx a pointer into which the pointer to the newly-allocated context - * will be written. It must be freed with av_bsf_free() after the - * filtering is done. - * - * @return 0 on success, a negative AVERROR code on failure - */ -int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx); - -/** - * Prepare the filter for use, after all the parameters and options have been - * set. - */ -int av_bsf_init(AVBSFContext *ctx); - -/** - * Submit a packet for filtering. - * - * After sending each packet, the filter must be completely drained by calling - * av_bsf_receive_packet() repeatedly until it returns AVERROR(EAGAIN) or - * AVERROR_EOF. - * - * @param pkt the packet to filter. The bitstream filter will take ownership of - * the packet and reset the contents of pkt. pkt is not touched if an error occurs. - * This parameter may be NULL, which signals the end of the stream (i.e. no more - * packets will be sent). That will cause the filter to output any packets it - * may have buffered internally. - * - * @return 0 on success, a negative AVERROR on error. - */ -int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); - -/** - * Retrieve a filtered packet. - * - * @param[out] pkt this struct will be filled with the contents of the filtered - * packet. It is owned by the caller and must be freed using - * av_packet_unref() when it is no longer needed. - * This parameter should be "clean" (i.e. freshly allocated - * with av_packet_alloc() or unreffed with av_packet_unref()) - * when this function is called. If this function returns - * successfully, the contents of pkt will be completely - * overwritten by the returned data. On failure, pkt is not - * touched. - * - * @return 0 on success. AVERROR(EAGAIN) if more packets need to be sent to the - * filter (using av_bsf_send_packet()) to get more output. AVERROR_EOF if there - * will be no further output from the filter. Another negative AVERROR value if - * an error occurs. - * - * @note one input packet may result in several output packets, so after sending - * a packet with av_bsf_send_packet(), this function needs to be called - * repeatedly until it stops returning 0. It is also possible for a filter to - * output fewer packets than were sent to it, so this function may return - * AVERROR(EAGAIN) immediately after a successful av_bsf_send_packet() call. - */ -int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); - -/** - * Reset the internal bitstream filter state / flush internal buffers. - */ -void av_bsf_flush(AVBSFContext *ctx); - -/** - * Free a bitstream filter context and everything associated with it; write NULL - * into the supplied pointer. - */ -void av_bsf_free(AVBSFContext **ctx); - -/** - * Get the AVClass for AVBSFContext. It can be used in combination with - * AV_OPT_SEARCH_FAKE_OBJ for examining options. - * - * @see av_opt_find(). - */ -const AVClass *av_bsf_get_class(void); - -/** - * Structure for chain/list of bitstream filters. - * Empty list can be allocated by av_bsf_list_alloc(). - */ -typedef struct AVBSFList AVBSFList; - -/** - * Allocate empty list of bitstream filters. - * The list must be later freed by av_bsf_list_free() - * or finalized by av_bsf_list_finalize(). - * - * @return Pointer to @ref AVBSFList on success, NULL in case of failure - */ -AVBSFList *av_bsf_list_alloc(void); - -/** - * Free list of bitstream filters. - * - * @param lst Pointer to pointer returned by av_bsf_list_alloc() - */ -void av_bsf_list_free(AVBSFList **lst); - -/** - * Append bitstream filter to the list of bitstream filters. - * - * @param lst List to append to - * @param bsf Filter context to be appended - * - * @return >=0 on success, negative AVERROR in case of failure - */ -int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf); - -/** - * Construct new bitstream filter context given it's name and options - * and append it to the list of bitstream filters. - * - * @param lst List to append to - * @param bsf_name Name of the bitstream filter - * @param options Options for the bitstream filter, can be set to NULL - * - * @return >=0 on success, negative AVERROR in case of failure - */ -int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options); -/** - * Finalize list of bitstream filters. - * - * This function will transform @ref AVBSFList to single @ref AVBSFContext, - * so the whole chain of bitstream filters can be treated as single filter - * freshly allocated by av_bsf_alloc(). - * If the call is successful, @ref AVBSFList structure is freed and lst - * will be set to NULL. In case of failure, caller is responsible for - * freeing the structure by av_bsf_list_free() - * - * @param lst Filter list structure to be transformed - * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure - * representing the chain of bitstream filters - * - * @return >=0 on success, negative AVERROR in case of failure - */ -int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf); - -/** - * Parse string describing list of bitstream filters and create single - * @ref AVBSFContext describing the whole chain of bitstream filters. - * Resulting @ref AVBSFContext can be treated as any other @ref AVBSFContext freshly - * allocated by av_bsf_alloc(). - * - * @param str String describing chain of bitstream filters in format - * `bsf1[=opt1=val1:opt2=val2][,bsf2]` - * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure - * representing the chain of bitstream filters - * - * @return >=0 on success, negative AVERROR in case of failure - */ -int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf); - -/** - * Get null/pass-through bitstream filter. - * - * @param[out] bsf Pointer to be set to new instance of pass-through bitstream filter - * - * @return - */ -int av_bsf_get_null_filter(AVBSFContext **bsf); - /* memory */ /** @@ -6174,53 +4118,12 @@ attribute_deprecated int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)); #endif -/** - * Get the type of the given codec. - */ -enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); - -/** - * Get the name of a codec. - * @return a static string identifying the codec; never NULL - */ -const char *avcodec_get_name(enum AVCodecID id); - /** * @return a positive value if s is open (i.e. avcodec_open2() was called on it * with no corresponding avcodec_close()), 0 otherwise. */ int avcodec_is_open(AVCodecContext *s); -/** - * @return a non-zero number if codec is an encoder, zero otherwise - */ -int av_codec_is_encoder(const AVCodec *codec); - -/** - * @return a non-zero number if codec is a decoder, zero otherwise - */ -int av_codec_is_decoder(const AVCodec *codec); - -/** - * @return descriptor for given codec ID or NULL if no descriptor exists. - */ -const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id); - -/** - * Iterate over all codec descriptors known to libavcodec. - * - * @param prev previous descriptor. NULL to get the first descriptor. - * - * @return next descriptor or NULL after the last descriptor - */ -const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev); - -/** - * @return codec descriptor with the given name or NULL if no such descriptor - * exists. - */ -const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name); - /** * Allocate a CPB properties structure and initialize its fields to default * values. diff --git a/ThirdParty/ffmpeg/include/libavcodec/avdct.h b/ThirdParty/ffmpeg/include/libavcodec/avdct.h index 272422e44..6411fab6f 100644 --- a/ThirdParty/ffmpeg/include/libavcodec/avdct.h +++ b/ThirdParty/ffmpeg/include/libavcodec/avdct.h @@ -67,6 +67,10 @@ typedef struct AVDCT { ptrdiff_t line_size); int bits_per_sample; + + void (*get_pixels_unaligned)(int16_t *block /* align 16 */, + const uint8_t *pixels, + ptrdiff_t line_size); } AVDCT; /** diff --git a/ThirdParty/ffmpeg/include/libavcodec/bsf.h b/ThirdParty/ffmpeg/include/libavcodec/bsf.h new file mode 100644 index 000000000..7ed51677e --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/bsf.h @@ -0,0 +1,325 @@ +/* + * Bitstream filters public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_BSF_H +#define AVCODEC_BSF_H + +#include "libavutil/dict.h" +#include "libavutil/log.h" +#include "libavutil/rational.h" + +#include "codec_id.h" +#include "codec_par.h" +#include "packet.h" + +/** + * @addtogroup lavc_core + * @{ + */ + +typedef struct AVBSFInternal AVBSFInternal; + +/** + * The bitstream filter state. + * + * This struct must be allocated with av_bsf_alloc() and freed with + * av_bsf_free(). + * + * The fields in the struct will only be changed (by the caller or by the + * filter) as described in their documentation, and are to be considered + * immutable otherwise. + */ +typedef struct AVBSFContext { + /** + * A class for logging and AVOptions + */ + const AVClass *av_class; + + /** + * The bitstream filter this context is an instance of. + */ + const struct AVBitStreamFilter *filter; + + /** + * Opaque libavcodec internal data. Must not be touched by the caller in any + * way. + */ + AVBSFInternal *internal; + + /** + * Opaque filter-specific private data. If filter->priv_class is non-NULL, + * this is an AVOptions-enabled struct. + */ + void *priv_data; + + /** + * Parameters of the input stream. This field is allocated in + * av_bsf_alloc(), it needs to be filled by the caller before + * av_bsf_init(). + */ + AVCodecParameters *par_in; + + /** + * Parameters of the output stream. This field is allocated in + * av_bsf_alloc(), it is set by the filter in av_bsf_init(). + */ + AVCodecParameters *par_out; + + /** + * The timebase used for the timestamps of the input packets. Set by the + * caller before av_bsf_init(). + */ + AVRational time_base_in; + + /** + * The timebase used for the timestamps of the output packets. Set by the + * filter in av_bsf_init(). + */ + AVRational time_base_out; +} AVBSFContext; + +typedef struct AVBitStreamFilter { + const char *name; + + /** + * A list of codec ids supported by the filter, terminated by + * AV_CODEC_ID_NONE. + * May be NULL, in that case the bitstream filter works with any codec id. + */ + const enum AVCodecID *codec_ids; + + /** + * A class for the private data, used to declare bitstream filter private + * AVOptions. This field is NULL for bitstream filters that do not declare + * any options. + * + * If this field is non-NULL, the first member of the filter private data + * must be a pointer to AVClass, which will be set by libavcodec generic + * code to this class. + */ + const AVClass *priv_class; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavcodec and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + + int priv_data_size; + int (*init)(AVBSFContext *ctx); + int (*filter)(AVBSFContext *ctx, AVPacket *pkt); + void (*close)(AVBSFContext *ctx); + void (*flush)(AVBSFContext *ctx); +} AVBitStreamFilter; + +/** + * @return a bitstream filter with the specified name or NULL if no such + * bitstream filter exists. + */ +const AVBitStreamFilter *av_bsf_get_by_name(const char *name); + +/** + * Iterate over all registered bitstream filters. + * + * @param opaque a pointer where libavcodec will store the iteration state. Must + * point to NULL to start the iteration. + * + * @return the next registered bitstream filter or NULL when the iteration is + * finished + */ +const AVBitStreamFilter *av_bsf_iterate(void **opaque); + +/** + * Allocate a context for a given bitstream filter. The caller must fill in the + * context parameters as described in the documentation and then call + * av_bsf_init() before sending any data to the filter. + * + * @param filter the filter for which to allocate an instance. + * @param ctx a pointer into which the pointer to the newly-allocated context + * will be written. It must be freed with av_bsf_free() after the + * filtering is done. + * + * @return 0 on success, a negative AVERROR code on failure + */ +int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx); + +/** + * Prepare the filter for use, after all the parameters and options have been + * set. + */ +int av_bsf_init(AVBSFContext *ctx); + +/** + * Submit a packet for filtering. + * + * After sending each packet, the filter must be completely drained by calling + * av_bsf_receive_packet() repeatedly until it returns AVERROR(EAGAIN) or + * AVERROR_EOF. + * + * @param pkt the packet to filter. The bitstream filter will take ownership of + * the packet and reset the contents of pkt. pkt is not touched if an error occurs. + * If pkt is empty (i.e. NULL, or pkt->data is NULL and pkt->side_data_elems zero), + * it signals the end of the stream (i.e. no more non-empty packets will be sent; + * sending more empty packets does nothing) and will cause the filter to output + * any packets it may have buffered internally. + * + * @return 0 on success. AVERROR(EAGAIN) if packets need to be retrieved from the + * filter (using av_bsf_receive_packet()) before new input can be consumed. Another + * negative AVERROR value if an error occurs. + */ +int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); + +/** + * Retrieve a filtered packet. + * + * @param[out] pkt this struct will be filled with the contents of the filtered + * packet. It is owned by the caller and must be freed using + * av_packet_unref() when it is no longer needed. + * This parameter should be "clean" (i.e. freshly allocated + * with av_packet_alloc() or unreffed with av_packet_unref()) + * when this function is called. If this function returns + * successfully, the contents of pkt will be completely + * overwritten by the returned data. On failure, pkt is not + * touched. + * + * @return 0 on success. AVERROR(EAGAIN) if more packets need to be sent to the + * filter (using av_bsf_send_packet()) to get more output. AVERROR_EOF if there + * will be no further output from the filter. Another negative AVERROR value if + * an error occurs. + * + * @note one input packet may result in several output packets, so after sending + * a packet with av_bsf_send_packet(), this function needs to be called + * repeatedly until it stops returning 0. It is also possible for a filter to + * output fewer packets than were sent to it, so this function may return + * AVERROR(EAGAIN) immediately after a successful av_bsf_send_packet() call. + */ +int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); + +/** + * Reset the internal bitstream filter state / flush internal buffers. + */ +void av_bsf_flush(AVBSFContext *ctx); + +/** + * Free a bitstream filter context and everything associated with it; write NULL + * into the supplied pointer. + */ +void av_bsf_free(AVBSFContext **ctx); + +/** + * Get the AVClass for AVBSFContext. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *av_bsf_get_class(void); + +/** + * Structure for chain/list of bitstream filters. + * Empty list can be allocated by av_bsf_list_alloc(). + */ +typedef struct AVBSFList AVBSFList; + +/** + * Allocate empty list of bitstream filters. + * The list must be later freed by av_bsf_list_free() + * or finalized by av_bsf_list_finalize(). + * + * @return Pointer to @ref AVBSFList on success, NULL in case of failure + */ +AVBSFList *av_bsf_list_alloc(void); + +/** + * Free list of bitstream filters. + * + * @param lst Pointer to pointer returned by av_bsf_list_alloc() + */ +void av_bsf_list_free(AVBSFList **lst); + +/** + * Append bitstream filter to the list of bitstream filters. + * + * @param lst List to append to + * @param bsf Filter context to be appended + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf); + +/** + * Construct new bitstream filter context given it's name and options + * and append it to the list of bitstream filters. + * + * @param lst List to append to + * @param bsf_name Name of the bitstream filter + * @param options Options for the bitstream filter, can be set to NULL + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options); +/** + * Finalize list of bitstream filters. + * + * This function will transform @ref AVBSFList to single @ref AVBSFContext, + * so the whole chain of bitstream filters can be treated as single filter + * freshly allocated by av_bsf_alloc(). + * If the call is successful, @ref AVBSFList structure is freed and lst + * will be set to NULL. In case of failure, caller is responsible for + * freeing the structure by av_bsf_list_free() + * + * @param lst Filter list structure to be transformed + * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure + * representing the chain of bitstream filters + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf); + +/** + * Parse string describing list of bitstream filters and create single + * @ref AVBSFContext describing the whole chain of bitstream filters. + * Resulting @ref AVBSFContext can be treated as any other @ref AVBSFContext freshly + * allocated by av_bsf_alloc(). + * + * @param str String describing chain of bitstream filters in format + * `bsf1[=opt1=val1:opt2=val2][,bsf2]` + * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure + * representing the chain of bitstream filters + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf); + +/** + * Get null/pass-through bitstream filter. + * + * @param[out] bsf Pointer to be set to new instance of pass-through bitstream filter + * + * @return + */ +int av_bsf_get_null_filter(AVBSFContext **bsf); + +/** + * @} + */ + +#endif // AVCODEC_BSF_H diff --git a/ThirdParty/ffmpeg/include/libavcodec/codec.h b/ThirdParty/ffmpeg/include/libavcodec/codec.h new file mode 100644 index 000000000..1fda619ee --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/codec.h @@ -0,0 +1,462 @@ +/* + * AVCodec public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_CODEC_H +#define AVCODEC_CODEC_H + +#include + +#include "libavutil/avutil.h" +#include "libavutil/hwcontext.h" +#include "libavutil/log.h" +#include "libavutil/pixfmt.h" +#include "libavutil/rational.h" +#include "libavutil/samplefmt.h" + +#include "libavcodec/codec_id.h" +#include "libavcodec/version.h" + +/** + * @addtogroup lavc_core + * @{ + */ + +/** + * Decoder can use draw_horiz_band callback. + */ +#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0) +/** + * Codec uses get_buffer() for allocating buffers and supports custom allocators. + * If not set, it might not use get_buffer() at all or use operations that + * assume the buffer was allocated by avcodec_default_get_buffer. + */ +#define AV_CODEC_CAP_DR1 (1 << 1) +#define AV_CODEC_CAP_TRUNCATED (1 << 3) +/** + * Encoder or decoder requires flushing with NULL input at the end in order to + * give the complete and correct output. + * + * NOTE: If this flag is not set, the codec is guaranteed to never be fed with + * with NULL data. The user can still send NULL data to the public encode + * or decode function, but libavcodec will not pass it along to the codec + * unless this flag is set. + * + * Decoders: + * The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, + * avpkt->size=0 at the end to get the delayed data until the decoder no longer + * returns frames. + * + * Encoders: + * The encoder needs to be fed with NULL data at the end of encoding until the + * encoder no longer returns data. + * + * NOTE: For encoders implementing the AVCodec.encode2() function, setting this + * flag also means that the encoder must set the pts and duration for + * each output packet. If this flag is not set, the pts and duration will + * be determined by libavcodec from the input frame. + */ +#define AV_CODEC_CAP_DELAY (1 << 5) +/** + * Codec can be fed a final frame with a smaller size. + * This can be used to prevent truncation of the last audio samples. + */ +#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6) + +/** + * Codec can output multiple frames per AVPacket + * Normally demuxers return one frame at a time, demuxers which do not do + * are connected to a parser to split what they return into proper frames. + * This flag is reserved to the very rare category of codecs which have a + * bitstream that cannot be split into frames without timeconsuming + * operations like full decoding. Demuxers carrying such bitstreams thus + * may return multiple frames in a packet. This has many disadvantages like + * prohibiting stream copy in many cases thus it should only be considered + * as a last resort. + */ +#define AV_CODEC_CAP_SUBFRAMES (1 << 8) +/** + * Codec is experimental and is thus avoided in favor of non experimental + * encoders + */ +#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9) +/** + * Codec should fill in channel configuration and samplerate instead of container + */ +#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10) +/** + * Codec supports frame-level multithreading. + */ +#define AV_CODEC_CAP_FRAME_THREADS (1 << 12) +/** + * Codec supports slice-based (or partition-based) multithreading. + */ +#define AV_CODEC_CAP_SLICE_THREADS (1 << 13) +/** + * Codec supports changed parameters at any point. + */ +#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14) +/** + * Codec supports avctx->thread_count == 0 (auto). + */ +#define AV_CODEC_CAP_AUTO_THREADS (1 << 15) +/** + * Audio encoder supports receiving a different number of samples in each call. + */ +#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16) +/** + * Decoder is not a preferred choice for probing. + * This indicates that the decoder is not a good choice for probing. + * It could for example be an expensive to spin up hardware decoder, + * or it could simply not provide a lot of useful information about + * the stream. + * A decoder marked with this flag should only be used as last resort + * choice for probing. + */ +#define AV_CODEC_CAP_AVOID_PROBING (1 << 17) + +#if FF_API_UNUSED_CODEC_CAPS +/** + * Deprecated and unused. Use AVCodecDescriptor.props instead + */ +#define AV_CODEC_CAP_INTRA_ONLY 0x40000000 +/** + * Deprecated and unused. Use AVCodecDescriptor.props instead + */ +#define AV_CODEC_CAP_LOSSLESS 0x80000000 +#endif + +/** + * Codec is backed by a hardware implementation. Typically used to + * identify a non-hwaccel hardware decoder. For information about hwaccels, use + * avcodec_get_hw_config() instead. + */ +#define AV_CODEC_CAP_HARDWARE (1 << 18) + +/** + * Codec is potentially backed by a hardware implementation, but not + * necessarily. This is used instead of AV_CODEC_CAP_HARDWARE, if the + * implementation provides some sort of internal fallback. + */ +#define AV_CODEC_CAP_HYBRID (1 << 19) + +/** + * This codec takes the reordered_opaque field from input AVFrames + * and returns it in the corresponding field in AVCodecContext after + * encoding. + */ +#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20) + +/** + * This encoder can be flushed using avcodec_flush_buffers(). If this flag is + * not set, the encoder must be closed and reopened to ensure that no frames + * remain pending. + */ +#define AV_CODEC_CAP_ENCODER_FLUSH (1 << 21) + +/** + * AVProfile. + */ +typedef struct AVProfile { + int profile; + const char *name; ///< short name for the profile +} AVProfile; + +typedef struct AVCodecDefault AVCodecDefault; + +struct AVCodecContext; +struct AVSubtitle; +struct AVPacket; + +/** + * AVCodec. + */ +typedef struct AVCodec { + /** + * Name of the codec implementation. + * The name is globally unique among encoders and among decoders (but an + * encoder and a decoder can share the same name). + * This is the primary way to find a codec from the user perspective. + */ + const char *name; + /** + * Descriptive name for the codec, meant to be more human readable than name. + * You should use the NULL_IF_CONFIG_SMALL() macro to define it. + */ + const char *long_name; + enum AVMediaType type; + enum AVCodecID id; + /** + * Codec capabilities. + * see AV_CODEC_CAP_* + */ + int capabilities; + const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} + const enum AVPixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 + const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 + const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 + const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 + uint8_t max_lowres; ///< maximum value for lowres supported by the decoder + const AVClass *priv_class; ///< AVClass for the private context + const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} + + /** + * Group name of the codec implementation. + * This is a short symbolic name of the wrapper backing this codec. A + * wrapper uses some kind of external implementation for the codec, such + * as an external library, or a codec implementation provided by the OS or + * the hardware. + * If this field is NULL, this is a builtin, libavcodec native codec. + * If non-NULL, this will be the suffix in AVCodec.name in most cases + * (usually AVCodec.name will be of the form "_"). + */ + const char *wrapper_name; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavcodec and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + int priv_data_size; + struct AVCodec *next; + /** + * @name Frame-level threading support functions + * @{ + */ + /** + * Copy necessary context variables from a previous thread context to the current one. + * If not defined, the next thread will start automatically; otherwise, the codec + * must call ff_thread_finish_setup(). + * + * dst and src will (rarely) point to the same context, in which case memcpy should be skipped. + */ + int (*update_thread_context)(struct AVCodecContext *dst, const struct AVCodecContext *src); + /** @} */ + + /** + * Private codec-specific defaults. + */ + const AVCodecDefault *defaults; + + /** + * Initialize codec static data, called from avcodec_register(). + * + * This is not intended for time consuming operations as it is + * run for every codec regardless of that codec being used. + */ + void (*init_static_data)(struct AVCodec *codec); + + int (*init)(struct AVCodecContext *); + int (*encode_sub)(struct AVCodecContext *, uint8_t *buf, int buf_size, + const struct AVSubtitle *sub); + /** + * Encode data to an AVPacket. + * + * @param avctx codec context + * @param avpkt output AVPacket (may contain a user-provided buffer) + * @param[in] frame AVFrame containing the raw data to be encoded + * @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a + * non-empty packet was returned in avpkt. + * @return 0 on success, negative error code on failure + */ + int (*encode2)(struct AVCodecContext *avctx, struct AVPacket *avpkt, + const struct AVFrame *frame, int *got_packet_ptr); + int (*decode)(struct AVCodecContext *, void *outdata, int *outdata_size, struct AVPacket *avpkt); + int (*close)(struct AVCodecContext *); + /** + * Encode API with decoupled packet/frame dataflow. The API is the + * same as the avcodec_ prefixed APIs (avcodec_send_frame() etc.), except + * that: + * - never called if the codec is closed or the wrong type, + * - if AV_CODEC_CAP_DELAY is not set, drain frames are never sent, + * - only one drain frame is ever passed down, + */ + int (*send_frame)(struct AVCodecContext *avctx, const struct AVFrame *frame); + int (*receive_packet)(struct AVCodecContext *avctx, struct AVPacket *avpkt); + + /** + * Decode API with decoupled packet/frame dataflow. This function is called + * to get one output frame. It should call ff_decode_get_packet() to obtain + * input data. + */ + int (*receive_frame)(struct AVCodecContext *avctx, struct AVFrame *frame); + /** + * Flush buffers. + * Will be called when seeking + */ + void (*flush)(struct AVCodecContext *); + /** + * Internal codec capabilities. + * See FF_CODEC_CAP_* in internal.h + */ + int caps_internal; + + /** + * Decoding only, a comma-separated list of bitstream filters to apply to + * packets before decoding. + */ + const char *bsfs; + + /** + * Array of pointers to hardware configurations supported by the codec, + * or NULL if no hardware supported. The array is terminated by a NULL + * pointer. + * + * The user can only access this field via avcodec_get_hw_config(). + */ + const struct AVCodecHWConfigInternal **hw_configs; + + /** + * List of supported codec_tags, terminated by FF_CODEC_TAGS_END. + */ + const uint32_t *codec_tags; +} AVCodec; + +/** + * Iterate over all registered codecs. + * + * @param opaque a pointer where libavcodec will store the iteration state. Must + * point to NULL to start the iteration. + * + * @return the next registered codec or NULL when the iteration is + * finished + */ +const AVCodec *av_codec_iterate(void **opaque); + +/** + * Find a registered decoder with a matching codec ID. + * + * @param id AVCodecID of the requested decoder + * @return A decoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_decoder(enum AVCodecID id); + +/** + * Find a registered decoder with the specified name. + * + * @param name name of the requested decoder + * @return A decoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_decoder_by_name(const char *name); + +/** + * Find a registered encoder with a matching codec ID. + * + * @param id AVCodecID of the requested encoder + * @return An encoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_encoder(enum AVCodecID id); + +/** + * Find a registered encoder with the specified name. + * + * @param name name of the requested encoder + * @return An encoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_encoder_by_name(const char *name); +/** + * @return a non-zero number if codec is an encoder, zero otherwise + */ +int av_codec_is_encoder(const AVCodec *codec); + +/** + * @return a non-zero number if codec is a decoder, zero otherwise + */ +int av_codec_is_decoder(const AVCodec *codec); + +enum { + /** + * The codec supports this format via the hw_device_ctx interface. + * + * When selecting this format, AVCodecContext.hw_device_ctx should + * have been set to a device of the specified type before calling + * avcodec_open2(). + */ + AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 0x01, + /** + * The codec supports this format via the hw_frames_ctx interface. + * + * When selecting this format for a decoder, + * AVCodecContext.hw_frames_ctx should be set to a suitable frames + * context inside the get_format() callback. The frames context + * must have been created on a device of the specified type. + * + * When selecting this format for an encoder, + * AVCodecContext.hw_frames_ctx should be set to the context which + * will be used for the input frames before calling avcodec_open2(). + */ + AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 0x02, + /** + * The codec supports this format by some internal method. + * + * This format can be selected without any additional configuration - + * no device or frames context is required. + */ + AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 0x04, + /** + * The codec supports this format by some ad-hoc method. + * + * Additional settings and/or function calls are required. See the + * codec-specific documentation for details. (Methods requiring + * this sort of configuration are deprecated and others should be + * used in preference.) + */ + AV_CODEC_HW_CONFIG_METHOD_AD_HOC = 0x08, +}; + +typedef struct AVCodecHWConfig { + /** + * For decoders, a hardware pixel format which that decoder may be + * able to decode to if suitable hardware is available. + * + * For encoders, a pixel format which the encoder may be able to + * accept. If set to AV_PIX_FMT_NONE, this applies to all pixel + * formats supported by the codec. + */ + enum AVPixelFormat pix_fmt; + /** + * Bit set of AV_CODEC_HW_CONFIG_METHOD_* flags, describing the possible + * setup methods which can be used with this configuration. + */ + int methods; + /** + * The device type associated with the configuration. + * + * Must be set for AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX and + * AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, otherwise unused. + */ + enum AVHWDeviceType device_type; +} AVCodecHWConfig; + +/** + * Retrieve supported hardware configurations for a codec. + * + * Values of index from zero to some maximum return the indexed configuration + * descriptor; all other values return NULL. If the codec does not support + * any hardware configurations then it will always return NULL. + */ +const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *codec, int index); + +/** + * @} + */ + +#endif /* AVCODEC_CODEC_H */ diff --git a/ThirdParty/ffmpeg/include/libavcodec/codec_desc.h b/ThirdParty/ffmpeg/include/libavcodec/codec_desc.h new file mode 100644 index 000000000..126b52df4 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/codec_desc.h @@ -0,0 +1,128 @@ +/* + * Codec descriptors public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_CODEC_DESC_H +#define AVCODEC_CODEC_DESC_H + +#include "libavutil/avutil.h" + +#include "codec_id.h" + +/** + * @addtogroup lavc_core + * @{ + */ + +/** + * This struct describes the properties of a single codec described by an + * AVCodecID. + * @see avcodec_descriptor_get() + */ +typedef struct AVCodecDescriptor { + enum AVCodecID id; + enum AVMediaType type; + /** + * Name of the codec described by this descriptor. It is non-empty and + * unique for each codec descriptor. It should contain alphanumeric + * characters and '_' only. + */ + const char *name; + /** + * A more descriptive name for this codec. May be NULL. + */ + const char *long_name; + /** + * Codec properties, a combination of AV_CODEC_PROP_* flags. + */ + int props; + /** + * MIME type(s) associated with the codec. + * May be NULL; if not, a NULL-terminated array of MIME types. + * The first item is always non-NULL and is the preferred MIME type. + */ + const char *const *mime_types; + /** + * If non-NULL, an array of profiles recognized for this codec. + * Terminated with FF_PROFILE_UNKNOWN. + */ + const struct AVProfile *profiles; +} AVCodecDescriptor; + +/** + * Codec uses only intra compression. + * Video and audio codecs only. + */ +#define AV_CODEC_PROP_INTRA_ONLY (1 << 0) +/** + * Codec supports lossy compression. Audio and video codecs only. + * @note a codec may support both lossy and lossless + * compression modes + */ +#define AV_CODEC_PROP_LOSSY (1 << 1) +/** + * Codec supports lossless compression. Audio and video codecs only. + */ +#define AV_CODEC_PROP_LOSSLESS (1 << 2) +/** + * Codec supports frame reordering. That is, the coded order (the order in which + * the encoded packets are output by the encoders / stored / input to the + * decoders) may be different from the presentation order of the corresponding + * frames. + * + * For codecs that do not have this property set, PTS and DTS should always be + * equal. + */ +#define AV_CODEC_PROP_REORDER (1 << 3) +/** + * Subtitle codec is bitmap based + * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field. + */ +#define AV_CODEC_PROP_BITMAP_SUB (1 << 16) +/** + * Subtitle codec is text based. + * Decoded AVSubtitle data can be read from the AVSubtitleRect->ass field. + */ +#define AV_CODEC_PROP_TEXT_SUB (1 << 17) + +/** + * @return descriptor for given codec ID or NULL if no descriptor exists. + */ +const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id); + +/** + * Iterate over all codec descriptors known to libavcodec. + * + * @param prev previous descriptor. NULL to get the first descriptor. + * + * @return next descriptor or NULL after the last descriptor + */ +const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev); + +/** + * @return codec descriptor with the given name or NULL if no such descriptor + * exists. + */ +const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name); + +/** + * @} + */ + +#endif // AVCODEC_CODEC_DESC_H diff --git a/ThirdParty/ffmpeg/include/libavcodec/codec_id.h b/ThirdParty/ffmpeg/include/libavcodec/codec_id.h new file mode 100644 index 000000000..d885962c9 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/codec_id.h @@ -0,0 +1,577 @@ +/* + * Codec IDs + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_CODEC_ID_H +#define AVCODEC_CODEC_ID_H + +#include "libavutil/avutil.h" + +/** + * @addtogroup lavc_core + * @{ + */ + +/** + * Identify the syntax and semantics of the bitstream. + * The principle is roughly: + * Two decoders with the same ID can decode the same streams. + * Two encoders with the same ID can encode compatible streams. + * There may be slight deviations from the principle due to implementation + * details. + * + * If you add a codec ID to this list, add it so that + * 1. no value of an existing codec ID changes (that would break ABI), + * 2. it is as close as possible to similar codecs + * + * After adding new codec IDs, do not forget to add an entry to the codec + * descriptor list and bump libavcodec minor version. + */ +enum AVCodecID { + AV_CODEC_ID_NONE, + + /* video codecs */ + AV_CODEC_ID_MPEG1VIDEO, + AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding + AV_CODEC_ID_H261, + AV_CODEC_ID_H263, + AV_CODEC_ID_RV10, + AV_CODEC_ID_RV20, + AV_CODEC_ID_MJPEG, + AV_CODEC_ID_MJPEGB, + AV_CODEC_ID_LJPEG, + AV_CODEC_ID_SP5X, + AV_CODEC_ID_JPEGLS, + AV_CODEC_ID_MPEG4, + AV_CODEC_ID_RAWVIDEO, + AV_CODEC_ID_MSMPEG4V1, + AV_CODEC_ID_MSMPEG4V2, + AV_CODEC_ID_MSMPEG4V3, + AV_CODEC_ID_WMV1, + AV_CODEC_ID_WMV2, + AV_CODEC_ID_H263P, + AV_CODEC_ID_H263I, + AV_CODEC_ID_FLV1, + AV_CODEC_ID_SVQ1, + AV_CODEC_ID_SVQ3, + AV_CODEC_ID_DVVIDEO, + AV_CODEC_ID_HUFFYUV, + AV_CODEC_ID_CYUV, + AV_CODEC_ID_H264, + AV_CODEC_ID_INDEO3, + AV_CODEC_ID_VP3, + AV_CODEC_ID_THEORA, + AV_CODEC_ID_ASV1, + AV_CODEC_ID_ASV2, + AV_CODEC_ID_FFV1, + AV_CODEC_ID_4XM, + AV_CODEC_ID_VCR1, + AV_CODEC_ID_CLJR, + AV_CODEC_ID_MDEC, + AV_CODEC_ID_ROQ, + AV_CODEC_ID_INTERPLAY_VIDEO, + AV_CODEC_ID_XAN_WC3, + AV_CODEC_ID_XAN_WC4, + AV_CODEC_ID_RPZA, + AV_CODEC_ID_CINEPAK, + AV_CODEC_ID_WS_VQA, + AV_CODEC_ID_MSRLE, + AV_CODEC_ID_MSVIDEO1, + AV_CODEC_ID_IDCIN, + AV_CODEC_ID_8BPS, + AV_CODEC_ID_SMC, + AV_CODEC_ID_FLIC, + AV_CODEC_ID_TRUEMOTION1, + AV_CODEC_ID_VMDVIDEO, + AV_CODEC_ID_MSZH, + AV_CODEC_ID_ZLIB, + AV_CODEC_ID_QTRLE, + AV_CODEC_ID_TSCC, + AV_CODEC_ID_ULTI, + AV_CODEC_ID_QDRAW, + AV_CODEC_ID_VIXL, + AV_CODEC_ID_QPEG, + AV_CODEC_ID_PNG, + AV_CODEC_ID_PPM, + AV_CODEC_ID_PBM, + AV_CODEC_ID_PGM, + AV_CODEC_ID_PGMYUV, + AV_CODEC_ID_PAM, + AV_CODEC_ID_FFVHUFF, + AV_CODEC_ID_RV30, + AV_CODEC_ID_RV40, + AV_CODEC_ID_VC1, + AV_CODEC_ID_WMV3, + AV_CODEC_ID_LOCO, + AV_CODEC_ID_WNV1, + AV_CODEC_ID_AASC, + AV_CODEC_ID_INDEO2, + AV_CODEC_ID_FRAPS, + AV_CODEC_ID_TRUEMOTION2, + AV_CODEC_ID_BMP, + AV_CODEC_ID_CSCD, + AV_CODEC_ID_MMVIDEO, + AV_CODEC_ID_ZMBV, + AV_CODEC_ID_AVS, + AV_CODEC_ID_SMACKVIDEO, + AV_CODEC_ID_NUV, + AV_CODEC_ID_KMVC, + AV_CODEC_ID_FLASHSV, + AV_CODEC_ID_CAVS, + AV_CODEC_ID_JPEG2000, + AV_CODEC_ID_VMNC, + AV_CODEC_ID_VP5, + AV_CODEC_ID_VP6, + AV_CODEC_ID_VP6F, + AV_CODEC_ID_TARGA, + AV_CODEC_ID_DSICINVIDEO, + AV_CODEC_ID_TIERTEXSEQVIDEO, + AV_CODEC_ID_TIFF, + AV_CODEC_ID_GIF, + AV_CODEC_ID_DXA, + AV_CODEC_ID_DNXHD, + AV_CODEC_ID_THP, + AV_CODEC_ID_SGI, + AV_CODEC_ID_C93, + AV_CODEC_ID_BETHSOFTVID, + AV_CODEC_ID_PTX, + AV_CODEC_ID_TXD, + AV_CODEC_ID_VP6A, + AV_CODEC_ID_AMV, + AV_CODEC_ID_VB, + AV_CODEC_ID_PCX, + AV_CODEC_ID_SUNRAST, + AV_CODEC_ID_INDEO4, + AV_CODEC_ID_INDEO5, + AV_CODEC_ID_MIMIC, + AV_CODEC_ID_RL2, + AV_CODEC_ID_ESCAPE124, + AV_CODEC_ID_DIRAC, + AV_CODEC_ID_BFI, + AV_CODEC_ID_CMV, + AV_CODEC_ID_MOTIONPIXELS, + AV_CODEC_ID_TGV, + AV_CODEC_ID_TGQ, + AV_CODEC_ID_TQI, + AV_CODEC_ID_AURA, + AV_CODEC_ID_AURA2, + AV_CODEC_ID_V210X, + AV_CODEC_ID_TMV, + AV_CODEC_ID_V210, + AV_CODEC_ID_DPX, + AV_CODEC_ID_MAD, + AV_CODEC_ID_FRWU, + AV_CODEC_ID_FLASHSV2, + AV_CODEC_ID_CDGRAPHICS, + AV_CODEC_ID_R210, + AV_CODEC_ID_ANM, + AV_CODEC_ID_BINKVIDEO, + AV_CODEC_ID_IFF_ILBM, +#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM + AV_CODEC_ID_KGV1, + AV_CODEC_ID_YOP, + AV_CODEC_ID_VP8, + AV_CODEC_ID_PICTOR, + AV_CODEC_ID_ANSI, + AV_CODEC_ID_A64_MULTI, + AV_CODEC_ID_A64_MULTI5, + AV_CODEC_ID_R10K, + AV_CODEC_ID_MXPEG, + AV_CODEC_ID_LAGARITH, + AV_CODEC_ID_PRORES, + AV_CODEC_ID_JV, + AV_CODEC_ID_DFA, + AV_CODEC_ID_WMV3IMAGE, + AV_CODEC_ID_VC1IMAGE, + AV_CODEC_ID_UTVIDEO, + AV_CODEC_ID_BMV_VIDEO, + AV_CODEC_ID_VBLE, + AV_CODEC_ID_DXTORY, + AV_CODEC_ID_V410, + AV_CODEC_ID_XWD, + AV_CODEC_ID_CDXL, + AV_CODEC_ID_XBM, + AV_CODEC_ID_ZEROCODEC, + AV_CODEC_ID_MSS1, + AV_CODEC_ID_MSA1, + AV_CODEC_ID_TSCC2, + AV_CODEC_ID_MTS2, + AV_CODEC_ID_CLLC, + AV_CODEC_ID_MSS2, + AV_CODEC_ID_VP9, + AV_CODEC_ID_AIC, + AV_CODEC_ID_ESCAPE130, + AV_CODEC_ID_G2M, + AV_CODEC_ID_WEBP, + AV_CODEC_ID_HNM4_VIDEO, + AV_CODEC_ID_HEVC, +#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC + AV_CODEC_ID_FIC, + AV_CODEC_ID_ALIAS_PIX, + AV_CODEC_ID_BRENDER_PIX, + AV_CODEC_ID_PAF_VIDEO, + AV_CODEC_ID_EXR, + AV_CODEC_ID_VP7, + AV_CODEC_ID_SANM, + AV_CODEC_ID_SGIRLE, + AV_CODEC_ID_MVC1, + AV_CODEC_ID_MVC2, + AV_CODEC_ID_HQX, + AV_CODEC_ID_TDSC, + AV_CODEC_ID_HQ_HQA, + AV_CODEC_ID_HAP, + AV_CODEC_ID_DDS, + AV_CODEC_ID_DXV, + AV_CODEC_ID_SCREENPRESSO, + AV_CODEC_ID_RSCC, + AV_CODEC_ID_AVS2, + + AV_CODEC_ID_Y41P = 0x8000, + AV_CODEC_ID_AVRP, + AV_CODEC_ID_012V, + AV_CODEC_ID_AVUI, + AV_CODEC_ID_AYUV, + AV_CODEC_ID_TARGA_Y216, + AV_CODEC_ID_V308, + AV_CODEC_ID_V408, + AV_CODEC_ID_YUV4, + AV_CODEC_ID_AVRN, + AV_CODEC_ID_CPIA, + AV_CODEC_ID_XFACE, + AV_CODEC_ID_SNOW, + AV_CODEC_ID_SMVJPEG, + AV_CODEC_ID_APNG, + AV_CODEC_ID_DAALA, + AV_CODEC_ID_CFHD, + AV_CODEC_ID_TRUEMOTION2RT, + AV_CODEC_ID_M101, + AV_CODEC_ID_MAGICYUV, + AV_CODEC_ID_SHEERVIDEO, + AV_CODEC_ID_YLC, + AV_CODEC_ID_PSD, + AV_CODEC_ID_PIXLET, + AV_CODEC_ID_SPEEDHQ, + AV_CODEC_ID_FMVC, + AV_CODEC_ID_SCPR, + AV_CODEC_ID_CLEARVIDEO, + AV_CODEC_ID_XPM, + AV_CODEC_ID_AV1, + AV_CODEC_ID_BITPACKED, + AV_CODEC_ID_MSCC, + AV_CODEC_ID_SRGC, + AV_CODEC_ID_SVG, + AV_CODEC_ID_GDV, + AV_CODEC_ID_FITS, + AV_CODEC_ID_IMM4, + AV_CODEC_ID_PROSUMER, + AV_CODEC_ID_MWSC, + AV_CODEC_ID_WCMV, + AV_CODEC_ID_RASC, + AV_CODEC_ID_HYMT, + AV_CODEC_ID_ARBC, + AV_CODEC_ID_AGM, + AV_CODEC_ID_LSCR, + AV_CODEC_ID_VP4, + AV_CODEC_ID_IMM5, + AV_CODEC_ID_MVDV, + AV_CODEC_ID_MVHA, + AV_CODEC_ID_CDTOONS, + AV_CODEC_ID_MV30, + AV_CODEC_ID_NOTCHLC, + AV_CODEC_ID_PFM, + + /* various PCM "codecs" */ + AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs + AV_CODEC_ID_PCM_S16LE = 0x10000, + AV_CODEC_ID_PCM_S16BE, + AV_CODEC_ID_PCM_U16LE, + AV_CODEC_ID_PCM_U16BE, + AV_CODEC_ID_PCM_S8, + AV_CODEC_ID_PCM_U8, + AV_CODEC_ID_PCM_MULAW, + AV_CODEC_ID_PCM_ALAW, + AV_CODEC_ID_PCM_S32LE, + AV_CODEC_ID_PCM_S32BE, + AV_CODEC_ID_PCM_U32LE, + AV_CODEC_ID_PCM_U32BE, + AV_CODEC_ID_PCM_S24LE, + AV_CODEC_ID_PCM_S24BE, + AV_CODEC_ID_PCM_U24LE, + AV_CODEC_ID_PCM_U24BE, + AV_CODEC_ID_PCM_S24DAUD, + AV_CODEC_ID_PCM_ZORK, + AV_CODEC_ID_PCM_S16LE_PLANAR, + AV_CODEC_ID_PCM_DVD, + AV_CODEC_ID_PCM_F32BE, + AV_CODEC_ID_PCM_F32LE, + AV_CODEC_ID_PCM_F64BE, + AV_CODEC_ID_PCM_F64LE, + AV_CODEC_ID_PCM_BLURAY, + AV_CODEC_ID_PCM_LXF, + AV_CODEC_ID_S302M, + AV_CODEC_ID_PCM_S8_PLANAR, + AV_CODEC_ID_PCM_S24LE_PLANAR, + AV_CODEC_ID_PCM_S32LE_PLANAR, + AV_CODEC_ID_PCM_S16BE_PLANAR, + + AV_CODEC_ID_PCM_S64LE = 0x10800, + AV_CODEC_ID_PCM_S64BE, + AV_CODEC_ID_PCM_F16LE, + AV_CODEC_ID_PCM_F24LE, + AV_CODEC_ID_PCM_VIDC, + + /* various ADPCM codecs */ + AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, + AV_CODEC_ID_ADPCM_IMA_WAV, + AV_CODEC_ID_ADPCM_IMA_DK3, + AV_CODEC_ID_ADPCM_IMA_DK4, + AV_CODEC_ID_ADPCM_IMA_WS, + AV_CODEC_ID_ADPCM_IMA_SMJPEG, + AV_CODEC_ID_ADPCM_MS, + AV_CODEC_ID_ADPCM_4XM, + AV_CODEC_ID_ADPCM_XA, + AV_CODEC_ID_ADPCM_ADX, + AV_CODEC_ID_ADPCM_EA, + AV_CODEC_ID_ADPCM_G726, + AV_CODEC_ID_ADPCM_CT, + AV_CODEC_ID_ADPCM_SWF, + AV_CODEC_ID_ADPCM_YAMAHA, + AV_CODEC_ID_ADPCM_SBPRO_4, + AV_CODEC_ID_ADPCM_SBPRO_3, + AV_CODEC_ID_ADPCM_SBPRO_2, + AV_CODEC_ID_ADPCM_THP, + AV_CODEC_ID_ADPCM_IMA_AMV, + AV_CODEC_ID_ADPCM_EA_R1, + AV_CODEC_ID_ADPCM_EA_R3, + AV_CODEC_ID_ADPCM_EA_R2, + AV_CODEC_ID_ADPCM_IMA_EA_SEAD, + AV_CODEC_ID_ADPCM_IMA_EA_EACS, + AV_CODEC_ID_ADPCM_EA_XAS, + AV_CODEC_ID_ADPCM_EA_MAXIS_XA, + AV_CODEC_ID_ADPCM_IMA_ISS, + AV_CODEC_ID_ADPCM_G722, + AV_CODEC_ID_ADPCM_IMA_APC, + AV_CODEC_ID_ADPCM_VIMA, + + AV_CODEC_ID_ADPCM_AFC = 0x11800, + AV_CODEC_ID_ADPCM_IMA_OKI, + AV_CODEC_ID_ADPCM_DTK, + AV_CODEC_ID_ADPCM_IMA_RAD, + AV_CODEC_ID_ADPCM_G726LE, + AV_CODEC_ID_ADPCM_THP_LE, + AV_CODEC_ID_ADPCM_PSX, + AV_CODEC_ID_ADPCM_AICA, + AV_CODEC_ID_ADPCM_IMA_DAT4, + AV_CODEC_ID_ADPCM_MTAF, + AV_CODEC_ID_ADPCM_AGM, + AV_CODEC_ID_ADPCM_ARGO, + AV_CODEC_ID_ADPCM_IMA_SSI, + AV_CODEC_ID_ADPCM_ZORK, + AV_CODEC_ID_ADPCM_IMA_APM, + AV_CODEC_ID_ADPCM_IMA_ALP, + AV_CODEC_ID_ADPCM_IMA_MTF, + AV_CODEC_ID_ADPCM_IMA_CUNNING, + + /* AMR */ + AV_CODEC_ID_AMR_NB = 0x12000, + AV_CODEC_ID_AMR_WB, + + /* RealAudio codecs*/ + AV_CODEC_ID_RA_144 = 0x13000, + AV_CODEC_ID_RA_288, + + /* various DPCM codecs */ + AV_CODEC_ID_ROQ_DPCM = 0x14000, + AV_CODEC_ID_INTERPLAY_DPCM, + AV_CODEC_ID_XAN_DPCM, + AV_CODEC_ID_SOL_DPCM, + + AV_CODEC_ID_SDX2_DPCM = 0x14800, + AV_CODEC_ID_GREMLIN_DPCM, + AV_CODEC_ID_DERF_DPCM, + + /* audio codecs */ + AV_CODEC_ID_MP2 = 0x15000, + AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 + AV_CODEC_ID_AAC, + AV_CODEC_ID_AC3, + AV_CODEC_ID_DTS, + AV_CODEC_ID_VORBIS, + AV_CODEC_ID_DVAUDIO, + AV_CODEC_ID_WMAV1, + AV_CODEC_ID_WMAV2, + AV_CODEC_ID_MACE3, + AV_CODEC_ID_MACE6, + AV_CODEC_ID_VMDAUDIO, + AV_CODEC_ID_FLAC, + AV_CODEC_ID_MP3ADU, + AV_CODEC_ID_MP3ON4, + AV_CODEC_ID_SHORTEN, + AV_CODEC_ID_ALAC, + AV_CODEC_ID_WESTWOOD_SND1, + AV_CODEC_ID_GSM, ///< as in Berlin toast format + AV_CODEC_ID_QDM2, + AV_CODEC_ID_COOK, + AV_CODEC_ID_TRUESPEECH, + AV_CODEC_ID_TTA, + AV_CODEC_ID_SMACKAUDIO, + AV_CODEC_ID_QCELP, + AV_CODEC_ID_WAVPACK, + AV_CODEC_ID_DSICINAUDIO, + AV_CODEC_ID_IMC, + AV_CODEC_ID_MUSEPACK7, + AV_CODEC_ID_MLP, + AV_CODEC_ID_GSM_MS, /* as found in WAV */ + AV_CODEC_ID_ATRAC3, + AV_CODEC_ID_APE, + AV_CODEC_ID_NELLYMOSER, + AV_CODEC_ID_MUSEPACK8, + AV_CODEC_ID_SPEEX, + AV_CODEC_ID_WMAVOICE, + AV_CODEC_ID_WMAPRO, + AV_CODEC_ID_WMALOSSLESS, + AV_CODEC_ID_ATRAC3P, + AV_CODEC_ID_EAC3, + AV_CODEC_ID_SIPR, + AV_CODEC_ID_MP1, + AV_CODEC_ID_TWINVQ, + AV_CODEC_ID_TRUEHD, + AV_CODEC_ID_MP4ALS, + AV_CODEC_ID_ATRAC1, + AV_CODEC_ID_BINKAUDIO_RDFT, + AV_CODEC_ID_BINKAUDIO_DCT, + AV_CODEC_ID_AAC_LATM, + AV_CODEC_ID_QDMC, + AV_CODEC_ID_CELT, + AV_CODEC_ID_G723_1, + AV_CODEC_ID_G729, + AV_CODEC_ID_8SVX_EXP, + AV_CODEC_ID_8SVX_FIB, + AV_CODEC_ID_BMV_AUDIO, + AV_CODEC_ID_RALF, + AV_CODEC_ID_IAC, + AV_CODEC_ID_ILBC, + AV_CODEC_ID_OPUS, + AV_CODEC_ID_COMFORT_NOISE, + AV_CODEC_ID_TAK, + AV_CODEC_ID_METASOUND, + AV_CODEC_ID_PAF_AUDIO, + AV_CODEC_ID_ON2AVC, + AV_CODEC_ID_DSS_SP, + AV_CODEC_ID_CODEC2, + + AV_CODEC_ID_FFWAVESYNTH = 0x15800, + AV_CODEC_ID_SONIC, + AV_CODEC_ID_SONIC_LS, + AV_CODEC_ID_EVRC, + AV_CODEC_ID_SMV, + AV_CODEC_ID_DSD_LSBF, + AV_CODEC_ID_DSD_MSBF, + AV_CODEC_ID_DSD_LSBF_PLANAR, + AV_CODEC_ID_DSD_MSBF_PLANAR, + AV_CODEC_ID_4GV, + AV_CODEC_ID_INTERPLAY_ACM, + AV_CODEC_ID_XMA1, + AV_CODEC_ID_XMA2, + AV_CODEC_ID_DST, + AV_CODEC_ID_ATRAC3AL, + AV_CODEC_ID_ATRAC3PAL, + AV_CODEC_ID_DOLBY_E, + AV_CODEC_ID_APTX, + AV_CODEC_ID_APTX_HD, + AV_CODEC_ID_SBC, + AV_CODEC_ID_ATRAC9, + AV_CODEC_ID_HCOM, + AV_CODEC_ID_ACELP_KELVIN, + AV_CODEC_ID_MPEGH_3D_AUDIO, + AV_CODEC_ID_SIREN, + AV_CODEC_ID_HCA, + + /* subtitle codecs */ + AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. + AV_CODEC_ID_DVD_SUBTITLE = 0x17000, + AV_CODEC_ID_DVB_SUBTITLE, + AV_CODEC_ID_TEXT, ///< raw UTF-8 text + AV_CODEC_ID_XSUB, + AV_CODEC_ID_SSA, + AV_CODEC_ID_MOV_TEXT, + AV_CODEC_ID_HDMV_PGS_SUBTITLE, + AV_CODEC_ID_DVB_TELETEXT, + AV_CODEC_ID_SRT, + + AV_CODEC_ID_MICRODVD = 0x17800, + AV_CODEC_ID_EIA_608, + AV_CODEC_ID_JACOSUB, + AV_CODEC_ID_SAMI, + AV_CODEC_ID_REALTEXT, + AV_CODEC_ID_STL, + AV_CODEC_ID_SUBVIEWER1, + AV_CODEC_ID_SUBVIEWER, + AV_CODEC_ID_SUBRIP, + AV_CODEC_ID_WEBVTT, + AV_CODEC_ID_MPL2, + AV_CODEC_ID_VPLAYER, + AV_CODEC_ID_PJS, + AV_CODEC_ID_ASS, + AV_CODEC_ID_HDMV_TEXT_SUBTITLE, + AV_CODEC_ID_TTML, + AV_CODEC_ID_ARIB_CAPTION, + + /* other specific kind of codecs (generally used for attachments) */ + AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs. + AV_CODEC_ID_TTF = 0x18000, + + AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream. + AV_CODEC_ID_EPG, + AV_CODEC_ID_BINTEXT = 0x18800, + AV_CODEC_ID_XBIN, + AV_CODEC_ID_IDF, + AV_CODEC_ID_OTF, + AV_CODEC_ID_SMPTE_KLV, + AV_CODEC_ID_DVD_NAV, + AV_CODEC_ID_TIMED_ID3, + AV_CODEC_ID_BIN_DATA, + + + AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it + + AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS + * stream (only used by libavformat) */ + AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems + * stream (only used by libavformat) */ + AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. + AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket +}; + +/** + * Get the type of the given codec. + */ +enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); + +/** + * Get the name of a codec. + * @return a static string identifying the codec; never NULL + */ +const char *avcodec_get_name(enum AVCodecID id); + +/** + * @} + */ + +#endif // AVCODEC_CODEC_ID_H diff --git a/ThirdParty/ffmpeg/include/libavcodec/codec_par.h b/ThirdParty/ffmpeg/include/libavcodec/codec_par.h new file mode 100644 index 000000000..948758e23 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/codec_par.h @@ -0,0 +1,229 @@ +/* + * Codec parameters public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_CODEC_PAR_H +#define AVCODEC_CODEC_PAR_H + +#include + +#include "libavutil/avutil.h" +#include "libavutil/rational.h" +#include "libavutil/pixfmt.h" + +#include "codec_id.h" + +/** + * @addtogroup lavc_core + */ + +enum AVFieldOrder { + AV_FIELD_UNKNOWN, + AV_FIELD_PROGRESSIVE, + AV_FIELD_TT, //< Top coded_first, top displayed first + AV_FIELD_BB, //< Bottom coded first, bottom displayed first + AV_FIELD_TB, //< Top coded first, bottom displayed first + AV_FIELD_BT, //< Bottom coded first, top displayed first +}; + +/** + * This struct describes the properties of an encoded stream. + * + * sizeof(AVCodecParameters) is not a part of the public ABI, this struct must + * be allocated with avcodec_parameters_alloc() and freed with + * avcodec_parameters_free(). + */ +typedef struct AVCodecParameters { + /** + * General type of the encoded data. + */ + enum AVMediaType codec_type; + /** + * Specific type of the encoded data (the codec used). + */ + enum AVCodecID codec_id; + /** + * Additional information about the codec (corresponds to the AVI FOURCC). + */ + uint32_t codec_tag; + + /** + * Extra binary data needed for initializing the decoder, codec-dependent. + * + * Must be allocated with av_malloc() and will be freed by + * avcodec_parameters_free(). The allocated size of extradata must be at + * least extradata_size + AV_INPUT_BUFFER_PADDING_SIZE, with the padding + * bytes zeroed. + */ + uint8_t *extradata; + /** + * Size of the extradata content in bytes. + */ + int extradata_size; + + /** + * - video: the pixel format, the value corresponds to enum AVPixelFormat. + * - audio: the sample format, the value corresponds to enum AVSampleFormat. + */ + int format; + + /** + * The average bitrate of the encoded data (in bits per second). + */ + int64_t bit_rate; + + /** + * The number of bits per sample in the codedwords. + * + * This is basically the bitrate per sample. It is mandatory for a bunch of + * formats to actually decode them. It's the number of bits for one sample in + * the actual coded bitstream. + * + * This could be for example 4 for ADPCM + * For PCM formats this matches bits_per_raw_sample + * Can be 0 + */ + int bits_per_coded_sample; + + /** + * This is the number of valid bits in each output sample. If the + * sample format has more bits, the least significant bits are additional + * padding bits, which are always 0. Use right shifts to reduce the sample + * to its actual size. For example, audio formats with 24 bit samples will + * have bits_per_raw_sample set to 24, and format set to AV_SAMPLE_FMT_S32. + * To get the original sample use "(int32_t)sample >> 8"." + * + * For ADPCM this might be 12 or 16 or similar + * Can be 0 + */ + int bits_per_raw_sample; + + /** + * Codec-specific bitstream restrictions that the stream conforms to. + */ + int profile; + int level; + + /** + * Video only. The dimensions of the video frame in pixels. + */ + int width; + int height; + + /** + * Video only. The aspect ratio (width / height) which a single pixel + * should have when displayed. + * + * When the aspect ratio is unknown / undefined, the numerator should be + * set to 0 (the denominator may have any value). + */ + AVRational sample_aspect_ratio; + + /** + * Video only. The order of the fields in interlaced video. + */ + enum AVFieldOrder field_order; + + /** + * Video only. Additional colorspace characteristics. + */ + enum AVColorRange color_range; + enum AVColorPrimaries color_primaries; + enum AVColorTransferCharacteristic color_trc; + enum AVColorSpace color_space; + enum AVChromaLocation chroma_location; + + /** + * Video only. Number of delayed frames. + */ + int video_delay; + + /** + * Audio only. The channel layout bitmask. May be 0 if the channel layout is + * unknown or unspecified, otherwise the number of bits set must be equal to + * the channels field. + */ + uint64_t channel_layout; + /** + * Audio only. The number of audio channels. + */ + int channels; + /** + * Audio only. The number of audio samples per second. + */ + int sample_rate; + /** + * Audio only. The number of bytes per coded audio frame, required by some + * formats. + * + * Corresponds to nBlockAlign in WAVEFORMATEX. + */ + int block_align; + /** + * Audio only. Audio frame size, if known. Required by some formats to be static. + */ + int frame_size; + + /** + * Audio only. The amount of padding (in samples) inserted by the encoder at + * the beginning of the audio. I.e. this number of leading decoded samples + * must be discarded by the caller to get the original audio without leading + * padding. + */ + int initial_padding; + /** + * Audio only. The amount of padding (in samples) appended by the encoder to + * the end of the audio. I.e. this number of decoded samples must be + * discarded by the caller from the end of the stream to get the original + * audio without any trailing padding. + */ + int trailing_padding; + /** + * Audio only. Number of samples to skip after a discontinuity. + */ + int seek_preroll; +} AVCodecParameters; + +/** + * Allocate a new AVCodecParameters and set its fields to default values + * (unknown/invalid/0). The returned struct must be freed with + * avcodec_parameters_free(). + */ +AVCodecParameters *avcodec_parameters_alloc(void); + +/** + * Free an AVCodecParameters instance and everything associated with it and + * write NULL to the supplied pointer. + */ +void avcodec_parameters_free(AVCodecParameters **par); + +/** + * Copy the contents of src to dst. Any allocated fields in dst are freed and + * replaced with newly allocated duplicates of the corresponding fields in src. + * + * @return >= 0 on success, a negative AVERROR code on failure. + */ +int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src); + + +/** + * @} + */ + +#endif // AVCODEC_CODEC_PAR_H diff --git a/ThirdParty/ffmpeg/include/libavcodec/packet.h b/ThirdParty/ffmpeg/include/libavcodec/packet.h new file mode 100644 index 000000000..41485f452 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavcodec/packet.h @@ -0,0 +1,722 @@ +/* + * AVPacket public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_PACKET_H +#define AVCODEC_PACKET_H + +#include +#include + +#include "libavutil/attributes.h" +#include "libavutil/buffer.h" +#include "libavutil/dict.h" +#include "libavutil/rational.h" + +#include "libavcodec/version.h" + +/** + * @defgroup lavc_packet AVPacket + * + * Types and functions for working with AVPacket. + * @{ + */ +enum AVPacketSideDataType { + /** + * An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE + * bytes worth of palette. This side data signals that a new palette is + * present. + */ + AV_PKT_DATA_PALETTE, + + /** + * The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format + * that the extradata buffer was changed and the receiving side should + * act upon it appropriately. The new extradata is embedded in the side + * data buffer and should be immediately used for processing the current + * frame or packet. + */ + AV_PKT_DATA_NEW_EXTRADATA, + + /** + * An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows: + * @code + * u32le param_flags + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT) + * s32le channel_count + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT) + * u64le channel_layout + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE) + * s32le sample_rate + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS) + * s32le width + * s32le height + * @endcode + */ + AV_PKT_DATA_PARAM_CHANGE, + + /** + * An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of + * structures with info about macroblocks relevant to splitting the + * packet into smaller packets on macroblock edges (e.g. as for RFC 2190). + * That is, it does not necessarily contain info about all macroblocks, + * as long as the distance between macroblocks in the info is smaller + * than the target payload size. + * Each MB info structure is 12 bytes, and is laid out as follows: + * @code + * u32le bit offset from the start of the packet + * u8 current quantizer at the start of the macroblock + * u8 GOB number + * u16le macroblock address within the GOB + * u8 horizontal MV predictor + * u8 vertical MV predictor + * u8 horizontal MV predictor for block number 3 + * u8 vertical MV predictor for block number 3 + * @endcode + */ + AV_PKT_DATA_H263_MB_INFO, + + /** + * This side data should be associated with an audio stream and contains + * ReplayGain information in form of the AVReplayGain struct. + */ + AV_PKT_DATA_REPLAYGAIN, + + /** + * This side data contains a 3x3 transformation matrix describing an affine + * transformation that needs to be applied to the decoded video frames for + * correct presentation. + * + * See libavutil/display.h for a detailed description of the data. + */ + AV_PKT_DATA_DISPLAYMATRIX, + + /** + * This side data should be associated with a video stream and contains + * Stereoscopic 3D information in form of the AVStereo3D struct. + */ + AV_PKT_DATA_STEREO3D, + + /** + * This side data should be associated with an audio stream and corresponds + * to enum AVAudioServiceType. + */ + AV_PKT_DATA_AUDIO_SERVICE_TYPE, + + /** + * This side data contains quality related information from the encoder. + * @code + * u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad). + * u8 picture type + * u8 error count + * u16 reserved + * u64le[error count] sum of squared differences between encoder in and output + * @endcode + */ + AV_PKT_DATA_QUALITY_STATS, + + /** + * This side data contains an integer value representing the stream index + * of a "fallback" track. A fallback track indicates an alternate + * track to use when the current track can not be decoded for some reason. + * e.g. no decoder available for codec. + */ + AV_PKT_DATA_FALLBACK_TRACK, + + /** + * This side data corresponds to the AVCPBProperties struct. + */ + AV_PKT_DATA_CPB_PROPERTIES, + + /** + * Recommmends skipping the specified number of samples + * @code + * u32le number of samples to skip from start of this packet + * u32le number of samples to skip from end of this packet + * u8 reason for start skip + * u8 reason for end skip (0=padding silence, 1=convergence) + * @endcode + */ + AV_PKT_DATA_SKIP_SAMPLES, + + /** + * An AV_PKT_DATA_JP_DUALMONO side data packet indicates that + * the packet may contain "dual mono" audio specific to Japanese DTV + * and if it is true, recommends only the selected channel to be used. + * @code + * u8 selected channels (0=mail/left, 1=sub/right, 2=both) + * @endcode + */ + AV_PKT_DATA_JP_DUALMONO, + + /** + * A list of zero terminated key/value strings. There is no end marker for + * the list, so it is required to rely on the side data size to stop. + */ + AV_PKT_DATA_STRINGS_METADATA, + + /** + * Subtitle event position + * @code + * u32le x1 + * u32le y1 + * u32le x2 + * u32le y2 + * @endcode + */ + AV_PKT_DATA_SUBTITLE_POSITION, + + /** + * Data found in BlockAdditional element of matroska container. There is + * no end marker for the data, so it is required to rely on the side data + * size to recognize the end. 8 byte id (as found in BlockAddId) followed + * by data. + */ + AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, + + /** + * The optional first identifier line of a WebVTT cue. + */ + AV_PKT_DATA_WEBVTT_IDENTIFIER, + + /** + * The optional settings (rendering instructions) that immediately + * follow the timestamp specifier of a WebVTT cue. + */ + AV_PKT_DATA_WEBVTT_SETTINGS, + + /** + * A list of zero terminated key/value strings. There is no end marker for + * the list, so it is required to rely on the side data size to stop. This + * side data includes updated metadata which appeared in the stream. + */ + AV_PKT_DATA_METADATA_UPDATE, + + /** + * MPEGTS stream ID as uint8_t, this is required to pass the stream ID + * information from the demuxer to the corresponding muxer. + */ + AV_PKT_DATA_MPEGTS_STREAM_ID, + + /** + * Mastering display metadata (based on SMPTE-2086:2014). This metadata + * should be associated with a video stream and contains data in the form + * of the AVMasteringDisplayMetadata struct. + */ + AV_PKT_DATA_MASTERING_DISPLAY_METADATA, + + /** + * This side data should be associated with a video stream and corresponds + * to the AVSphericalMapping structure. + */ + AV_PKT_DATA_SPHERICAL, + + /** + * Content light level (based on CTA-861.3). This metadata should be + * associated with a video stream and contains data in the form of the + * AVContentLightMetadata struct. + */ + AV_PKT_DATA_CONTENT_LIGHT_LEVEL, + + /** + * ATSC A53 Part 4 Closed Captions. This metadata should be associated with + * a video stream. A53 CC bitstream is stored as uint8_t in AVPacketSideData.data. + * The number of bytes of CC data is AVPacketSideData.size. + */ + AV_PKT_DATA_A53_CC, + + /** + * This side data is encryption initialization data. + * The format is not part of ABI, use av_encryption_init_info_* methods to + * access. + */ + AV_PKT_DATA_ENCRYPTION_INIT_INFO, + + /** + * This side data contains encryption info for how to decrypt the packet. + * The format is not part of ABI, use av_encryption_info_* methods to access. + */ + AV_PKT_DATA_ENCRYPTION_INFO, + + /** + * Active Format Description data consisting of a single byte as specified + * in ETSI TS 101 154 using AVActiveFormatDescription enum. + */ + AV_PKT_DATA_AFD, + + /** + * Producer Reference Time data corresponding to the AVProducerReferenceTime struct, + * usually exported by some encoders (on demand through the prft flag set in the + * AVCodecContext export_side_data field). + */ + AV_PKT_DATA_PRFT, + + /** + * ICC profile data consisting of an opaque octet buffer following the + * format described by ISO 15076-1. + */ + AV_PKT_DATA_ICC_PROFILE, + + /** + * DOVI configuration + * ref: + * dolby-vision-bitstreams-within-the-iso-base-media-file-format-v2.1.2, section 2.2 + * dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2, section 3.3 + * Tags are stored in struct AVDOVIDecoderConfigurationRecord. + */ + AV_PKT_DATA_DOVI_CONF, + + /** + * The number of side data types. + * This is not part of the public API/ABI in the sense that it may + * change when new side data types are added. + * This must stay the last enum value. + * If its value becomes huge, some code using it + * needs to be updated as it assumes it to be smaller than other limits. + */ + AV_PKT_DATA_NB +}; + +#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED + +typedef struct AVPacketSideData { + uint8_t *data; + int size; + enum AVPacketSideDataType type; +} AVPacketSideData; + +/** + * This structure stores compressed data. It is typically exported by demuxers + * and then passed as input to decoders, or received as output from encoders and + * then passed to muxers. + * + * For video, it should typically contain one compressed frame. For audio it may + * contain several compressed frames. Encoders are allowed to output empty + * packets, with no compressed data, containing only side data + * (e.g. to update some stream parameters at the end of encoding). + * + * AVPacket is one of the few structs in FFmpeg, whose size is a part of public + * ABI. Thus it may be allocated on stack and no new fields can be added to it + * without libavcodec and libavformat major bump. + * + * The semantics of data ownership depends on the buf field. + * If it is set, the packet data is dynamically allocated and is + * valid indefinitely until a call to av_packet_unref() reduces the + * reference count to 0. + * + * If the buf field is not set av_packet_ref() would make a copy instead + * of increasing the reference count. + * + * The side data is always allocated with av_malloc(), copied by + * av_packet_ref() and freed by av_packet_unref(). + * + * @see av_packet_ref + * @see av_packet_unref + */ +typedef struct AVPacket { + /** + * A reference to the reference-counted buffer where the packet data is + * stored. + * May be NULL, then the packet data is not reference-counted. + */ + AVBufferRef *buf; + /** + * Presentation timestamp in AVStream->time_base units; the time at which + * the decompressed packet will be presented to the user. + * Can be AV_NOPTS_VALUE if it is not stored in the file. + * pts MUST be larger or equal to dts as presentation cannot happen before + * decompression, unless one wants to view hex dumps. Some formats misuse + * the terms dts and pts/cts to mean something different. Such timestamps + * must be converted to true pts/dts before they are stored in AVPacket. + */ + int64_t pts; + /** + * Decompression timestamp in AVStream->time_base units; the time at which + * the packet is decompressed. + * Can be AV_NOPTS_VALUE if it is not stored in the file. + */ + int64_t dts; + uint8_t *data; + int size; + int stream_index; + /** + * A combination of AV_PKT_FLAG values + */ + int flags; + /** + * Additional packet data that can be provided by the container. + * Packet can contain several types of side information. + */ + AVPacketSideData *side_data; + int side_data_elems; + + /** + * Duration of this packet in AVStream->time_base units, 0 if unknown. + * Equals next_pts - this_pts in presentation order. + */ + int64_t duration; + + int64_t pos; ///< byte position in stream, -1 if unknown + +#if FF_API_CONVERGENCE_DURATION + /** + * @deprecated Same as the duration field, but as int64_t. This was required + * for Matroska subtitles, whose duration values could overflow when the + * duration field was still an int. + */ + attribute_deprecated + int64_t convergence_duration; +#endif +} AVPacket; + +#define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe +#define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted +/** + * Flag is used to discard packets which are required to maintain valid + * decoder state but are not required for output and should be dropped + * after decoding. + **/ +#define AV_PKT_FLAG_DISCARD 0x0004 +/** + * The packet comes from a trusted source. + * + * Otherwise-unsafe constructs such as arbitrary pointers to data + * outside the packet may be followed. + */ +#define AV_PKT_FLAG_TRUSTED 0x0008 +/** + * Flag is used to indicate packets that contain frames that can + * be discarded by the decoder. I.e. Non-reference frames. + */ +#define AV_PKT_FLAG_DISPOSABLE 0x0010 + +enum AVSideDataParamChangeFlags { + AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, + AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, + AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004, + AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008, +}; + +/** + * Allocate an AVPacket and set its fields to default values. The resulting + * struct must be freed using av_packet_free(). + * + * @return An AVPacket filled with default values or NULL on failure. + * + * @note this only allocates the AVPacket itself, not the data buffers. Those + * must be allocated through other means such as av_new_packet. + * + * @see av_new_packet + */ +AVPacket *av_packet_alloc(void); + +/** + * Create a new packet that references the same data as src. + * + * This is a shortcut for av_packet_alloc()+av_packet_ref(). + * + * @return newly created AVPacket on success, NULL on error. + * + * @see av_packet_alloc + * @see av_packet_ref + */ +AVPacket *av_packet_clone(const AVPacket *src); + +/** + * Free the packet, if the packet is reference counted, it will be + * unreferenced first. + * + * @param pkt packet to be freed. The pointer will be set to NULL. + * @note passing NULL is a no-op. + */ +void av_packet_free(AVPacket **pkt); + +/** + * Initialize optional fields of a packet with default values. + * + * Note, this does not touch the data and size members, which have to be + * initialized separately. + * + * @param pkt packet + */ +void av_init_packet(AVPacket *pkt); + +/** + * Allocate the payload of a packet and initialize its fields with + * default values. + * + * @param pkt packet + * @param size wanted payload size + * @return 0 if OK, AVERROR_xxx otherwise + */ +int av_new_packet(AVPacket *pkt, int size); + +/** + * Reduce packet size, correctly zeroing padding + * + * @param pkt packet + * @param size new size + */ +void av_shrink_packet(AVPacket *pkt, int size); + +/** + * Increase packet size, correctly zeroing padding + * + * @param pkt packet + * @param grow_by number of bytes by which to increase the size of the packet + */ +int av_grow_packet(AVPacket *pkt, int grow_by); + +/** + * Initialize a reference-counted packet from av_malloc()ed data. + * + * @param pkt packet to be initialized. This function will set the data, size, + * and buf fields, all others are left untouched. + * @param data Data allocated by av_malloc() to be used as packet data. If this + * function returns successfully, the data is owned by the underlying AVBuffer. + * The caller may not access the data through other means. + * @param size size of data in bytes, without the padding. I.e. the full buffer + * size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE. + * + * @return 0 on success, a negative AVERROR on error + */ +int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size); + +#if FF_API_AVPACKET_OLD_API +/** + * @warning This is a hack - the packet memory allocation stuff is broken. The + * packet is allocated if it was not really allocated. + * + * @deprecated Use av_packet_ref or av_packet_make_refcounted + */ +attribute_deprecated +int av_dup_packet(AVPacket *pkt); +/** + * Copy packet, including contents + * + * @return 0 on success, negative AVERROR on fail + * + * @deprecated Use av_packet_ref + */ +attribute_deprecated +int av_copy_packet(AVPacket *dst, const AVPacket *src); + +/** + * Copy packet side data + * + * @return 0 on success, negative AVERROR on fail + * + * @deprecated Use av_packet_copy_props + */ +attribute_deprecated +int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src); + +/** + * Free a packet. + * + * @deprecated Use av_packet_unref + * + * @param pkt packet to free + */ +attribute_deprecated +void av_free_packet(AVPacket *pkt); +#endif +/** + * Allocate new information of a packet. + * + * @param pkt packet + * @param type side information type + * @param size side information size + * @return pointer to fresh allocated data or NULL otherwise + */ +uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + int size); + +/** + * Wrap an existing array as a packet side data. + * + * @param pkt packet + * @param type side information type + * @param data the side data array. It must be allocated with the av_malloc() + * family of functions. The ownership of the data is transferred to + * pkt. + * @param size side information size + * @return a non-negative number on success, a negative AVERROR code on + * failure. On failure, the packet is unchanged and the data remains + * owned by the caller. + */ +int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + uint8_t *data, size_t size); + +/** + * Shrink the already allocated side data buffer + * + * @param pkt packet + * @param type side information type + * @param size new side information size + * @return 0 on success, < 0 on failure + */ +int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + int size); + +/** + * Get side information from packet. + * + * @param pkt packet + * @param type desired side information type + * @param size pointer for side information size to store (optional) + * @return pointer to data if present or NULL otherwise + */ +uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, + int *size); + +#if FF_API_MERGE_SD_API +attribute_deprecated +int av_packet_merge_side_data(AVPacket *pkt); + +attribute_deprecated +int av_packet_split_side_data(AVPacket *pkt); +#endif + +const char *av_packet_side_data_name(enum AVPacketSideDataType type); + +/** + * Pack a dictionary for use in side_data. + * + * @param dict The dictionary to pack. + * @param size pointer to store the size of the returned data + * @return pointer to data if successful, NULL otherwise + */ +uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size); +/** + * Unpack a dictionary from side_data. + * + * @param data data from side_data + * @param size size of the data + * @param dict the metadata storage dictionary + * @return 0 on success, < 0 on failure + */ +int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict); + + +/** + * Convenience function to free all the side data stored. + * All the other fields stay untouched. + * + * @param pkt packet + */ +void av_packet_free_side_data(AVPacket *pkt); + +/** + * Setup a new reference to the data described by a given packet + * + * If src is reference-counted, setup dst as a new reference to the + * buffer in src. Otherwise allocate a new buffer in dst and copy the + * data from src into it. + * + * All the other fields are copied from src. + * + * @see av_packet_unref + * + * @param dst Destination packet. Will be completely overwritten. + * @param src Source packet + * + * @return 0 on success, a negative AVERROR on error. On error, dst + * will be blank (as if returned by av_packet_alloc()). + */ +int av_packet_ref(AVPacket *dst, const AVPacket *src); + +/** + * Wipe the packet. + * + * Unreference the buffer referenced by the packet and reset the + * remaining packet fields to their default values. + * + * @param pkt The packet to be unreferenced. + */ +void av_packet_unref(AVPacket *pkt); + +/** + * Move every field in src to dst and reset src. + * + * @see av_packet_unref + * + * @param src Source packet, will be reset + * @param dst Destination packet + */ +void av_packet_move_ref(AVPacket *dst, AVPacket *src); + +/** + * Copy only "properties" fields from src to dst. + * + * Properties for the purpose of this function are all the fields + * beside those related to the packet data (buf, data, size) + * + * @param dst Destination packet + * @param src Source packet + * + * @return 0 on success AVERROR on failure. + */ +int av_packet_copy_props(AVPacket *dst, const AVPacket *src); + +/** + * Ensure the data described by a given packet is reference counted. + * + * @note This function does not ensure that the reference will be writable. + * Use av_packet_make_writable instead for that purpose. + * + * @see av_packet_ref + * @see av_packet_make_writable + * + * @param pkt packet whose data should be made reference counted. + * + * @return 0 on success, a negative AVERROR on error. On failure, the + * packet is unchanged. + */ +int av_packet_make_refcounted(AVPacket *pkt); + +/** + * Create a writable reference for the data described by a given packet, + * avoiding data copy if possible. + * + * @param pkt Packet whose data should be made writable. + * + * @return 0 on success, a negative AVERROR on failure. On failure, the + * packet is unchanged. + */ +int av_packet_make_writable(AVPacket *pkt); + +/** + * Convert valid timing fields (timestamps / durations) in a packet from one + * timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be + * ignored. + * + * @param pkt packet on which the conversion will be performed + * @param tb_src source timebase, in which the timing fields in pkt are + * expressed + * @param tb_dst destination timebase, to which the timing fields will be + * converted + */ +void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst); + +/** + * @} + */ + +#endif // AVCODEC_PACKET_H diff --git a/ThirdParty/ffmpeg/include/libavcodec/version.h b/ThirdParty/ffmpeg/include/libavcodec/version.h index 2e047a6f5..85fbe24dc 100644 --- a/ThirdParty/ffmpeg/include/libavcodec/version.h +++ b/ThirdParty/ffmpeg/include/libavcodec/version.h @@ -28,8 +28,8 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 58 -#define LIBAVCODEC_VERSION_MINOR 59 -#define LIBAVCODEC_VERSION_MICRO 102 +#define LIBAVCODEC_VERSION_MINOR 91 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ @@ -135,6 +135,15 @@ #ifndef FF_API_UNSANITIZED_BITRATES #define FF_API_UNSANITIZED_BITRATES (LIBAVCODEC_VERSION_MAJOR < 59) #endif +#ifndef FF_API_OPENH264_SLICE_MODE +#define FF_API_OPENH264_SLICE_MODE (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_OPENH264_CABAC +#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_UNUSED_CODEC_CAPS +#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 59) +#endif #endif /* AVCODEC_VERSION_H */ diff --git a/ThirdParty/ffmpeg/include/libavformat/avformat.h b/ThirdParty/ffmpeg/include/libavformat/avformat.h index 6eb329f13..21c282a10 100644 --- a/ThirdParty/ffmpeg/include/libavformat/avformat.h +++ b/ThirdParty/ffmpeg/include/libavformat/avformat.h @@ -170,14 +170,9 @@ * information will be in AVStream.time_base units, i.e. it has to be * multiplied by the timebase to convert them to seconds. * - * If AVPacket.buf is set on the returned packet, then the packet is - * allocated dynamically and the user may keep it indefinitely. - * Otherwise, if AVPacket.buf is NULL, the packet data is backed by a - * static storage somewhere inside the demuxer and the packet is only valid - * until the next av_read_frame() call or closing the file. If the caller - * requires a longer lifetime, av_packet_make_refcounted() will ensure that - * the data is reference counted, copying the data if necessary. - * In both cases, the packet must be freed with av_packet_unref() when it is no + * A packet returned by av_read_frame() is always reference-counted, + * i.e. AVPacket.buf is set and the user may keep it indefinitely. + * The packet must be freed with av_packet_unref() when it is no * longer needed. * * @section lavf_decoding_seek Seeking @@ -556,7 +551,8 @@ typedef struct AVOutputFormat { int (*write_packet)(struct AVFormatContext *, AVPacket *pkt); int (*write_trailer)(struct AVFormatContext *); /** - * Currently only used to set pixel format if not YUV420P. + * A format-specific function for interleavement. + * If unset, packets will be interleaved by dts. */ int (*interleave_packet)(struct AVFormatContext *, AVPacket *out, AVPacket *in, int flush); @@ -715,8 +711,7 @@ typedef struct AVInputFormat { * AVFMTCTX_NOHEADER is used and only in the calling thread (not in a * background thread). * @return 0 on success, < 0 on error. - * When returning an error, pkt must not have been allocated - * or must be freed before returning + * Upon returning an error, pkt must be unreferenced by the caller. */ int (*read_packet)(struct AVFormatContext *, AVPacket *pkt); @@ -1125,7 +1120,6 @@ typedef struct AVStream { * -1 -> probing finished * 0 -> no probing requested * rest -> perform probing with request_probe being the minimum score to accept. - * NOT PART OF PUBLIC API */ int request_probe; /** @@ -1171,7 +1165,6 @@ typedef struct AVStream { /** * Timestamp offset added to timestamps before muxing - * NOT PART OF PUBLIC API */ int64_t mux_ts_offset; @@ -1951,6 +1944,13 @@ typedef struct AVFormatContext { * - decoding: set by user */ int skip_estimate_duration_from_pts; + + /** + * Maximum number of packets that can be probed + * - encoding: unused + * - decoding: set by user + */ + int max_probe_packets; } AVFormatContext; #if FF_API_FORMAT_GET_SET @@ -2390,13 +2390,12 @@ int av_find_best_stream(AVFormatContext *ic, * omit invalid data between valid frames so as to give the decoder the maximum * information possible for decoding. * - * If pkt->buf is NULL, then the packet is valid until the next - * av_read_frame() or until avformat_close_input(). Otherwise the packet - * is valid indefinitely. In both cases the packet must be freed with - * av_packet_unref when it is no longer needed. For video, the packet contains - * exactly one frame. For audio, it contains an integer number of frames if each - * frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames - * have a variable size (e.g. MPEG audio), then it contains one frame. + * On success, the returned packet is reference-counted (pkt->buf is set) and + * valid indefinitely. The packet must be freed with av_packet_unref() when + * it is no longer needed. For video, the packet contains exactly one frame. + * For audio, it contains an integer number of frames if each frame has + * a known fixed size (e.g. PCM or ADPCM data). If the audio frames have + * a variable size (e.g. MPEG audio), then it contains one frame. * * pkt->pts, pkt->dts and pkt->duration are always set to correct * values in AVStream.time_base units (and guessed if the format cannot @@ -2404,7 +2403,11 @@ int av_find_best_stream(AVFormatContext *ic, * has B-frames, so it is better to rely on pkt->dts if you do not * decompress the payload. * - * @return 0 if OK, < 0 on error or end of file + * @return 0 if OK, < 0 on error or end of file. On error, pkt will be blank + * (as if it came from av_packet_alloc()). + * + * @note pkt will be initialized, so it may be uninitialized, but it must not + * contain data that needs to be freed. */ int av_read_frame(AVFormatContext *s, AVPacket *pkt); @@ -2449,8 +2452,6 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, * @return >=0 on success, error code otherwise * * @note This is part of the new seek API which is still under construction. - * Thus do not use this yet. It may change at any time, do not expect - * ABI compatibility yet! */ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); @@ -2637,9 +2638,9 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt); * Write an uncoded frame to an output media file. * * The frame must be correctly interleaved according to the container - * specification; if not, then av_interleaved_write_frame() must be used. + * specification; if not, av_interleaved_write_uncoded_frame() must be used. * - * See av_interleaved_write_frame() for details. + * See av_interleaved_write_uncoded_frame() for details. */ int av_write_uncoded_frame(AVFormatContext *s, int stream_index, AVFrame *frame); diff --git a/ThirdParty/ffmpeg/include/libavformat/avio.h b/ThirdParty/ffmpeg/include/libavformat/avio.h index 9141642e7..d022820a6 100644 --- a/ThirdParty/ffmpeg/include/libavformat/avio.h +++ b/ThirdParty/ffmpeg/include/libavformat/avio.h @@ -807,6 +807,13 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); */ const char *avio_enum_protocols(void **opaque, int output); +/** + * Get AVClass by names of available protocols. + * + * @return A AVClass of input protocol name or NULL + */ +const AVClass *avio_protocol_get_class(const char *name); + /** * Pause and resume playing - only meaningful if using a network streaming * protocol (e.g. MMS). diff --git a/ThirdParty/ffmpeg/include/libavformat/version.h b/ThirdParty/ffmpeg/include/libavformat/version.h index bcd0408d2..13c8a615a 100644 --- a/ThirdParty/ffmpeg/include/libavformat/version.h +++ b/ThirdParty/ffmpeg/include/libavformat/version.h @@ -32,7 +32,7 @@ // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 58 -#define LIBAVFORMAT_VERSION_MINOR 33 +#define LIBAVFORMAT_VERSION_MINOR 45 #define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ diff --git a/ThirdParty/ffmpeg/include/libavutil/attributes.h b/ThirdParty/ffmpeg/include/libavutil/attributes.h index ced108aa2..5cb9fe345 100644 --- a/ThirdParty/ffmpeg/include/libavutil/attributes.h +++ b/ThirdParty/ffmpeg/include/libavutil/attributes.h @@ -34,6 +34,12 @@ # define AV_GCC_VERSION_AT_MOST(x,y) 0 #endif +#ifdef __has_builtin +# define AV_HAS_BUILTIN(x) __has_builtin(x) +#else +# define AV_HAS_BUILTIN(x) 0 +#endif + #ifndef av_always_inline #if AV_GCC_VERSION_AT_LEAST(3,1) # define av_always_inline __attribute__((always_inline)) inline diff --git a/ThirdParty/ffmpeg/include/libavutil/buffer.h b/ThirdParty/ffmpeg/include/libavutil/buffer.h index 73b6bd0b1..c0f3f6cc9 100644 --- a/ThirdParty/ffmpeg/include/libavutil/buffer.h +++ b/ThirdParty/ffmpeg/include/libavutil/buffer.h @@ -254,12 +254,13 @@ AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size)); * @param size size of each buffer in this pool * @param opaque arbitrary user data used by the allocator * @param alloc a function that will be used to allocate new buffers when the - * pool is empty. + * pool is empty. May be NULL, then the default allocator will be + * used (av_buffer_alloc()). * @param pool_free a function that will be called immediately before the pool * is freed. I.e. after av_buffer_pool_uninit() is called * by the caller and all the frames are returned to the pool * and freed. It is intended to uninitialize the user opaque - * data. + * data. May be NULL. * @return newly created buffer pool on success, NULL on error. */ AVBufferPool *av_buffer_pool_init2(int size, void *opaque, @@ -284,6 +285,19 @@ void av_buffer_pool_uninit(AVBufferPool **pool); */ AVBufferRef *av_buffer_pool_get(AVBufferPool *pool); +/** + * Query the original opaque parameter of an allocated buffer in the pool. + * + * @param ref a buffer reference to a buffer returned by av_buffer_pool_get. + * @return the opaque parameter set by the buffer allocator function of the + * buffer pool. + * + * @note the opaque parameter of ref is used by the buffer pool implementation, + * therefore you have to use this function to access the original opaque + * parameter of an allocated buffer. + */ +void *av_buffer_pool_buffer_get_opaque(AVBufferRef *ref); + /** * @} */ diff --git a/ThirdParty/ffmpeg/include/libavutil/common.h b/ThirdParty/ffmpeg/include/libavutil/common.h index f09f0b486..2777cea9f 100644 --- a/ThirdParty/ffmpeg/include/libavutil/common.h +++ b/ThirdParty/ffmpeg/include/libavutil/common.h @@ -291,6 +291,46 @@ static av_always_inline int av_sat_dsub32_c(int a, int b) return av_sat_sub32(a, av_sat_add32(b, b)); } +/** + * Add two signed 64-bit values with saturation. + * + * @param a one value + * @param b another value + * @return sum with signed saturation + */ +static av_always_inline int64_t av_sat_add64_c(int64_t a, int64_t b) { +#if (!defined(__INTEL_COMPILER) && AV_GCC_VERSION_AT_LEAST(5,1)) || AV_HAS_BUILTIN(__builtin_add_overflow) + int64_t tmp; + return !__builtin_add_overflow(a, b, &tmp) ? tmp : (tmp < 0 ? INT64_MAX : INT64_MIN); +#else + if (b >= 0 && a >= INT64_MAX - b) + return INT64_MAX; + if (b <= 0 && a <= INT64_MIN - b) + return INT64_MIN; + return a + b; +#endif +} + +/** + * Subtract two signed 64-bit values with saturation. + * + * @param a one value + * @param b another value + * @return difference with signed saturation + */ +static av_always_inline int64_t av_sat_sub64_c(int64_t a, int64_t b) { +#if (!defined(__INTEL_COMPILER) && AV_GCC_VERSION_AT_LEAST(5,1)) || AV_HAS_BUILTIN(__builtin_sub_overflow) + int64_t tmp; + return !__builtin_sub_overflow(a, b, &tmp) ? tmp : (tmp < 0 ? INT64_MAX : INT64_MIN); +#else + if (b <= 0 && a >= INT64_MAX + b) + return INT64_MAX; + if (b >= 0 && a <= INT64_MIN + b) + return INT64_MIN; + return a - b; +#endif +} + /** * Clip a float value into the amin-amax range. * @param a value to clip @@ -373,7 +413,9 @@ static av_always_inline av_const int av_parity_c(uint32_t v) * @param GET_BYTE Expression reading one byte from the input. * Evaluated up to 7 times (4 for the currently * assigned Unicode range). With a memory buffer - * input, this could be *ptr++. + * input, this could be *ptr++, or if you want to make sure + * that *ptr stops at the end of a NULL terminated string then + * *ptr ? *ptr++ : 0 * @param ERROR Expression to be evaluated on invalid input, * typically a goto statement. * @@ -387,11 +429,11 @@ static av_always_inline av_const int av_parity_c(uint32_t v) {\ uint32_t top = (val & 128) >> 1;\ if ((val & 0xc0) == 0x80 || val >= 0xFE)\ - ERROR\ + {ERROR}\ while (val & top) {\ - int tmp= (GET_BYTE) - 128;\ + unsigned int tmp = (GET_BYTE) - 128;\ if(tmp>>6)\ - ERROR\ + {ERROR}\ val= (val<<6) + tmp;\ top <<= 5;\ }\ @@ -408,13 +450,13 @@ static av_always_inline av_const int av_parity_c(uint32_t v) * typically a goto statement. */ #define GET_UTF16(val, GET_16BIT, ERROR)\ - val = GET_16BIT;\ + val = (GET_16BIT);\ {\ unsigned int hi = val - 0xD800;\ if (hi < 0x800) {\ - val = GET_16BIT - 0xDC00;\ + val = (GET_16BIT) - 0xDC00;\ if (val > 0x3FFU || hi > 0x3FFU)\ - ERROR\ + {ERROR}\ val += (hi<<10) + 0x10000;\ }\ }\ @@ -543,6 +585,12 @@ static av_always_inline av_const int av_parity_c(uint32_t v) #ifndef av_sat_dsub32 # define av_sat_dsub32 av_sat_dsub32_c #endif +#ifndef av_sat_add64 +# define av_sat_add64 av_sat_add64_c +#endif +#ifndef av_sat_sub64 +# define av_sat_sub64 av_sat_sub64_c +#endif #ifndef av_clipf # define av_clipf av_clipf_c #endif diff --git a/ThirdParty/ffmpeg/include/libavutil/dovi_meta.h b/ThirdParty/ffmpeg/include/libavutil/dovi_meta.h new file mode 100644 index 000000000..299911d43 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavutil/dovi_meta.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2020 Vacing Fang + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * DOVI configuration + */ + + +#ifndef AVUTIL_DOVI_META_H +#define AVUTIL_DOVI_META_H + +#include +#include + +/* + * DOVI configuration + * ref: dolby-vision-bitstreams-within-the-iso-base-media-file-format-v2.1.2 + dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2 + * @code + * uint8_t dv_version_major, the major version number that the stream complies with + * uint8_t dv_version_minor, the minor version number that the stream complies with + * uint8_t dv_profile, the Dolby Vision profile + * uint8_t dv_level, the Dolby Vision level + * uint8_t rpu_present_flag + * uint8_t el_present_flag + * uint8_t bl_present_flag + * uint8_t dv_bl_signal_compatibility_id + * @endcode + * + * @note The struct must be allocated with av_dovi_alloc() and + * its size is not a part of the public ABI. + */ +typedef struct AVDOVIDecoderConfigurationRecord { + uint8_t dv_version_major; + uint8_t dv_version_minor; + uint8_t dv_profile; + uint8_t dv_level; + uint8_t rpu_present_flag; + uint8_t el_present_flag; + uint8_t bl_present_flag; + uint8_t dv_bl_signal_compatibility_id; +} AVDOVIDecoderConfigurationRecord; + +/** + * Allocate a AVDOVIDecoderConfigurationRecord structure and initialize its + * fields to default values. + * + * @return the newly allocated struct or NULL on failure + */ +AVDOVIDecoderConfigurationRecord *av_dovi_alloc(size_t *size); + +#endif /* AVUTIL_DOVI_META_H */ diff --git a/ThirdParty/ffmpeg/include/libavutil/eval.h b/ThirdParty/ffmpeg/include/libavutil/eval.h index dacd22b96..068c62cda 100644 --- a/ThirdParty/ffmpeg/include/libavutil/eval.h +++ b/ThirdParty/ffmpeg/include/libavutil/eval.h @@ -86,6 +86,30 @@ int av_expr_parse(AVExpr **expr, const char *s, */ double av_expr_eval(AVExpr *e, const double *const_values, void *opaque); +/** + * Track the presence of variables and their number of occurrences in a parsed expression + * + * @param counter a zero-initialized array where the count of each variable will be stored + * @param size size of array + * @return 0 on success, a negative value indicates that no expression or array was passed + * or size was zero + */ +int av_expr_count_vars(AVExpr *e, unsigned *counter, int size); + +/** + * Track the presence of user provided functions and their number of occurrences + * in a parsed expression. + * + * @param counter a zero-initialized array where the count of each function will be stored + * if you passed 5 functions with 2 arguments to av_expr_parse() + * then for arg=2 this will use upto 5 entries. + * @param size size of array + * @param arg number of arguments the counted functions have + * @return 0 on success, a negative value indicates that no expression or array was passed + * or size was zero + */ +int av_expr_count_func(AVExpr *e, unsigned *counter, int size, int arg); + /** * Free a parsed expression previously created with av_expr_parse(). */ diff --git a/ThirdParty/ffmpeg/include/libavutil/ffversion.h b/ThirdParty/ffmpeg/include/libavutil/ffversion.h index 37f3abfce..117d49d34 100644 --- a/ThirdParty/ffmpeg/include/libavutil/ffversion.h +++ b/ThirdParty/ffmpeg/include/libavutil/ffversion.h @@ -1,5 +1,5 @@ /* Automatically generated by version.sh, do not manually edit! */ #ifndef AVUTIL_FFVERSION_H #define AVUTIL_FFVERSION_H -#define FFMPEG_VERSION "N-95393-g29dac2927f" +#define FFMPEG_VERSION "4.3" #endif /* AVUTIL_FFVERSION_H */ diff --git a/ThirdParty/ffmpeg/include/libavutil/frame.h b/ThirdParty/ffmpeg/include/libavutil/frame.h index 5d3231e7b..fc67db0f6 100644 --- a/ThirdParty/ffmpeg/include/libavutil/frame.h +++ b/ThirdParty/ffmpeg/include/libavutil/frame.h @@ -179,6 +179,11 @@ enum AVFrameSideDataType { * array element is implied by AVFrameSideData.size / AVRegionOfInterest.self_size. */ AV_FRAME_DATA_REGIONS_OF_INTEREST, + + /** + * Encoding parameters for a video frame, as described by AVVideoEncParams. + */ + AV_FRAME_DATA_VIDEO_ENC_PARAMS, }; enum AVActiveFormatDescription { @@ -920,8 +925,7 @@ AVFrameSideData *av_frame_get_side_data(const AVFrame *frame, enum AVFrameSideDataType type); /** - * If side data of the supplied type exists in the frame, free it and remove it - * from the frame. + * Remove and free all side data instances of the given type. */ void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type); diff --git a/ThirdParty/ffmpeg/include/libavutil/hwcontext.h b/ThirdParty/ffmpeg/include/libavutil/hwcontext.h index f5a4b6238..04d19d89c 100644 --- a/ThirdParty/ffmpeg/include/libavutil/hwcontext.h +++ b/ThirdParty/ffmpeg/include/libavutil/hwcontext.h @@ -36,6 +36,7 @@ enum AVHWDeviceType { AV_HWDEVICE_TYPE_DRM, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_MEDIACODEC, + AV_HWDEVICE_TYPE_VULKAN, }; typedef struct AVHWDeviceInternal AVHWDeviceInternal; @@ -327,6 +328,26 @@ int av_hwdevice_ctx_create_derived(AVBufferRef **dst_ctx, enum AVHWDeviceType type, AVBufferRef *src_ctx, int flags); +/** + * Create a new device of the specified type from an existing device. + * + * This function performs the same action as av_hwdevice_ctx_create_derived, + * however, it is able to set options for the new device to be derived. + * + * @param dst_ctx On success, a reference to the newly-created + * AVHWDeviceContext. + * @param type The type of the new device to create. + * @param src_ctx A reference to an existing AVHWDeviceContext which will be + * used to create the new device. + * @param options Options for the new device to create, same format as in + * av_hwdevice_ctx_create. + * @param flags Currently unused; should be set to zero. + * @return Zero on success, a negative AVERROR code on failure. + */ +int av_hwdevice_ctx_create_derived_opts(AVBufferRef **dst_ctx, + enum AVHWDeviceType type, + AVBufferRef *src_ctx, + AVDictionary *options, int flags); /** * Allocate an AVHWFramesContext tied to a given device context. diff --git a/ThirdParty/ffmpeg/include/libavutil/hwcontext_cuda.h b/ThirdParty/ffmpeg/include/libavutil/hwcontext_cuda.h index 81a0552ca..cefbe0cea 100644 --- a/ThirdParty/ffmpeg/include/libavutil/hwcontext_cuda.h +++ b/ThirdParty/ffmpeg/include/libavutil/hwcontext_cuda.h @@ -49,4 +49,21 @@ typedef struct AVCUDADeviceContext { * AVHWFramesContext.hwctx is currently not used */ +/** + * @defgroup hwcontext_cuda Device context creation flags + * + * Flags for av_hwdevice_ctx_create. + * + * @{ + */ + +/** + * Use primary device context instead of creating a new one. + */ +#define AV_CUDA_USE_PRIMARY_CONTEXT (1 << 0) + +/** + * @} + */ + #endif /* AVUTIL_HWCONTEXT_CUDA_H */ diff --git a/ThirdParty/ffmpeg/include/libavutil/hwcontext_opencl.h b/ThirdParty/ffmpeg/include/libavutil/hwcontext_opencl.h new file mode 100644 index 000000000..ef54486c9 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavutil/hwcontext_opencl.h @@ -0,0 +1,100 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_OPENCL_H +#define AVUTIL_HWCONTEXT_OPENCL_H + +#ifdef __APPLE__ +#include +#else +#include +#endif + +#include "frame.h" + +/** + * @file + * API-specific header for AV_HWDEVICE_TYPE_OPENCL. + * + * Pools allocated internally are always dynamic, and are primarily intended + * to be used in OpenCL-only cases. If interoperation is required, it is + * typically required to allocate frames in the other API and then map the + * frames context to OpenCL with av_hwframe_ctx_create_derived(). + */ + +/** + * OpenCL frame descriptor for pool allocation. + * + * In user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs + * with the data pointer pointing at an object of this type describing the + * planes of the frame. + */ +typedef struct AVOpenCLFrameDescriptor { + /** + * Number of planes in the frame. + */ + int nb_planes; + /** + * OpenCL image2d objects for each plane of the frame. + */ + cl_mem planes[AV_NUM_DATA_POINTERS]; +} AVOpenCLFrameDescriptor; + +/** + * OpenCL device details. + * + * Allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVOpenCLDeviceContext { + /** + * The primary device ID of the device. If multiple OpenCL devices + * are associated with the context then this is the one which will + * be used for all operations internal to FFmpeg. + */ + cl_device_id device_id; + /** + * The OpenCL context which will contain all operations and frames on + * this device. + */ + cl_context context; + /** + * The default command queue for this device, which will be used by all + * frames contexts which do not have their own command queue. If not + * intialised by the user, a default queue will be created on the + * primary device. + */ + cl_command_queue command_queue; +} AVOpenCLDeviceContext; + +/** + * OpenCL-specific data associated with a frame pool. + * + * Allocated as AVHWFramesContext.hwctx. + */ +typedef struct AVOpenCLFramesContext { + /** + * The command queue used for internal asynchronous operations on this + * device (av_hwframe_transfer_data(), av_hwframe_map()). + * + * If this is not set, the command queue from the associated device is + * used instead. + */ + cl_command_queue command_queue; +} AVOpenCLFramesContext; + +#endif /* AVUTIL_HWCONTEXT_OPENCL_H */ diff --git a/ThirdParty/ffmpeg/include/libavutil/hwcontext_vulkan.h b/ThirdParty/ffmpeg/include/libavutil/hwcontext_vulkan.h new file mode 100644 index 000000000..5cbeb8e7e --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavutil/hwcontext_vulkan.h @@ -0,0 +1,204 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_VULKAN_H +#define AVUTIL_HWCONTEXT_VULKAN_H + +#include + +#include "pixfmt.h" +#include "frame.h" + +/** + * @file + * API-specific header for AV_HWDEVICE_TYPE_VULKAN. + * + * For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs + * with the data pointer set to an AVVkFrame. + */ + +/** + * Main Vulkan context, allocated as AVHWDeviceContext.hwctx. + * All of these can be set before init to change what the context uses + */ +typedef struct AVVulkanDeviceContext { + /** + * Custom memory allocator, else NULL + */ + const VkAllocationCallbacks *alloc; + /** + * Vulkan instance. Must be at least version 1.1. + */ + VkInstance inst; + /** + * Physical device + */ + VkPhysicalDevice phys_dev; + /** + * Active device + */ + VkDevice act_dev; + /** + * Queue family index for graphics + * @note av_hwdevice_create() will set all 3 queue indices if unset + * If there is no dedicated queue for compute or transfer operations, + * they will be set to the graphics queue index which can handle both. + * nb_graphics_queues indicates how many queues were enabled for the + * graphics queue (must be at least 1) + */ + int queue_family_index; + int nb_graphics_queues; + /** + * Queue family index to use for transfer operations, and the amount of queues + * enabled. In case there is no dedicated transfer queue, nb_tx_queues + * must be 0 and queue_family_tx_index must be the same as either the graphics + * queue or the compute queue, if available. + */ + int queue_family_tx_index; + int nb_tx_queues; + /** + * Queue family index for compute ops, and the amount of queues enabled. + * In case there are no dedicated compute queues, nb_comp_queues must be + * 0 and its queue family index must be set to the graphics queue. + */ + int queue_family_comp_index; + int nb_comp_queues; + /** + * Enabled instance extensions. + * If supplying your own device context, set this to an array of strings, with + * each entry containing the specified Vulkan extension string to enable. + * Duplicates are possible and accepted. + * If no extensions are enabled, set these fields to NULL, and 0 respectively. + */ + const char * const *enabled_inst_extensions; + int nb_enabled_inst_extensions; + /** + * Enabled device extensions. By default, VK_KHR_external_memory_fd, + * VK_EXT_external_memory_dma_buf, VK_EXT_image_drm_format_modifier, + * VK_KHR_external_semaphore_fd and VK_EXT_external_memory_host are enabled if found. + * If supplying your own device context, these fields takes the same format as + * the above fields, with the same conditions that duplicates are possible + * and accepted, and that NULL and 0 respectively means no extensions are enabled. + */ + const char * const *enabled_dev_extensions; + int nb_enabled_dev_extensions; + /** + * This structure should be set to the set of features that present and enabled + * during device creation. When a device is created by FFmpeg, it will default to + * enabling all that are present of the shaderImageGatherExtended, + * fragmentStoresAndAtomics, shaderInt64 and vertexPipelineStoresAndAtomics features. + */ + VkPhysicalDeviceFeatures2 device_features; +} AVVulkanDeviceContext; + +/** + * Allocated as AVHWFramesContext.hwctx, used to set pool-specific options + */ +typedef struct AVVulkanFramesContext { + /** + * Controls the tiling of allocated frames. + */ + VkImageTiling tiling; + /** + * Defines extra usage of output frames. If left as 0, the following bits + * are set: TRANSFER_SRC, TRANSFER_DST. SAMPLED and STORAGE. + */ + VkImageUsageFlagBits usage; + /** + * Extension data for image creation. + */ + void *create_pnext; + /** + * Extension data for memory allocation. Must have as many entries as + * the number of planes of the sw_format. + * This will be chained to VkExportMemoryAllocateInfo, which is used + * to make all pool images exportable to other APIs if the necessary + * extensions are present in enabled_dev_extensions. + */ + void *alloc_pnext[AV_NUM_DATA_POINTERS]; +} AVVulkanFramesContext; + +/* + * Frame structure, the VkFormat of the image will always match + * the pool's sw_format. + * All frames, imported or allocated, will be created with the + * VK_IMAGE_CREATE_ALIAS_BIT flag set, so the memory may be aliased if needed. + * + * If all three queue family indices in the device context are the same, + * images will be created with the EXCLUSIVE sharing mode. Otherwise, all images + * will be created using the CONCURRENT sharing mode. + * + * @note the size of this structure is not part of the ABI, to allocate + * you must use @av_vk_frame_alloc(). + */ +typedef struct AVVkFrame { + /** + * Vulkan images to which the memory is bound to. + */ + VkImage img[AV_NUM_DATA_POINTERS]; + + /** + * The same tiling must be used for all images in the frame. + */ + VkImageTiling tiling; + + /** + * Memory backing the images. Could be less than the amount of images + * if importing from a DRM or VAAPI frame. + */ + VkDeviceMemory mem[AV_NUM_DATA_POINTERS]; + size_t size[AV_NUM_DATA_POINTERS]; + + /** + * OR'd flags for all memory allocated + */ + VkMemoryPropertyFlagBits flags; + + /** + * Updated after every barrier + */ + VkAccessFlagBits access[AV_NUM_DATA_POINTERS]; + VkImageLayout layout[AV_NUM_DATA_POINTERS]; + + /** + * Synchronization semaphores. Must not be freed manually. Must be waited on + * and signalled at every queue submission. + * Could be less than the amount of images: either one per VkDeviceMemory + * or one for the entire frame. All others will be set to VK_NULL_HANDLE. + */ + VkSemaphore sem[AV_NUM_DATA_POINTERS]; + + /** + * Internal data. + */ + struct AVVkFrameInternal *internal; +} AVVkFrame; + +/** + * Allocates a single AVVkFrame and initializes everything as 0. + * @note Must be freed via av_free() + */ +AVVkFrame *av_vk_frame_alloc(void); + +/** + * Returns the format of each image up to the number of planes for a given sw_format. + * Returns NULL on unsupported formats. + */ +const VkFormat *av_vkfmt_from_pixfmt(enum AVPixelFormat p); + +#endif /* AVUTIL_HWCONTEXT_VULKAN_H */ diff --git a/ThirdParty/ffmpeg/include/libavutil/lfg.h b/ThirdParty/ffmpeg/include/libavutil/lfg.h index 03f779ad8..2b669205d 100644 --- a/ThirdParty/ffmpeg/include/libavutil/lfg.h +++ b/ThirdParty/ffmpeg/include/libavutil/lfg.h @@ -24,6 +24,12 @@ #include +/** + * Context structure for the Lagged Fibonacci PRNG. + * The exact layout, types and content of this struct may change and should + * not be accessed directly. Only its sizeof() is guranteed to stay the same + * to allow easy instanciation. + */ typedef struct AVLFG { unsigned int state[64]; int index; @@ -45,8 +51,9 @@ int av_lfg_init_from_data(AVLFG *c, const uint8_t *data, unsigned int length); * it may be good enough and faster for your specific use case. */ static inline unsigned int av_lfg_get(AVLFG *c){ - c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63]; - return c->state[c->index++ & 63]; + unsigned a = c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63]; + c->index += 1U; + return a; } /** @@ -57,7 +64,9 @@ static inline unsigned int av_lfg_get(AVLFG *c){ static inline unsigned int av_mlfg_get(AVLFG *c){ unsigned int a= c->state[(c->index-55) & 63]; unsigned int b= c->state[(c->index-24) & 63]; - return c->state[c->index++ & 63] = 2*a*b+a+b; + a = c->state[c->index & 63] = 2*a*b+a+b; + c->index += 1U; + return a; } /** diff --git a/ThirdParty/ffmpeg/include/libavutil/log.h b/ThirdParty/ffmpeg/include/libavutil/log.h index d9554e609..9c14188a9 100644 --- a/ThirdParty/ffmpeg/include/libavutil/log.h +++ b/ThirdParty/ffmpeg/include/libavutil/log.h @@ -233,6 +233,27 @@ typedef struct AVClass { */ void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4); +/** + * Send the specified message to the log once with the initial_level and then with + * the subsequent_level. By default, all logging messages are sent to + * stderr. This behavior can be altered by setting a different logging callback + * function. + * @see av_log + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct or NULL if general log. + * @param initial_level importance level of the message expressed using a @ref + * lavu_log_constants "Logging Constant" for the first occurance. + * @param subsequent_level importance level of the message expressed using a @ref + * lavu_log_constants "Logging Constant" after the first occurance. + * @param fmt The format string (printf-compatible) that specifies how + * subsequent arguments are converted to output. + * @param state a variable to keep trak of if a message has already been printed + * this must be initialized to 0 before the first use. The same state + * must not be accessed by 2 Threads simultaneously. + */ +void av_log_once(void* avcl, int initial_level, int subsequent_level, int *state, const char *fmt, ...) av_printf_format(5, 6); + /** * Send the specified message to the log if the level is less than or equal diff --git a/ThirdParty/ffmpeg/include/libavutil/opt.h b/ThirdParty/ffmpeg/include/libavutil/opt.h index bc98ab104..e46119572 100644 --- a/ThirdParty/ffmpeg/include/libavutil/opt.h +++ b/ThirdParty/ffmpeg/include/libavutil/opt.h @@ -291,6 +291,7 @@ typedef struct AVOption { #define AV_OPT_FLAG_RUNTIME_PARAM (1<<15) ///< a generic parameter which can be set by the user at runtime #define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering #define AV_OPT_FLAG_DEPRECATED (1<<17) ///< set if option is deprecated, users should refer to AVOption.help text for more information +#define AV_OPT_FLAG_CHILD_CONSTS (1<<18) ///< set if option constants can also reside in child objects //FIXME think about enc-audio, ... style flags /** @@ -670,6 +671,9 @@ const AVClass *av_opt_child_class_next(const AVClass *parent, const AVClass *pre * scalars or named flags separated by '+' or '-'. Prefixing a flag * with '+' causes it to be set without affecting the other flags; * similarly, '-' unsets a flag. + * If the field is of a dictionary type, it has to be a ':' separated list of + * key=value parameters. Values containing ':' special characters must be + * escaped. * @param search_flags flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN * is passed here, then the option may be set on a child of obj. * @@ -730,9 +734,10 @@ int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, in /** * @note the returned string will be av_malloc()ed and must be av_free()ed by the caller * - * @note if AV_OPT_ALLOW_NULL is set in search_flags in av_opt_get, and the option has - * AV_OPT_TYPE_STRING or AV_OPT_TYPE_BINARY and is set to NULL, *out_val will be set - * to NULL instead of an allocated empty string. + * @note if AV_OPT_ALLOW_NULL is set in search_flags in av_opt_get, and the + * option is of type AV_OPT_TYPE_STRING, AV_OPT_TYPE_BINARY or AV_OPT_TYPE_DICT + * and is set to NULL, *out_val will be set to NULL instead of an allocated + * empty string. */ int av_opt_get (void *obj, const char *name, int search_flags, uint8_t **out_val); int av_opt_get_int (void *obj, const char *name, int search_flags, int64_t *out_val); diff --git a/ThirdParty/ffmpeg/include/libavutil/pixfmt.h b/ThirdParty/ffmpeg/include/libavutil/pixfmt.h index d78e863d4..1c625cfc8 100644 --- a/ThirdParty/ffmpeg/include/libavutil/pixfmt.h +++ b/ThirdParty/ffmpeg/include/libavutil/pixfmt.h @@ -257,18 +257,18 @@ enum AVPixelFormat { AV_PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little-endian AV_PIX_FMT_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range - AV_PIX_FMT_BAYER_BGGR8, ///< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */ - AV_PIX_FMT_BAYER_RGGB8, ///< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */ - AV_PIX_FMT_BAYER_GBRG8, ///< bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */ - AV_PIX_FMT_BAYER_GRBG8, ///< bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */ - AV_PIX_FMT_BAYER_BGGR16LE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian */ - AV_PIX_FMT_BAYER_BGGR16BE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian */ - AV_PIX_FMT_BAYER_RGGB16LE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */ - AV_PIX_FMT_BAYER_RGGB16BE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian */ - AV_PIX_FMT_BAYER_GBRG16LE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */ - AV_PIX_FMT_BAYER_GBRG16BE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */ - AV_PIX_FMT_BAYER_GRBG16LE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */ - AV_PIX_FMT_BAYER_GRBG16BE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_BGGR8, ///< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples + AV_PIX_FMT_BAYER_RGGB8, ///< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples + AV_PIX_FMT_BAYER_GBRG8, ///< bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples + AV_PIX_FMT_BAYER_GRBG8, ///< bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples + AV_PIX_FMT_BAYER_BGGR16LE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian + AV_PIX_FMT_BAYER_BGGR16BE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian + AV_PIX_FMT_BAYER_RGGB16LE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian + AV_PIX_FMT_BAYER_RGGB16BE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian + AV_PIX_FMT_BAYER_GBRG16LE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian + AV_PIX_FMT_BAYER_GBRG16BE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian + AV_PIX_FMT_BAYER_GRBG16LE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian + AV_PIX_FMT_BAYER_GRBG16BE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian AV_PIX_FMT_XVMC,///< XVideo Motion Acceleration via common packet passing @@ -348,6 +348,16 @@ enum AVPixelFormat { AV_PIX_FMT_NV24, ///< planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V) AV_PIX_FMT_NV42, ///< as above, but U and V bytes are swapped + /** + * Vulkan hardware images. + * + * data[0] points to an AVVkFrame + */ + AV_PIX_FMT_VULKAN, + + AV_PIX_FMT_Y210BE, ///< packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, big-endian + AV_PIX_FMT_Y210LE, ///< packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, little-endian + AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; @@ -436,6 +446,8 @@ enum AVPixelFormat { #define AV_PIX_FMT_P010 AV_PIX_FMT_NE(P010BE, P010LE) #define AV_PIX_FMT_P016 AV_PIX_FMT_NE(P016BE, P016LE) +#define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE) + /** * Chromaticity coordinates of the source primaries. * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.1. diff --git a/ThirdParty/ffmpeg/include/libavutil/rational.h b/ThirdParty/ffmpeg/include/libavutil/rational.h index 5c6b67b4e..cbb08a0ba 100644 --- a/ThirdParty/ffmpeg/include/libavutil/rational.h +++ b/ThirdParty/ffmpeg/include/libavutil/rational.h @@ -207,6 +207,12 @@ int av_find_nearest_q_idx(AVRational q, const AVRational* q_list); */ uint32_t av_q2intfloat(AVRational q); +/** + * Return the best rational so that a and b are multiple of it. + * If the resulting denominator is larger than max_den, return def. + */ +AVRational av_gcd_q(AVRational a, AVRational b, int max_den, AVRational def); + /** * @} */ diff --git a/ThirdParty/ffmpeg/include/libavutil/tx.h b/ThirdParty/ffmpeg/include/libavutil/tx.h index d6cdfdf9f..418e8ec1e 100644 --- a/ThirdParty/ffmpeg/include/libavutil/tx.h +++ b/ThirdParty/ffmpeg/include/libavutil/tx.h @@ -32,15 +32,25 @@ typedef struct AVComplexDouble { double re, im; } AVComplexDouble; +typedef struct AVComplexInt32 { + int32_t re, im; +} AVComplexInt32; + enum AVTXType { /** * Standard complex to complex FFT with sample data type AVComplexFloat. - * Scaling currently unsupported + * Output is not 1/len normalized. Scaling currently unsupported. + * The stride parameter is ignored. */ AV_TX_FLOAT_FFT = 0, /** * Standard MDCT with sample data type of float and a scale type of * float. Length is the frame size, not the window size (which is 2x frame) + * For forward transforms, the stride specifies the spacing between each + * sample in the output array in bytes. The input must be a flat array. + * For inverse transforms, the stride specifies the spacing between each + * sample in the input array in bytes. The output will be a flat array. + * Stride must be a non-zero multiple of sizeof(float). */ AV_TX_FLOAT_MDCT = 1, /** @@ -49,8 +59,19 @@ enum AVTXType { AV_TX_DOUBLE_FFT = 2, /** * Same as AV_TX_FLOAT_MDCT with data and scale type of double. + * Stride must be a non-zero multiple of sizeof(double). */ AV_TX_DOUBLE_MDCT = 3, + /** + * Same as AV_TX_FLOAT_FFT with a data type of AVComplexInt32. + */ + AV_TX_INT32_FFT = 4, + /** + * Same as AV_TX_FLOAT_MDCT with data type of int32_t and scale type of float. + * Only scale values less than or equal to 1.0 are supported. + * Stride must be a non-zero multiple of sizeof(int32_t). + */ + AV_TX_INT32_MDCT = 5, }; /** @@ -62,14 +83,17 @@ enum AVTXType { * @param s the transform context * @param out the output array * @param in the input array - * @param stride the input or output stride (depending on transform direction) - * in bytes, currently implemented for all MDCT transforms + * @param stride the input or output stride in bytes + * + * The out and in arrays must be aligned to the maximum required by the CPU + * architecture. + * The stride must follow the constraints the transform type has specified. */ typedef void (*av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride); /** * Initialize a transform context with the given configuration - * Currently power of two lengths from 4 to 131072 are supported, along with + * Currently power of two lengths from 2 to 131072 are supported, along with * any length decomposable to a power of two and either 3, 5 or 15. * * @param ctx the context to allocate, will be NULL on error diff --git a/ThirdParty/ffmpeg/include/libavutil/version.h b/ThirdParty/ffmpeg/include/libavutil/version.h index 27d663baf..0ff722fbf 100644 --- a/ThirdParty/ffmpeg/include/libavutil/version.h +++ b/ThirdParty/ffmpeg/include/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 56 -#define LIBAVUTIL_VERSION_MINOR 35 -#define LIBAVUTIL_VERSION_MICRO 101 +#define LIBAVUTIL_VERSION_MINOR 51 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \ diff --git a/ThirdParty/ffmpeg/include/libavutil/video_enc_params.h b/ThirdParty/ffmpeg/include/libavutil/video_enc_params.h new file mode 100644 index 000000000..43fa44315 --- /dev/null +++ b/ThirdParty/ffmpeg/include/libavutil/video_enc_params.h @@ -0,0 +1,163 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_VIDEO_ENC_PARAMS_H +#define AVUTIL_VIDEO_ENC_PARAMS_H + +#include +#include + +#include "libavutil/avassert.h" +#include "libavutil/frame.h" + +enum AVVideoEncParamsType { + AV_VIDEO_ENC_PARAMS_NONE = -1, + /** + * VP9 stores: + * - per-frame base (luma AC) quantizer index, exported as AVVideoEncParams.qp + * - deltas for luma DC, chroma AC and chroma DC, exported in the + * corresponding entries in AVVideoEncParams.delta_qp + * - per-segment delta, exported as for each block as AVVideoBlockParams.delta_qp + * + * To compute the resulting quantizer index for a block: + * - for luma AC, add the base qp and the per-block delta_qp, saturating to + * unsigned 8-bit. + * - for luma DC and chroma AC/DC, add the corresponding + * AVVideoBlockParams.delta_qp to the luma AC index, again saturating to + * unsigned 8-bit. + */ + AV_VIDEO_ENC_PARAMS_VP9, + + /** + * H.264 stores: + * - in PPS (per-picture): + * * initial QP_Y (luma) value, exported as AVVideoEncParams.qp + * * delta(s) for chroma QP values (same for both, or each separately), + * exported as in the corresponding entries in AVVideoEncParams.delta_qp + * - per-slice QP delta, not exported directly, added to the per-MB value + * - per-MB delta; not exported directly; the final per-MB quantizer + * parameter - QP_Y - minus the value in AVVideoEncParams.qp is exported + * as AVVideoBlockParams.qp_delta. + */ + AV_VIDEO_ENC_PARAMS_H264, +}; + +/** + * Video encoding parameters for a given frame. This struct is allocated along + * with an optional array of per-block AVVideoBlockParams descriptors. + * Must be allocated with av_video_enc_params_alloc(). + */ +typedef struct AVVideoEncParams { + /** + * Number of blocks in the array. + * + * May be 0, in which case no per-block information is present. In this case + * the values of blocks_offset / block_size are unspecified and should not + * be accessed. + */ + unsigned int nb_blocks; + /** + * Offset in bytes from the beginning of this structure at which the array + * of blocks starts. + */ + size_t blocks_offset; + /* + * Size of each block in bytes. May not match sizeof(AVVideoBlockParams). + */ + size_t block_size; + + /** + * Type of the parameters (the codec they are used with). + */ + enum AVVideoEncParamsType type; + + /** + * Base quantisation parameter for the frame. The final quantiser for a + * given block in a given plane is obtained from this value, possibly + * combined with {@code delta_qp} and the per-block delta in a manner + * documented for each type. + */ + int32_t qp; + + /** + * Quantisation parameter offset from the base (per-frame) qp for a given + * plane (first index) and AC/DC coefficients (second index). + */ + int32_t delta_qp[4][2]; +} AVVideoEncParams; + +/** + * Data structure for storing block-level encoding information. + * It is allocated as a part of AVVideoEncParams and should be retrieved with + * av_video_enc_params_block(). + * + * sizeof(AVVideoBlockParams) is not a part of the ABI and new fields may be + * added to it. + */ +typedef struct AVVideoBlockParams { + /** + * Distance in luma pixels from the top-left corner of the visible frame + * to the top-left corner of the block. + * Can be negative if top/right padding is present on the coded frame. + */ + int src_x, src_y; + /** + * Width and height of the block in luma pixels. + */ + int w, h; + + /** + * Difference between this block's final quantization parameter and the + * corresponding per-frame value. + */ + int32_t delta_qp; +} AVVideoBlockParams; + +/* + * Get the block at the specified {@code idx}. Must be between 0 and nb_blocks. + */ +static av_always_inline AVVideoBlockParams* +av_video_enc_params_block(AVVideoEncParams *par, unsigned int idx) +{ + av_assert0(idx < par->nb_blocks); + return (AVVideoBlockParams *)((uint8_t *)par + par->blocks_offset + + idx * par->block_size); +} + +/** + * Allocates memory for AVVideoEncParams of the given type, plus an array of + * {@code nb_blocks} AVVideoBlockParams and initializes the variables. Can be + * freed with a normal av_free() call. + * + * @param out_size if non-NULL, the size in bytes of the resulting data array is + * written here. + */ +AVVideoEncParams *av_video_enc_params_alloc(enum AVVideoEncParamsType type, + unsigned int nb_blocks, size_t *out_size); + +/** + * Allocates memory for AVEncodeInfoFrame plus an array of + * {@code nb_blocks} AVEncodeInfoBlock in the given AVFrame {@code frame} + * as AVFrameSideData of type AV_FRAME_DATA_ENCODE_INFO + * and initializes the variables. + */ +AVVideoEncParams* +av_video_enc_params_create_side_data(AVFrame *frame, enum AVVideoEncParamsType type, + unsigned int nb_blocks); + +#endif /* AVUTIL_VIDEO_ENC_PARAMS_H */ diff --git a/ThirdParty/ffmpeg/include/libswresample/version.h b/ThirdParty/ffmpeg/include/libswresample/version.h index c07943416..257739195 100644 --- a/ThirdParty/ffmpeg/include/libswresample/version.h +++ b/ThirdParty/ffmpeg/include/libswresample/version.h @@ -29,7 +29,7 @@ #include "libavutil/avutil.h" #define LIBSWRESAMPLE_VERSION_MAJOR 3 -#define LIBSWRESAMPLE_VERSION_MINOR 6 +#define LIBSWRESAMPLE_VERSION_MINOR 7 #define LIBSWRESAMPLE_VERSION_MICRO 100 #define LIBSWRESAMPLE_VERSION_INT AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, \ diff --git a/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.91.100.dylib b/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.91.100.dylib new file mode 100755 index 000000000..7f199af91 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.91.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.dylib b/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavcodec.58.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libavcodec.dylib b/ThirdParty/ffmpeg/lib.arm64/libavcodec.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavcodec.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libavformat.58.45.100.dylib b/ThirdParty/ffmpeg/lib.arm64/libavformat.58.45.100.dylib new file mode 100755 index 000000000..62289d359 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.arm64/libavformat.58.45.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.arm64/libavformat.58.dylib b/ThirdParty/ffmpeg/lib.arm64/libavformat.58.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavformat.58.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libavformat.dylib b/ThirdParty/ffmpeg/lib.arm64/libavformat.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavformat.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libavutil.56.51.100.dylib b/ThirdParty/ffmpeg/lib.arm64/libavutil.56.51.100.dylib new file mode 100755 index 000000000..ca27286e7 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.arm64/libavutil.56.51.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.arm64/libavutil.56.dylib b/ThirdParty/ffmpeg/lib.arm64/libavutil.56.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavutil.56.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libavutil.dylib b/ThirdParty/ffmpeg/lib.arm64/libavutil.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libavutil.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libswresample.3.7.100.dylib b/ThirdParty/ffmpeg/lib.arm64/libswresample.3.7.100.dylib new file mode 100755 index 000000000..d81566365 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.arm64/libswresample.3.7.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.arm64/libswresample.3.dylib b/ThirdParty/ffmpeg/lib.arm64/libswresample.3.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libswresample.3.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.arm64/libswresample.dylib b/ThirdParty/ffmpeg/lib.arm64/libswresample.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib.arm64/libswresample.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/pkgconfig/libavcodec.pc b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavcodec.pc similarity index 61% rename from ThirdParty/ffmpeg/lib/pkgconfig/libavcodec.pc rename to ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavcodec.pc index e1758a595..ecb4e556e 100644 --- a/ThirdParty/ffmpeg/lib/pkgconfig/libavcodec.pc +++ b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavcodec.pc @@ -5,10 +5,10 @@ includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include Name: libavcodec Description: FFmpeg codec library -Version: 58.59.102 -Requires: libavutil >= 56.35.101 -Requires.private: +Version: 58.91.100 +Requires: +Requires.private: libswresample >= 3.7.100, libavutil >= 56.51.100 Conflicts: -Libs: -L${libdir} -lavcodec -pthread -liconv -lm -L/usr/local/Cellar/opus/1.3.1/lib -lopus -Libs.private: +Libs: -L${libdir} -lavcodec +Libs.private: -pthread -liconv -lm Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib/pkgconfig/libavformat.pc b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavformat.pc similarity index 63% rename from ThirdParty/ffmpeg/lib/pkgconfig/libavformat.pc rename to ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavformat.pc index 6c8aad315..83a6ded3f 100644 --- a/ThirdParty/ffmpeg/lib/pkgconfig/libavformat.pc +++ b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavformat.pc @@ -5,10 +5,10 @@ includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include Name: libavformat Description: FFmpeg container format library -Version: 58.33.100 -Requires: libavcodec >= 58.59.102, libavutil >= 56.35.101 -Requires.private: +Version: 58.45.100 +Requires: +Requires.private: libavcodec >= 58.91.100, libswresample >= 3.7.100, libavutil >= 56.51.100 Conflicts: -Libs: -L${libdir} -lavformat -lm -lz -Libs.private: +Libs: -L${libdir} -lavformat +Libs.private: -lm -lz Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib/pkgconfig/libavutil.pc b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavutil.pc similarity index 62% rename from ThirdParty/ffmpeg/lib/pkgconfig/libavutil.pc rename to ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavutil.pc index 5bcb1bfe9..56fe2ce97 100644 --- a/ThirdParty/ffmpeg/lib/pkgconfig/libavutil.pc +++ b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libavutil.pc @@ -5,10 +5,10 @@ includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include Name: libavutil Description: FFmpeg utility library -Version: 56.35.101 +Version: 56.51.100 Requires: Requires.private: Conflicts: -Libs: -L${libdir} -lavutil -pthread -lm -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices -Libs.private: +Libs: -L${libdir} -lavutil +Libs.private: -pthread -lm -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib/pkgconfig/libswresample.pc b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libswresample.pc similarity index 71% rename from ThirdParty/ffmpeg/lib/pkgconfig/libswresample.pc rename to ThirdParty/ffmpeg/lib.arm64/pkgconfig/libswresample.pc index d61751246..11e69782a 100644 --- a/ThirdParty/ffmpeg/lib/pkgconfig/libswresample.pc +++ b/ThirdParty/ffmpeg/lib.arm64/pkgconfig/libswresample.pc @@ -5,10 +5,10 @@ includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include Name: libswresample Description: FFmpeg audio resampling library -Version: 3.6.100 -Requires: libavutil >= 56.35.101 -Requires.private: +Version: 3.7.100 +Requires: +Requires.private: libavutil >= 56.51.100 Conflicts: -Libs: -L${libdir} -lswresample -lm -Libs.private: +Libs: -L${libdir} -lswresample +Libs.private: -lm Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib.x86/libavcodec.58.91.100.dylib b/ThirdParty/ffmpeg/lib.x86/libavcodec.58.91.100.dylib new file mode 100755 index 000000000..e6bddb232 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.x86/libavcodec.58.91.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.x86/libavcodec.58.dylib b/ThirdParty/ffmpeg/lib.x86/libavcodec.58.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavcodec.58.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libavcodec.dylib b/ThirdParty/ffmpeg/lib.x86/libavcodec.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavcodec.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libavformat.58.45.100.dylib b/ThirdParty/ffmpeg/lib.x86/libavformat.58.45.100.dylib new file mode 100755 index 000000000..97e4a4492 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.x86/libavformat.58.45.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.x86/libavformat.58.dylib b/ThirdParty/ffmpeg/lib.x86/libavformat.58.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavformat.58.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libavformat.dylib b/ThirdParty/ffmpeg/lib.x86/libavformat.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavformat.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libavutil.56.51.100.dylib b/ThirdParty/ffmpeg/lib.x86/libavutil.56.51.100.dylib new file mode 100755 index 000000000..1a9559dc9 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.x86/libavutil.56.51.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.x86/libavutil.56.dylib b/ThirdParty/ffmpeg/lib.x86/libavutil.56.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavutil.56.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libavutil.dylib b/ThirdParty/ffmpeg/lib.x86/libavutil.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libavutil.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libswresample.3.7.100.dylib b/ThirdParty/ffmpeg/lib.x86/libswresample.3.7.100.dylib new file mode 100755 index 000000000..5d909ff98 Binary files /dev/null and b/ThirdParty/ffmpeg/lib.x86/libswresample.3.7.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib.x86/libswresample.3.dylib b/ThirdParty/ffmpeg/lib.x86/libswresample.3.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libswresample.3.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/libswresample.dylib b/ThirdParty/ffmpeg/lib.x86/libswresample.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/libswresample.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavcodec.pc b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavcodec.pc new file mode 100644 index 000000000..ecb4e556e --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavcodec.pc @@ -0,0 +1,14 @@ +prefix=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg +exec_prefix=${prefix} +libdir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/lib +includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include + +Name: libavcodec +Description: FFmpeg codec library +Version: 58.91.100 +Requires: +Requires.private: libswresample >= 3.7.100, libavutil >= 56.51.100 +Conflicts: +Libs: -L${libdir} -lavcodec +Libs.private: -pthread -liconv -lm +Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavformat.pc b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavformat.pc new file mode 100644 index 000000000..83a6ded3f --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavformat.pc @@ -0,0 +1,14 @@ +prefix=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg +exec_prefix=${prefix} +libdir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/lib +includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include + +Name: libavformat +Description: FFmpeg container format library +Version: 58.45.100 +Requires: +Requires.private: libavcodec >= 58.91.100, libswresample >= 3.7.100, libavutil >= 56.51.100 +Conflicts: +Libs: -L${libdir} -lavformat +Libs.private: -lm -lz +Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavutil.pc b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavutil.pc new file mode 100644 index 000000000..56fe2ce97 --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libavutil.pc @@ -0,0 +1,14 @@ +prefix=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg +exec_prefix=${prefix} +libdir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/lib +includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include + +Name: libavutil +Description: FFmpeg utility library +Version: 56.51.100 +Requires: +Requires.private: +Conflicts: +Libs: -L${libdir} -lavutil +Libs.private: -pthread -lm -framework VideoToolbox -framework CoreFoundation -framework CoreMedia -framework CoreVideo -framework CoreServices +Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib.x86/pkgconfig/libswresample.pc b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libswresample.pc new file mode 100644 index 000000000..11e69782a --- /dev/null +++ b/ThirdParty/ffmpeg/lib.x86/pkgconfig/libswresample.pc @@ -0,0 +1,14 @@ +prefix=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg +exec_prefix=${prefix} +libdir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/lib +includedir=/Users/chris/Source/Repos/cog/ThirdParty/ffmpeg/include + +Name: libswresample +Description: FFmpeg audio resampling library +Version: 3.7.100 +Requires: +Requires.private: libavutil >= 56.51.100 +Conflicts: +Libs: -L${libdir} -lswresample +Libs.private: -lm +Cflags: -I${includedir} diff --git a/ThirdParty/ffmpeg/lib/libavcodec.58.91.100.dylib b/ThirdParty/ffmpeg/lib/libavcodec.58.91.100.dylib new file mode 100755 index 000000000..da2dde016 Binary files /dev/null and b/ThirdParty/ffmpeg/lib/libavcodec.58.91.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib/libavcodec.58.dylib b/ThirdParty/ffmpeg/lib/libavcodec.58.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavcodec.58.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libavcodec.a b/ThirdParty/ffmpeg/lib/libavcodec.a deleted file mode 100644 index 28e2c84a2..000000000 Binary files a/ThirdParty/ffmpeg/lib/libavcodec.a and /dev/null differ diff --git a/ThirdParty/ffmpeg/lib/libavcodec.dylib b/ThirdParty/ffmpeg/lib/libavcodec.dylib new file mode 120000 index 000000000..68ac0d903 --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavcodec.dylib @@ -0,0 +1 @@ +libavcodec.58.91.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libavformat.58.45.100.dylib b/ThirdParty/ffmpeg/lib/libavformat.58.45.100.dylib new file mode 100755 index 000000000..3da245464 Binary files /dev/null and b/ThirdParty/ffmpeg/lib/libavformat.58.45.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib/libavformat.58.dylib b/ThirdParty/ffmpeg/lib/libavformat.58.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavformat.58.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libavformat.a b/ThirdParty/ffmpeg/lib/libavformat.a deleted file mode 100644 index 963de8141..000000000 Binary files a/ThirdParty/ffmpeg/lib/libavformat.a and /dev/null differ diff --git a/ThirdParty/ffmpeg/lib/libavformat.dylib b/ThirdParty/ffmpeg/lib/libavformat.dylib new file mode 120000 index 000000000..7fc793334 --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavformat.dylib @@ -0,0 +1 @@ +libavformat.58.45.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libavutil.56.51.100.dylib b/ThirdParty/ffmpeg/lib/libavutil.56.51.100.dylib new file mode 100755 index 000000000..a382b9c98 Binary files /dev/null and b/ThirdParty/ffmpeg/lib/libavutil.56.51.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib/libavutil.56.dylib b/ThirdParty/ffmpeg/lib/libavutil.56.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavutil.56.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libavutil.a b/ThirdParty/ffmpeg/lib/libavutil.a deleted file mode 100644 index a1f51232b..000000000 Binary files a/ThirdParty/ffmpeg/lib/libavutil.a and /dev/null differ diff --git a/ThirdParty/ffmpeg/lib/libavutil.dylib b/ThirdParty/ffmpeg/lib/libavutil.dylib new file mode 120000 index 000000000..b0aa2c8af --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libavutil.dylib @@ -0,0 +1 @@ +libavutil.56.51.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libopus.a b/ThirdParty/ffmpeg/lib/libopus.a deleted file mode 100644 index 2e80c7b8f..000000000 Binary files a/ThirdParty/ffmpeg/lib/libopus.a and /dev/null differ diff --git a/ThirdParty/ffmpeg/lib/libswresample.3.7.100.dylib b/ThirdParty/ffmpeg/lib/libswresample.3.7.100.dylib new file mode 100755 index 000000000..4d530322b Binary files /dev/null and b/ThirdParty/ffmpeg/lib/libswresample.3.7.100.dylib differ diff --git a/ThirdParty/ffmpeg/lib/libswresample.3.dylib b/ThirdParty/ffmpeg/lib/libswresample.3.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libswresample.3.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/lib/libswresample.a b/ThirdParty/ffmpeg/lib/libswresample.a deleted file mode 100644 index f528d3980..000000000 Binary files a/ThirdParty/ffmpeg/lib/libswresample.a and /dev/null differ diff --git a/ThirdParty/ffmpeg/lib/libswresample.dylib b/ThirdParty/ffmpeg/lib/libswresample.dylib new file mode 120000 index 000000000..b86c15e3d --- /dev/null +++ b/ThirdParty/ffmpeg/lib/libswresample.dylib @@ -0,0 +1 @@ +libswresample.3.7.100.dylib \ No newline at end of file diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/Makefile b/ThirdParty/ffmpeg/share/ffmpeg/examples/Makefile index 6428154c5..a232d97f9 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/Makefile +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/Makefile @@ -11,7 +11,7 @@ CFLAGS += -Wall -g CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS) LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS) -EXAMPLES= avio_dir_cmd \ +EXAMPLES= avio_list_dir \ avio_reading \ decode_audio \ decode_video \ diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/avio_dir_cmd.c b/ThirdParty/ffmpeg/share/ffmpeg/examples/avio_list_dir.c similarity index 69% rename from ThirdParty/ffmpeg/share/ffmpeg/examples/avio_dir_cmd.c rename to ThirdParty/ffmpeg/share/ffmpeg/examples/avio_list_dir.c index 0722bd9ab..3073baaef 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/avio_dir_cmd.c +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/avio_list_dir.c @@ -102,38 +102,15 @@ static int list_op(const char *input_dir) return ret; } -static int del_op(const char *url) -{ - int ret = avpriv_io_delete(url); - if (ret < 0) - av_log(NULL, AV_LOG_ERROR, "Cannot delete '%s': %s.\n", url, av_err2str(ret)); - return ret; -} - -static int move_op(const char *src, const char *dst) -{ - int ret = avpriv_io_move(src, dst); - if (ret < 0) - av_log(NULL, AV_LOG_ERROR, "Cannot move '%s' into '%s': %s.\n", src, dst, av_err2str(ret)); - return ret; -} - - static void usage(const char *program_name) { - fprintf(stderr, "usage: %s OPERATION entry1 [entry2]\n" - "API example program to show how to manipulate resources " - "accessed through AVIOContext.\n" - "OPERATIONS:\n" - "list list content of the directory\n" - "move rename content in directory\n" - "del delete content in directory\n", - program_name); + fprintf(stderr, "usage: %s input_dir\n" + "API example program to show how to list files in directory " + "accessed through AVIOContext.\n", program_name); } int main(int argc, char *argv[]) { - const char *op = NULL; int ret; av_log_set_level(AV_LOG_DEBUG); @@ -145,32 +122,7 @@ int main(int argc, char *argv[]) avformat_network_init(); - op = argv[1]; - if (strcmp(op, "list") == 0) { - if (argc < 3) { - av_log(NULL, AV_LOG_INFO, "Missing argument for list operation.\n"); - ret = AVERROR(EINVAL); - } else { - ret = list_op(argv[2]); - } - } else if (strcmp(op, "del") == 0) { - if (argc < 3) { - av_log(NULL, AV_LOG_INFO, "Missing argument for del operation.\n"); - ret = AVERROR(EINVAL); - } else { - ret = del_op(argv[2]); - } - } else if (strcmp(op, "move") == 0) { - if (argc < 4) { - av_log(NULL, AV_LOG_INFO, "Missing argument for move operation.\n"); - ret = AVERROR(EINVAL); - } else { - ret = move_op(argv[2], argv[3]); - } - } else { - av_log(NULL, AV_LOG_INFO, "Invalid operation %s\n", op); - ret = AVERROR(EINVAL); - } + ret = list_op(argv[1]); avformat_network_deinit(); diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/demuxing_decoding.c b/ThirdParty/ffmpeg/share/ffmpeg/examples/demuxing_decoding.c index 69a31a893..803e35d25 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/demuxing_decoding.c +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/demuxing_decoding.c @@ -55,95 +55,93 @@ static AVPacket pkt; static int video_frame_count = 0; static int audio_frame_count = 0; -/* Enable or disable frame reference counting. You are not supposed to support - * both paths in your application but pick the one most appropriate to your - * needs. Look for the use of refcount in this example to see what are the - * differences of API usage between them. */ -static int refcount = 0; - -static int decode_packet(int *got_frame, int cached) +static int output_video_frame(AVFrame *frame) { - int ret = 0; - int decoded = pkt.size; - - *got_frame = 0; - - if (pkt.stream_index == video_stream_idx) { - /* decode video frame */ - ret = avcodec_decode_video2(video_dec_ctx, frame, got_frame, &pkt); - if (ret < 0) { - fprintf(stderr, "Error decoding video frame (%s)\n", av_err2str(ret)); - return ret; - } - - if (*got_frame) { - - if (frame->width != width || frame->height != height || - frame->format != pix_fmt) { - /* To handle this change, one could call av_image_alloc again and - * decode the following frames into another rawvideo file. */ - fprintf(stderr, "Error: Width, height and pixel format have to be " - "constant in a rawvideo file, but the width, height or " - "pixel format of the input video changed:\n" - "old: width = %d, height = %d, format = %s\n" - "new: width = %d, height = %d, format = %s\n", - width, height, av_get_pix_fmt_name(pix_fmt), - frame->width, frame->height, - av_get_pix_fmt_name(frame->format)); - return -1; - } - - printf("video_frame%s n:%d coded_n:%d\n", - cached ? "(cached)" : "", - video_frame_count++, frame->coded_picture_number); - - /* copy decoded frame to destination buffer: - * this is required since rawvideo expects non aligned data */ - av_image_copy(video_dst_data, video_dst_linesize, - (const uint8_t **)(frame->data), frame->linesize, - pix_fmt, width, height); - - /* write to rawvideo file */ - fwrite(video_dst_data[0], 1, video_dst_bufsize, video_dst_file); - } - } else if (pkt.stream_index == audio_stream_idx) { - /* decode audio frame */ - ret = avcodec_decode_audio4(audio_dec_ctx, frame, got_frame, &pkt); - if (ret < 0) { - fprintf(stderr, "Error decoding audio frame (%s)\n", av_err2str(ret)); - return ret; - } - /* Some audio decoders decode only part of the packet, and have to be - * called again with the remainder of the packet data. - * Sample: fate-suite/lossless-audio/luckynight-partial.shn - * Also, some decoders might over-read the packet. */ - decoded = FFMIN(ret, pkt.size); - - if (*got_frame) { - size_t unpadded_linesize = frame->nb_samples * av_get_bytes_per_sample(frame->format); - printf("audio_frame%s n:%d nb_samples:%d pts:%s\n", - cached ? "(cached)" : "", - audio_frame_count++, frame->nb_samples, - av_ts2timestr(frame->pts, &audio_dec_ctx->time_base)); - - /* Write the raw audio data samples of the first plane. This works - * fine for packed formats (e.g. AV_SAMPLE_FMT_S16). However, - * most audio decoders output planar audio, which uses a separate - * plane of audio samples for each channel (e.g. AV_SAMPLE_FMT_S16P). - * In other words, this code will write only the first audio channel - * in these cases. - * You should use libswresample or libavfilter to convert the frame - * to packed data. */ - fwrite(frame->extended_data[0], 1, unpadded_linesize, audio_dst_file); - } + if (frame->width != width || frame->height != height || + frame->format != pix_fmt) { + /* To handle this change, one could call av_image_alloc again and + * decode the following frames into another rawvideo file. */ + fprintf(stderr, "Error: Width, height and pixel format have to be " + "constant in a rawvideo file, but the width, height or " + "pixel format of the input video changed:\n" + "old: width = %d, height = %d, format = %s\n" + "new: width = %d, height = %d, format = %s\n", + width, height, av_get_pix_fmt_name(pix_fmt), + frame->width, frame->height, + av_get_pix_fmt_name(frame->format)); + return -1; } - /* If we use frame reference counting, we own the data and need - * to de-reference it when we don't use it anymore */ - if (*got_frame && refcount) - av_frame_unref(frame); + printf("video_frame n:%d coded_n:%d\n", + video_frame_count++, frame->coded_picture_number); - return decoded; + /* copy decoded frame to destination buffer: + * this is required since rawvideo expects non aligned data */ + av_image_copy(video_dst_data, video_dst_linesize, + (const uint8_t **)(frame->data), frame->linesize, + pix_fmt, width, height); + + /* write to rawvideo file */ + fwrite(video_dst_data[0], 1, video_dst_bufsize, video_dst_file); + return 0; +} + +static int output_audio_frame(AVFrame *frame) +{ + size_t unpadded_linesize = frame->nb_samples * av_get_bytes_per_sample(frame->format); + printf("audio_frame n:%d nb_samples:%d pts:%s\n", + audio_frame_count++, frame->nb_samples, + av_ts2timestr(frame->pts, &audio_dec_ctx->time_base)); + + /* Write the raw audio data samples of the first plane. This works + * fine for packed formats (e.g. AV_SAMPLE_FMT_S16). However, + * most audio decoders output planar audio, which uses a separate + * plane of audio samples for each channel (e.g. AV_SAMPLE_FMT_S16P). + * In other words, this code will write only the first audio channel + * in these cases. + * You should use libswresample or libavfilter to convert the frame + * to packed data. */ + fwrite(frame->extended_data[0], 1, unpadded_linesize, audio_dst_file); + + return 0; +} + +static int decode_packet(AVCodecContext *dec, const AVPacket *pkt) +{ + int ret = 0; + + // submit the packet to the decoder + ret = avcodec_send_packet(dec, pkt); + if (ret < 0) { + fprintf(stderr, "Error submitting a packet for decoding (%s)\n", av_err2str(ret)); + return ret; + } + + // get all the available frames from the decoder + while (ret >= 0) { + ret = avcodec_receive_frame(dec, frame); + if (ret < 0) { + // those two return values are special and mean there is no output + // frame available, but there were no errors during decoding + if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) + return 0; + + fprintf(stderr, "Error during decoding (%s)\n", av_err2str(ret)); + return ret; + } + + // write the frame data to output file + if (dec->codec->type == AVMEDIA_TYPE_VIDEO) + ret = output_video_frame(frame); + else + ret = output_audio_frame(frame); + + av_frame_unref(frame); + if (ret < 0) + return ret; + } + + return 0; } static int open_codec_context(int *stream_idx, @@ -186,8 +184,7 @@ static int open_codec_context(int *stream_idx, return ret; } - /* Init the decoders, with or without reference counting */ - av_dict_set(&opts, "refcounted_frames", refcount ? "1" : "0", 0); + /* Init the decoders */ if ((ret = avcodec_open2(*dec_ctx, dec, &opts)) < 0) { fprintf(stderr, "Failed to open %s codec\n", av_get_media_type_string(type)); @@ -230,24 +227,17 @@ static int get_format_from_sample_fmt(const char **fmt, int main (int argc, char **argv) { - int ret = 0, got_frame; + int ret = 0; - if (argc != 4 && argc != 5) { - fprintf(stderr, "usage: %s [-refcount] input_file video_output_file audio_output_file\n" + if (argc != 4) { + fprintf(stderr, "usage: %s input_file video_output_file audio_output_file\n" "API example program to show how to read frames from an input file.\n" "This program reads frames from a file, decodes them, and writes decoded\n" "video frames to a rawvideo file named video_output_file, and decoded\n" - "audio frames to a rawaudio file named audio_output_file.\n\n" - "If the -refcount option is specified, the program use the\n" - "reference counting frame system which allows keeping a copy of\n" - "the data for longer than one decode call.\n" - "\n", argv[0]); + "audio frames to a rawaudio file named audio_output_file.\n", + argv[0]); exit(1); } - if (argc == 5 && !strcmp(argv[1], "-refcount")) { - refcount = 1; - argv++; - } src_filename = argv[1]; video_dst_filename = argv[2]; audio_dst_filename = argv[3]; @@ -325,23 +315,22 @@ int main (int argc, char **argv) /* read frames from the file */ while (av_read_frame(fmt_ctx, &pkt) >= 0) { - AVPacket orig_pkt = pkt; - do { - ret = decode_packet(&got_frame, 0); - if (ret < 0) - break; - pkt.data += ret; - pkt.size -= ret; - } while (pkt.size > 0); - av_packet_unref(&orig_pkt); + // check if the packet belongs to a stream we are interested in, otherwise + // skip it + if (pkt.stream_index == video_stream_idx) + ret = decode_packet(video_dec_ctx, &pkt); + else if (pkt.stream_index == audio_stream_idx) + ret = decode_packet(audio_dec_ctx, &pkt); + av_packet_unref(&pkt); + if (ret < 0) + break; } - /* flush cached frames */ - pkt.data = NULL; - pkt.size = 0; - do { - decode_packet(&got_frame, 1); - } while (got_frame); + /* flush the decoders */ + if (video_dec_ctx) + decode_packet(video_dec_ctx, NULL); + if (audio_dec_ctx) + decode_packet(audio_dec_ctx, NULL); printf("Demuxing succeeded.\n"); diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/encode_video.c b/ThirdParty/ffmpeg/share/ffmpeg/examples/encode_video.c index d9ab40990..908eb203d 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/encode_video.c +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/encode_video.c @@ -145,7 +145,7 @@ int main(int argc, char **argv) frame->width = c->width; frame->height = c->height; - ret = av_frame_get_buffer(frame, 32); + ret = av_frame_get_buffer(frame, 0); if (ret < 0) { fprintf(stderr, "Could not allocate the video frame data\n"); exit(1); diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/muxing.c b/ThirdParty/ffmpeg/share/ffmpeg/examples/muxing.c index 9af9aae48..bd16486a2 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/muxing.c +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/muxing.c @@ -78,15 +78,45 @@ static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt) pkt->stream_index); } -static int write_frame(AVFormatContext *fmt_ctx, const AVRational *time_base, AVStream *st, AVPacket *pkt) +static int write_frame(AVFormatContext *fmt_ctx, AVCodecContext *c, + AVStream *st, AVFrame *frame) { - /* rescale output packet timestamp values from codec to stream timebase */ - av_packet_rescale_ts(pkt, *time_base, st->time_base); - pkt->stream_index = st->index; + int ret; - /* Write the compressed frame to the media file. */ - log_packet(fmt_ctx, pkt); - return av_interleaved_write_frame(fmt_ctx, pkt); + // send the frame to the encoder + ret = avcodec_send_frame(c, frame); + if (ret < 0) { + fprintf(stderr, "Error sending a frame to the encoder: %s\n", + av_err2str(ret)); + exit(1); + } + + while (ret >= 0) { + AVPacket pkt = { 0 }; + + ret = avcodec_receive_packet(c, &pkt); + if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) + break; + else if (ret < 0) { + fprintf(stderr, "Error encoding a frame: %s\n", av_err2str(ret)); + exit(1); + } + + /* rescale output packet timestamp values from codec to stream timebase */ + av_packet_rescale_ts(&pkt, c->time_base, st->time_base); + pkt.stream_index = st->index; + + /* Write the compressed frame to the media file. */ + log_packet(fmt_ctx, &pkt); + ret = av_interleaved_write_frame(fmt_ctx, &pkt); + av_packet_unref(&pkt); + if (ret < 0) { + fprintf(stderr, "Error while writing output packet: %s\n", av_err2str(ret)); + exit(1); + } + } + + return ret == AVERROR_EOF ? 1 : 0; } /* Add an output stream. */ @@ -309,13 +339,10 @@ static AVFrame *get_audio_frame(OutputStream *ost) static int write_audio_frame(AVFormatContext *oc, OutputStream *ost) { AVCodecContext *c; - AVPacket pkt = { 0 }; // data and size must be 0; AVFrame *frame; int ret; - int got_packet; int dst_nb_samples; - av_init_packet(&pkt); c = ost->enc; frame = get_audio_frame(ost); @@ -349,22 +376,7 @@ static int write_audio_frame(AVFormatContext *oc, OutputStream *ost) ost->samples_count += dst_nb_samples; } - ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet); - if (ret < 0) { - fprintf(stderr, "Error encoding audio frame: %s\n", av_err2str(ret)); - exit(1); - } - - if (got_packet) { - ret = write_frame(oc, &c->time_base, ost->st, &pkt); - if (ret < 0) { - fprintf(stderr, "Error while writing audio frame: %s\n", - av_err2str(ret)); - exit(1); - } - } - - return (frame || got_packet) ? 0 : 1; + return write_frame(oc, c, ost->st, frame); } /**************************************************************/ @@ -384,7 +396,7 @@ static AVFrame *alloc_picture(enum AVPixelFormat pix_fmt, int width, int height) picture->height = height; /* allocate the buffers for the frame data */ - ret = av_frame_get_buffer(picture, 32); + ret = av_frame_get_buffer(picture, 0); if (ret < 0) { fprintf(stderr, "Could not allocate frame data.\n"); exit(1); @@ -506,37 +518,8 @@ static AVFrame *get_video_frame(OutputStream *ost) */ static int write_video_frame(AVFormatContext *oc, OutputStream *ost) { - int ret; - AVCodecContext *c; - AVFrame *frame; - int got_packet = 0; - AVPacket pkt = { 0 }; + return write_frame(oc, ost->enc, ost->st, get_video_frame(ost)); - c = ost->enc; - - frame = get_video_frame(ost); - - av_init_packet(&pkt); - - /* encode the image */ - ret = avcodec_encode_video2(c, &pkt, frame, &got_packet); - if (ret < 0) { - fprintf(stderr, "Error encoding video frame: %s\n", av_err2str(ret)); - exit(1); - } - - if (got_packet) { - ret = write_frame(oc, &c->time_base, ost->st, &pkt); - } else { - ret = 0; - } - - if (ret < 0) { - fprintf(stderr, "Error while writing video frame: %s\n", av_err2str(ret)); - exit(1); - } - - return (frame || got_packet) ? 0 : 1; } static void close_stream(AVFormatContext *oc, OutputStream *ost) diff --git a/ThirdParty/ffmpeg/share/ffmpeg/examples/vaapi_encode.c b/ThirdParty/ffmpeg/share/ffmpeg/examples/vaapi_encode.c index 98fd5d3b5..707939db3 100644 --- a/ThirdParty/ffmpeg/share/ffmpeg/examples/vaapi_encode.c +++ b/ThirdParty/ffmpeg/share/ffmpeg/examples/vaapi_encode.c @@ -172,7 +172,7 @@ int main(int argc, char *argv[]) sw_frame->width = width; sw_frame->height = height; sw_frame->format = AV_PIX_FMT_NV12; - if ((err = av_frame_get_buffer(sw_frame, 32)) < 0) + if ((err = av_frame_get_buffer(sw_frame, 0)) < 0) goto close; if ((err = fread((uint8_t*)(sw_frame->data[0]), size, 1, fin)) <= 0) break; diff --git a/Window/PlaybackButtons.m b/Window/PlaybackButtons.m index 97b55c6ad..ed0584442 100644 --- a/Window/PlaybackButtons.m +++ b/Window/PlaybackButtons.m @@ -46,10 +46,18 @@ static NSString *PlaybackButtonsPlaybackStatusObservationContext = @"PlaybackBut NSImage *image = nil; if (playbackStatus == kCogStatusPlaying) { - image = [NSImage imageNamed:@"pauseTemplate"]; + if (@available(macOS 11, *)) { + image = [NSImage imageWithSystemSymbolName:@"pause" accessibilityDescription:@"pause"]; + } else { + image = [NSImage imageNamed:@"sf.pause"]; + } } else { - image = [NSImage imageNamed:@"playTemplate"]; + if (@available(macOS 11, *)) { + image = [NSImage imageWithSystemSymbolName:@"play" accessibilityDescription:@"play"]; + } else { + image = [NSImage imageNamed:@"sf.play"]; + } } [self setImage:image forSegment:1]; diff --git a/Window/RepeatTransformers.m b/Window/RepeatTransformers.m index d5ac8a8ac..a49440674 100644 --- a/Window/RepeatTransformers.m +++ b/Window/RepeatTransformers.m @@ -74,16 +74,16 @@ RepeatMode mode = (RepeatMode) [value integerValue]; if (mode == RepeatNone) { - return [NSImage imageNamed:@"repeatModeOffTemplate"]; + return [NSImage imageNamed:@"sf.arrow.turn.up.right"]; } else if (mode == RepeatOne) { - return [NSImage imageNamed:@"repeatModeOneTemplate"]; + return [NSImage imageNamed:@"sf.repeat.one"]; } else if (mode == RepeatAlbum) { return [NSImage imageNamed:@"repeatModeAlbumTemplate"]; } else if (mode == RepeatAll) { - return [NSImage imageNamed:@"repeatModeAllTemplate"]; + return [NSImage imageNamed:@"sf.repeat"]; } return nil; diff --git a/Window/ShuffleTransformers.m b/Window/ShuffleTransformers.m index 1a9f59dd5..c1803af80 100644 --- a/Window/ShuffleTransformers.m +++ b/Window/ShuffleTransformers.m @@ -24,13 +24,13 @@ ShuffleMode mode = (ShuffleMode) [value integerValue]; if (mode == ShuffleOff) { - return [NSImage imageNamed:@"shuffleOffTemplate"]; + return [NSImage imageNamed:@"sf.arrow.right"]; } else if (mode == ShuffleAlbums) { return [NSImage imageNamed:@"shuffleAlbumTemplate"]; } else if (mode == ShuffleAll) { - return [NSImage imageNamed:@"shuffleOnTemplate"]; + return [NSImage imageNamed:@"sf.shuffle"]; } return nil;