mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Merge branch 'develop' into feature/linux_webview_handleJavascriptEvaluationCallback_jassert_fix
This commit is contained in:
commit
3f604bb03e
69 changed files with 1029 additions and 245 deletions
|
|
@ -377,6 +377,11 @@ attributes directly to these creation functions, rather than adding them later.
|
|||
is specified, then that image will be used for all icon resolutions. If both arguments are
|
||||
specified, then the appropriate image will be picked for each icon resolution.
|
||||
|
||||
`ICON_COMPOSER_BUNDLE`
|
||||
- An Icon Composer bundle used for MacOS and iOS builds. This argument takes precedence over the
|
||||
ICON_BIG and ICON_SMALL settings with Xcode versions 26 and later. Older versions of Xcode will
|
||||
continue to use ICON_BIG and ICON_SMALL, even if this argument is specified.
|
||||
|
||||
`COMPANY_COPYRIGHT`
|
||||
- Copyright text which will be added to the app/plugin's Info.plist. The value of this argument
|
||||
will be inherited from the `JUCE_COMPANY_COPYRIGHT` property, so if you want to use the same
|
||||
|
|
|
|||
|
|
@ -56,6 +56,9 @@ add_library( ${BINARY_NAME}
|
|||
"../../../Source/UI/MainComponent.h"
|
||||
"../../../Source/UI/SettingsContent.h"
|
||||
"../../../Source/Main.cpp"
|
||||
"../../../Source/AppIcon.icon/Assets/demorunnerbg.svg"
|
||||
"../../../Source/AppIcon.icon/Assets/demorunnerplay.svg"
|
||||
"../../../Source/AppIcon.icon/icon.json"
|
||||
"../../../Source/JUCEAppIcon.png"
|
||||
"../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp"
|
||||
"../../../../../modules/juce_analytics/analytics/juce_Analytics.h"
|
||||
|
|
@ -2777,6 +2780,9 @@ set_source_files_properties(
|
|||
"../../../Source/UI/DemoContentComponent.h"
|
||||
"../../../Source/UI/MainComponent.h"
|
||||
"../../../Source/UI/SettingsContent.h"
|
||||
"../../../Source/AppIcon.icon/Assets/demorunnerbg.svg"
|
||||
"../../../Source/AppIcon.icon/Assets/demorunnerplay.svg"
|
||||
"../../../Source/AppIcon.icon/icon.json"
|
||||
"../../../Source/JUCEAppIcon.png"
|
||||
"../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp"
|
||||
"../../../../../modules/juce_analytics/analytics/juce_Analytics.h"
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@
|
|||
5E4310B3F6BB639875D3E9B8 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 49ECA8B998B339A083674A22; };
|
||||
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
|
||||
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
|
||||
675BFB499A7E0AAD2614F529 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 68A0F49281B13E51489A6874; };
|
||||
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
|
||||
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
|
||||
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
|
||||
71DF4F5EB4C8305688416725 /* DemoContentComponent.cpp */ = {isa = PBXBuildFile; fileRef = E5BFC17E682AB426D203B3E6; };
|
||||
75DB074DBAE04408A0A917B7 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = E0A3F113BC27B7B4D6F1D693; };
|
||||
7648F1C856593D10FE42CF80 /* AppIcon.icon */ = {isa = PBXBuildFile; fileRef = FCF36E57A88C67133AFC06A4; };
|
||||
7B4163348896EB1B86B15160 /* AVFoundation.framework */ = {isa = PBXBuildFile; fileRef = DC192EFA899E6CBE6B5CD394; };
|
||||
8584640341100008744861A5 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 71A91516AFD980FEE694C0E1; };
|
||||
89AD16514B1F4133FFEA1DF9 /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = 96D99A08027CA35D6A4E5CFD; };
|
||||
|
|
@ -114,14 +115,17 @@
|
|||
61AE09C749B007B70A265D9B /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
640B7C54D35F5DF408327886 /* include_juce_core_CompilationTime.cpp */ /* include_juce_core_CompilationTime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_core_CompilationTime.cpp; path = ../../JuceLibraryCode/include_juce_core_CompilationTime.cpp; sourceTree = SOURCE_ROOT; };
|
||||
651ECE3C7BA845DDCFEE48F3 /* juce_osc */ /* juce_osc */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_osc; path = ../../../../modules/juce_osc; sourceTree = SOURCE_ROOT; };
|
||||
6710661E16D6BD412524EB52 /* demorunnerbg.svg */ /* demorunnerbg.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = demorunnerbg.svg; path = ../../Source/AppIcon.icon/Assets/demorunnerbg.svg; sourceTree = SOURCE_ROOT; };
|
||||
6847A9B2C5E3C2ED56D8D4E7 /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; };
|
||||
685A261BE78585293F3EAD36 /* Assets */ /* Assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Assets; path = ../../../Assets; sourceTree = "<group>"; };
|
||||
68A0F49281B13E51489A6874 /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
6C198AF93E1F6E682189E2F6 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
6C2C1AC86623F457427965EF /* juce_box2d */ /* juce_box2d */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_box2d; path = ../../../../modules/juce_box2d; sourceTree = SOURCE_ROOT; };
|
||||
6C5E26B4D28F8450435B8AE1 /* include_juce_cryptography.mm */ /* include_juce_cryptography.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_cryptography.mm; path = ../../JuceLibraryCode/include_juce_cryptography.mm; sourceTree = SOURCE_ROOT; };
|
||||
71A91516AFD980FEE694C0E1 /* IOKit.framework */ /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
|
||||
7A5AAE9EE573FC6105CC4AAC /* SettingsContent.h */ /* SettingsContent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SettingsContent.h; path = ../../Source/UI/SettingsContent.h; sourceTree = SOURCE_ROOT; };
|
||||
7B3243C92248D379A0489AA4 /* Utilities */ /* Utilities */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Utilities; path = ../../../Utilities; sourceTree = "<group>"; };
|
||||
7D51C1884CE8FB235D31921B /* icon.json */ /* icon.json */ = {isa = PBXFileReference; lastKnownFileType = file.json; name = icon.json; path = ../../Source/AppIcon.icon/icon.json; sourceTree = SOURCE_ROOT; };
|
||||
8447FC9882D85E6DAF0A4852 /* juce_animation */ /* juce_animation */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_animation; path = ../../../../modules/juce_animation; sourceTree = SOURCE_ROOT; };
|
||||
877340409339CA0F561FB566 /* include_juce_audio_processors_headless_lv2_libs.cpp */ /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
87D5F938A115568F9CF3BE5A /* Security.framework */ /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -147,11 +151,11 @@
|
|||
C64CA4082EC267CDD63E6623 /* juce_javascript */ /* juce_javascript */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_javascript; path = ../../../../modules/juce_javascript; sourceTree = SOURCE_ROOT; };
|
||||
CB4C64BACC1CA4AAD6D69565 /* include_juce_animation.cpp */ /* include_juce_animation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_animation.cpp; path = ../../JuceLibraryCode/include_juce_animation.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CCC8AEBCE55002F970222BAD /* include_juce_graphics_Sheenbidi.c */ /* include_juce_graphics_Sheenbidi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = include_juce_graphics_Sheenbidi.c; path = ../../JuceLibraryCode/include_juce_graphics_Sheenbidi.c; sourceTree = SOURCE_ROOT; };
|
||||
CDFBB9C6A2AE67CE9EE00949 /* demorunnerplay.svg */ /* demorunnerplay.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = demorunnerplay.svg; path = ../../Source/AppIcon.icon/Assets/demorunnerplay.svg; sourceTree = SOURCE_ROOT; };
|
||||
CE38E6469D98462A2C22C915 /* include_juce_osc.cpp */ /* include_juce_osc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_osc.cpp; path = ../../JuceLibraryCode/include_juce_osc.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CFF2BBEB242CC8B3B904B5F9 /* App */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoRunner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DC192EFA899E6CBE6B5CD394 /* AVFoundation.framework */ /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
||||
E061A1C75FA5722167FC4997 /* include_juce_audio_formats.mm */ /* include_juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_formats.mm; path = ../../JuceLibraryCode/include_juce_audio_formats.mm; sourceTree = SOURCE_ROOT; };
|
||||
E0A3F113BC27B7B4D6F1D693 /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
E5BFC17E682AB426D203B3E6 /* DemoContentComponent.cpp */ /* DemoContentComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DemoContentComponent.cpp; path = ../../Source/UI/DemoContentComponent.cpp; sourceTree = SOURCE_ROOT; };
|
||||
E67AB94002886AF67437D6AE /* include_juce_audio_processors.mm */ /* include_juce_audio_processors.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors.mm; path = ../../JuceLibraryCode/include_juce_audio_processors.mm; sourceTree = SOURCE_ROOT; };
|
||||
EB68BD1224CD9748BFA332C0 /* MainComponent.h */ /* MainComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/UI/MainComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -162,6 +166,7 @@
|
|||
F5F2EA2238973488632FC322 /* include_juce_data_structures.mm */ /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
|
||||
FB1FC613CE260140F1CFD21B /* juce_events */ /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_events; path = ../../../../modules/juce_events; sourceTree = SOURCE_ROOT; };
|
||||
FCD0D758C5767944BEC29730 /* include_juce_events.mm */ /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
|
||||
FCF36E57A88C67133AFC06A4 /* AppIcon.icon */ /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = file.icon; name = AppIcon.icon; path = ../../Source/AppIcon.icon; sourceTree = SOURCE_ROOT; };
|
||||
FDC3CA8D1403C169659F7D8C /* juce_data_structures */ /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_data_structures; path = ../../../../modules/juce_data_structures; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
|
|
@ -195,6 +200,15 @@
|
|||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
2BAD3DB7D8D886E59B412094 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6710661E16D6BD412524EB52,
|
||||
CDFBB9C6A2AE67CE9EE00949,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4452EAA652B65A9AE648288C /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -293,6 +307,7 @@
|
|||
CD575607FAA297480EE95F13,
|
||||
BB12537403CC24C02622582C,
|
||||
260481E972425474BB8155B0,
|
||||
B88D35BF4F1EAC840B967834,
|
||||
ECE79F1433E92BB6213C86F5,
|
||||
);
|
||||
name = Source;
|
||||
|
|
@ -319,6 +334,15 @@
|
|||
name = DemoRunner;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B88D35BF4F1EAC840B967834 /* AppIcon.icon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2BAD3DB7D8D886E59B412094,
|
||||
7D51C1884CE8FB235D31921B,
|
||||
);
|
||||
name = AppIcon.icon;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BB12537403CC24C02622582C /* UI */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -361,7 +385,8 @@
|
|||
7B3243C92248D379A0489AA4,
|
||||
4EC2782DE1779A130835B64D,
|
||||
9672FCE6167ADB567A9EB2F8,
|
||||
E0A3F113BC27B7B4D6F1D693,
|
||||
68A0F49281B13E51489A6874,
|
||||
FCF36E57A88C67133AFC06A4,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -447,7 +472,8 @@
|
|||
1BA301E39E29966719B710A1,
|
||||
E33E8FE2E7F8EC8EB4279F1B,
|
||||
91CD2BCE4CA07E18229EB436,
|
||||
75DB074DBAE04408A0A917B7,
|
||||
675BFB499A7E0AAD2614F529,
|
||||
7648F1C856593D10FE42CF80,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -549,6 +575,7 @@
|
|||
69330F27DD2C71609336C7D2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
@ -645,6 +672,7 @@
|
|||
B18D059E5616FA729F764229 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.rmsl.jucedemorunner</string>
|
||||
<key>CFBundleName</key>
|
||||
|
|
|
|||
|
|
@ -4912,6 +4912,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="DemoRunner\Source\UI">
|
||||
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{582D7890-88DE-64AF-4B99-546B272ADAC5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{2E0E5C08-9649-C07C-383E-3497456B1834}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source">
|
||||
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8939,6 +8945,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>DemoRunner\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -4912,6 +4912,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="DemoRunner\Source\UI">
|
||||
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{582D7890-88DE-64AF-4B99-546B272ADAC5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{2E0E5C08-9649-C07C-383E-3497456B1834}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source">
|
||||
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8939,6 +8945,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>DemoRunner\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -4912,6 +4912,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
|
||||
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="DemoRunner\Source\UI">
|
||||
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{582D7890-88DE-64AF-4B99-546B272ADAC5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{2E0E5C08-9649-C07C-383E-3497456B1834}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="DemoRunner\Source">
|
||||
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8939,6 +8945,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerbg.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\demorunnerplay.svg">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>DemoRunner\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>DemoRunner\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@
|
|||
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
|
||||
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
|
||||
6658EEC5F9D63D3419EB7098 /* CoreServices.framework */ = {isa = PBXBuildFile; fileRef = E07FC48041C3E9F9721F3BCE; };
|
||||
675BFB499A7E0AAD2614F529 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 68A0F49281B13E51489A6874; };
|
||||
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
|
||||
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
|
||||
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
|
||||
71DF4F5EB4C8305688416725 /* DemoContentComponent.cpp */ = {isa = PBXBuildFile; fileRef = E5BFC17E682AB426D203B3E6; };
|
||||
75DB074DBAE04408A0A917B7 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = E0A3F113BC27B7B4D6F1D693; };
|
||||
7648F1C856593D10FE42CF80 /* AppIcon.icon */ = {isa = PBXBuildFile; fileRef = FCF36E57A88C67133AFC06A4; };
|
||||
7B4163348896EB1B86B15160 /* AVFoundation.framework */ = {isa = PBXBuildFile; fileRef = DC192EFA899E6CBE6B5CD394; };
|
||||
7F57DB52C3CEFDC26DDD38FC /* CoreImage.framework */ = {isa = PBXBuildFile; fileRef = B28EFB9D1DF0B6D6499A7DEF; };
|
||||
89AD16514B1F4133FFEA1DF9 /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = 96D99A08027CA35D6A4E5CFD; };
|
||||
|
|
@ -111,14 +112,17 @@
|
|||
61AE09C749B007B70A265D9B /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
640B7C54D35F5DF408327886 /* include_juce_core_CompilationTime.cpp */ /* include_juce_core_CompilationTime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_core_CompilationTime.cpp; path = ../../JuceLibraryCode/include_juce_core_CompilationTime.cpp; sourceTree = SOURCE_ROOT; };
|
||||
651ECE3C7BA845DDCFEE48F3 /* juce_osc */ /* juce_osc */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_osc; path = ../../../../modules/juce_osc; sourceTree = SOURCE_ROOT; };
|
||||
6710661E16D6BD412524EB52 /* demorunnerbg.svg */ /* demorunnerbg.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = demorunnerbg.svg; path = ../../Source/AppIcon.icon/Assets/demorunnerbg.svg; sourceTree = SOURCE_ROOT; };
|
||||
6847A9B2C5E3C2ED56D8D4E7 /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; };
|
||||
685A261BE78585293F3EAD36 /* Assets */ /* Assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Assets; path = ../../../Assets; sourceTree = "<group>"; };
|
||||
68A0F49281B13E51489A6874 /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
6C198AF93E1F6E682189E2F6 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
6C2C1AC86623F457427965EF /* juce_box2d */ /* juce_box2d */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_box2d; path = ../../../../modules/juce_box2d; sourceTree = SOURCE_ROOT; };
|
||||
6C5E26B4D28F8450435B8AE1 /* include_juce_cryptography.mm */ /* include_juce_cryptography.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_cryptography.mm; path = ../../JuceLibraryCode/include_juce_cryptography.mm; sourceTree = SOURCE_ROOT; };
|
||||
76A157A111866670A4678F04 /* CoreGraphics.framework */ /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
7983C452610C1638B7E78F12 /* ImageIO.framework */ /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
|
||||
7A5AAE9EE573FC6105CC4AAC /* SettingsContent.h */ /* SettingsContent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SettingsContent.h; path = ../../Source/UI/SettingsContent.h; sourceTree = SOURCE_ROOT; };
|
||||
7D51C1884CE8FB235D31921B /* icon.json */ /* icon.json */ = {isa = PBXFileReference; lastKnownFileType = file.json; name = icon.json; path = ../../Source/AppIcon.icon/icon.json; sourceTree = SOURCE_ROOT; };
|
||||
7FBD555B32197FEACDFF5AFB /* LaunchScreen.storyboard */ /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = LaunchScreen.storyboard; sourceTree = SOURCE_ROOT; };
|
||||
8135645508EEFDBDCDF2ADC6 /* Images.xcassets */ /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = DemoRunner/Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
8447FC9882D85E6DAF0A4852 /* juce_animation */ /* juce_animation */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_animation; path = ../../../../modules/juce_animation; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -146,12 +150,12 @@
|
|||
C64CA4082EC267CDD63E6623 /* juce_javascript */ /* juce_javascript */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_javascript; path = ../../../../modules/juce_javascript; sourceTree = SOURCE_ROOT; };
|
||||
CB4C64BACC1CA4AAD6D69565 /* include_juce_animation.cpp */ /* include_juce_animation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_animation.cpp; path = ../../JuceLibraryCode/include_juce_animation.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CCC8AEBCE55002F970222BAD /* include_juce_graphics_Sheenbidi.c */ /* include_juce_graphics_Sheenbidi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = include_juce_graphics_Sheenbidi.c; path = ../../JuceLibraryCode/include_juce_graphics_Sheenbidi.c; sourceTree = SOURCE_ROOT; };
|
||||
CDFBB9C6A2AE67CE9EE00949 /* demorunnerplay.svg */ /* demorunnerplay.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = demorunnerplay.svg; path = ../../Source/AppIcon.icon/Assets/demorunnerplay.svg; sourceTree = SOURCE_ROOT; };
|
||||
CE38E6469D98462A2C22C915 /* include_juce_osc.cpp */ /* include_juce_osc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_osc.cpp; path = ../../JuceLibraryCode/include_juce_osc.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CFF2BBEB242CC8B3B904B5F9 /* App */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoRunner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DC192EFA899E6CBE6B5CD394 /* AVFoundation.framework */ /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
||||
E061A1C75FA5722167FC4997 /* include_juce_audio_formats.mm */ /* include_juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_formats.mm; path = ../../JuceLibraryCode/include_juce_audio_formats.mm; sourceTree = SOURCE_ROOT; };
|
||||
E07FC48041C3E9F9721F3BCE /* CoreServices.framework */ /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
|
||||
E0A3F113BC27B7B4D6F1D693 /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
E5BFC17E682AB426D203B3E6 /* DemoContentComponent.cpp */ /* DemoContentComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DemoContentComponent.cpp; path = ../../Source/UI/DemoContentComponent.cpp; sourceTree = SOURCE_ROOT; };
|
||||
E67AB94002886AF67437D6AE /* include_juce_audio_processors.mm */ /* include_juce_audio_processors.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors.mm; path = ../../JuceLibraryCode/include_juce_audio_processors.mm; sourceTree = SOURCE_ROOT; };
|
||||
EB68BD1224CD9748BFA332C0 /* MainComponent.h */ /* MainComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/UI/MainComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -163,6 +167,7 @@
|
|||
F90C8B0233A54F1445343F67 /* UIKit.framework */ /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
FB1FC613CE260140F1CFD21B /* juce_events */ /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_events; path = ../../../../modules/juce_events; sourceTree = SOURCE_ROOT; };
|
||||
FCD0D758C5767944BEC29730 /* include_juce_events.mm */ /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
|
||||
FCF36E57A88C67133AFC06A4 /* AppIcon.icon */ /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = file.icon; name = AppIcon.icon; path = ../../Source/AppIcon.icon; sourceTree = SOURCE_ROOT; };
|
||||
FDC3CA8D1403C169659F7D8C /* juce_data_structures */ /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_data_structures; path = ../../../../modules/juce_data_structures; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
|
|
@ -199,6 +204,15 @@
|
|||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
2BAD3DB7D8D886E59B412094 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6710661E16D6BD412524EB52,
|
||||
CDFBB9C6A2AE67CE9EE00949,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4452EAA652B65A9AE648288C /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -300,6 +314,7 @@
|
|||
CD575607FAA297480EE95F13,
|
||||
BB12537403CC24C02622582C,
|
||||
260481E972425474BB8155B0,
|
||||
B88D35BF4F1EAC840B967834,
|
||||
ECE79F1433E92BB6213C86F5,
|
||||
);
|
||||
name = Source;
|
||||
|
|
@ -326,6 +341,15 @@
|
|||
name = DemoRunner;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B88D35BF4F1EAC840B967834 /* AppIcon.icon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2BAD3DB7D8D886E59B412094,
|
||||
7D51C1884CE8FB235D31921B,
|
||||
);
|
||||
name = AppIcon.icon;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BB12537403CC24C02622582C /* UI */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -365,7 +389,8 @@
|
|||
4EC2782DE1779A130835B64D,
|
||||
8135645508EEFDBDCDF2ADC6,
|
||||
7FBD555B32197FEACDFF5AFB,
|
||||
E0A3F113BC27B7B4D6F1D693,
|
||||
68A0F49281B13E51489A6874,
|
||||
FCF36E57A88C67133AFC06A4,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -451,7 +476,8 @@
|
|||
47ED2C78B05B8A6A00E36C46,
|
||||
8E63755144E29269FD82C897,
|
||||
1C9AA8660D0DE180064ACF7B,
|
||||
75DB074DBAE04408A0A917B7,
|
||||
675BFB499A7E0AAD2614F529,
|
||||
7648F1C856593D10FE42CF80,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
juce_add_gui_app(DemoRunner
|
||||
BUNDLE_ID com.juce.demorunner
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png
|
||||
ICON_COMPOSER_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/Source/AppIcon.icon"
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
|
|
|
|||
|
|
@ -28,6 +28,15 @@
|
|||
file="Source/UI/SettingsContent.h"/>
|
||||
</GROUP>
|
||||
<FILE id="fcr468" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
|
||||
<GROUP id="{4855AA6F-818F-EDED-5367-117FE2CF41F4}" name="AppIcon.icon">
|
||||
<GROUP id="{019A2775-58CE-001B-D28C-4D24E24823BD}" name="Assets">
|
||||
<FILE id="t8hFrS" name="demorunnerbg.svg" compile="0" resource="0"
|
||||
file="Source/AppIcon.icon/Assets/demorunnerbg.svg"/>
|
||||
<FILE id="cBIleJ" name="demorunnerplay.svg" compile="0" resource="0"
|
||||
file="Source/AppIcon.icon/Assets/demorunnerplay.svg"/>
|
||||
</GROUP>
|
||||
<FILE id="a17hwW" name="icon.json" compile="0" resource="0" file="Source/AppIcon.icon/icon.json"/>
|
||||
</GROUP>
|
||||
<FILE id="YyqWd2" name="JUCEAppIcon.png" compile="0" resource="0" file="Source/JUCEAppIcon.png"/>
|
||||
</GROUP>
|
||||
</MAINGROUP>
|
||||
|
|
@ -36,7 +45,7 @@
|
|||
customXcodeResourceFolders="../Assets ../Audio ../DSP ../GUI ../Utilities"
|
||||
microphonePermissionNeeded="1" cameraPermissionNeeded="1" applicationCategory="public.app-category.developer-tools"
|
||||
iosBluetoothPermissionNeeded="1" extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1"
|
||||
extraLinkerFlags="-Wl,-weak_reference_mismatches,weak">
|
||||
extraLinkerFlags="-Wl,-weak_reference_mismatches,weak" iconComposerIcon="a17hwW">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/>
|
||||
<CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/>
|
||||
|
|
@ -141,7 +150,7 @@
|
|||
iosBluetoothPermissionNeeded="1" iosScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown"
|
||||
iPadScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown"
|
||||
UIRequiresFullScreen="0" extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1"
|
||||
extraLinkerFlags="-Wl,-weak_reference_mismatches,weak">
|
||||
extraLinkerFlags="-Wl,-weak_reference_mismatches,weak" iconComposerIcon="a17hwW">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/>
|
||||
<CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs10" /><path
|
||||
id="ellipse1"
|
||||
style="opacity:1;fill:#8dc63f;stroke:none;stroke-width:0;stroke-dasharray:none"
|
||||
d="M 512,102 A 410,410 0 0 0 102,512 410,410 0 0 0 512,922 410,410 0 0 0 922,512 410,410 0 0 0 512,102 Z m 0,60.29412 A 349.70588,349.70588 0 0 1 861.70588,512 349.70588,349.70588 0 0 1 512,861.70588 349.70588,349.70588 0 0 1 162.29412,512 349.70588,349.70588 0 0 1 512,162.29412 Z" /><path
|
||||
d="m 557.74075,584.53575 c 24.52179,61.52243 51.27562,122.92312 84.24282,184.1717 a 42.226977,42.597119 0 0 0 61.04816,14.33089 331.7834,334.69165 0 0 0 85.3588,-87.71966 41.44276,41.80603 0 0 0 -22.95337,-63.13498 C 700.1663,612.43688 639.63092,588.12608 580.60365,562.50697 a 17.132088,17.282259 0 0 0 -22.8629,22.02878 z"
|
||||
fill="#f3bd48"
|
||||
id="path2"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 590.91909,532.71941 c 62.04349,26.86661 125.47444,52.18148 194.15361,72.08042 a 42.226977,42.597119 0 0 0 53.17582,-33.13449 327.95279,330.82747 0 0 0 -1.11599,-125.08337 42.226977,42.597119 0 0 0 -60.86718,-28.87477 c -61.77205,32.61722 -123.42342,58.90573 -184.924,83.24695 a 16.981278,17.130126 0 0 0 -0.42226,31.76526 z"
|
||||
fill="#f09f53"
|
||||
id="path3"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 527.57862,592.75092 A 17.252737,17.403965 0 0 0 495.8179,592.2641 c -26.8443,61.88755 -52.08998,125.11382 -71.96685,193.51262 a 41.774545,42.14072 0 0 0 33.41965,53.33768 339.23342,342.20698 0 0 0 54.8649,4.50313 335.40285,338.34283 0 0 0 69.01096,-7.18067 41.71422,42.079868 0 0 0 28.74449,-60.85301 C 577.5271,714.54826 551.4972,653.57352 527.57862,592.75092 Z"
|
||||
fill="#ecdc13"
|
||||
id="path4"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 499.58815,434.0158 a 17.252737,17.403965 0 0 0 31.76075,0.48684 c 27.14588,-62.49607 52.5424,-126.45259 72.38908,-195.73377 a 41.834868,42.201575 0 0 0 -33.17835,-53.21597 337.81583,340.77695 0 0 0 -125.98718,1.67347 41.684058,42.04944 0 0 0 -28.5937,60.82258 c 32.69575,62.16137 59.14793,124.14018 83.6094,185.96685 z"
|
||||
fill="#a95a96"
|
||||
id="path5"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 255.90835,396.80418 c 68.10609,20.47704 131.05444,45.94405 192.49468,72.74979 A 17.132088,17.282259 0 0 0 471.23578,447.4339 C 445.68845,382.96012 418.05993,318.60804 383.22269,254.37768 a 42.226977,42.597119 0 0 0 -61.04814,-14.33088 332.35645,335.26975 0 0 0 -89.94346,93.86578 41.653895,42.019015 0 0 0 23.67726,62.8916 z"
|
||||
fill="#2b8ec1"
|
||||
id="path6"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 466.62096,580.54989 a 17.132088,17.282259 0 0 0 -22.13901,-22.81987 c -62.82768,25.0106 -125.53475,51.99891 -188.091,85.86361 a 41.44276,41.80603 0 0 0 -14.14604,61.279 331.99452,334.90464 0 0 0 90.87849,86.44172 42.226977,42.597119 0 0 0 62.73722,-23.21542 c 20.11813,-66.26896 44.73043,-127.54796 70.76034,-187.54904 z"
|
||||
fill="#add14c"
|
||||
id="path7"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 559.45998,448.31627 a 17.101925,17.251833 0 0 0 22.10885,22.85033 c 63.15947,-25.1019 126.16815,-52.33362 189.05622,-86.44174 a 41.503085,41.866882 0 0 0 14.50797,-60.85303 332.17549,335.08718 0 0 0 -90.75785,-88.84542 42.226977,42.597119 0 0 0 -63.12932,23.00245 C 610.97689,325.33231 585.882,387.58495 559.45998,448.31627 Z"
|
||||
fill="#e74253"
|
||||
id="path8"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 433.11085,497.02912 C 370.73557,469.97994 307.03316,444.57381 238.02221,424.52273 a 42.226977,42.597119 0 0 0 -53.29647,33.46918 331.2103,334.11355 0 0 0 -4.34335,53.85492 327.28923,330.1581 0 0 0 7.84216,71.98912 42.046003,42.41456 0 0 0 60.59571,27.62728 c 61.34976,-32.43465 122.60904,-58.63191 183.77781,-82.82097 a 16.981278,17.130126 0 0 0 0.51278,-31.61314 z"
|
||||
fill="#01b699"
|
||||
id="path9"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /></svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs10" /><path
|
||||
id="path10"
|
||||
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;fill:#ffffff;stroke:none;stroke-width:0;stroke-linejoin:round;stroke-dasharray:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
|
||||
d="m 423.56078,298.30917 c -29.46344,1.49229 -56.33329,26.03664 -55.6013,58.42759 l 7.05392,312.06918 c 0.97599,43.18795 50.336,70.22114 87.24983,47.7819 L 729.00583,554.4414 c 36.91384,-22.43922 35.64059,-78.70127 -2.24927,-99.44996 L 452.96592,305.06281 c -9.47244,-5.18717 -19.58398,-7.25107 -29.40514,-6.75364 z" /></svg>
|
||||
|
After Width: | Height: | Size: 860 B |
50
examples/DemoRunner/Source/AppIcon.icon/icon.json
Normal file
50
examples/DemoRunner/Source/AppIcon.icon/icon.json
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"fill" : "system-light",
|
||||
"groups" : [
|
||||
{
|
||||
"blur-material" : 0.5,
|
||||
"hidden" : false,
|
||||
"layers" : [
|
||||
{
|
||||
"glass" : true,
|
||||
"hidden" : false,
|
||||
"image-name" : "demorunnerplay.svg",
|
||||
"name" : "demorunnerplay",
|
||||
"opacity" : 1
|
||||
}
|
||||
],
|
||||
"opacity" : 1,
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"specular" : true,
|
||||
"translucency" : {
|
||||
"enabled" : true,
|
||||
"value" : 0.6
|
||||
}
|
||||
},
|
||||
{
|
||||
"blur-material" : null,
|
||||
"layers" : [
|
||||
{
|
||||
"hidden" : false,
|
||||
"image-name" : "demorunnerbg.svg",
|
||||
"name" : "demorunnerbg"
|
||||
}
|
||||
],
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"specular" : true,
|
||||
"translucency" : {
|
||||
"enabled" : false,
|
||||
"value" : 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,8 @@
|
|||
microphonePermissionNeeded="1" sendAppleEventsPermissionNeeded="1"
|
||||
sendAppleEventsPermissionText="This is required for some third-party plug-ins to function correctly."
|
||||
customXcodeResourceFolders="../../examples/Assets" applicationCategory="public.app-category.developer-tools"
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak">
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak"
|
||||
iconComposerIcon="XbiViB">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="AudioPluginHost" recommendedWarnings="LLVM"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="2" targetName="AudioPluginHost"
|
||||
|
|
@ -131,7 +132,8 @@
|
|||
<XCODE_IPHONE targetFolder="Builds/iOS" iosScreenOrientation="" iPadScreenOrientation=""
|
||||
iosDeviceFamily="1,2" microphonePermissionNeeded="1" iosBackgroundAudio="1"
|
||||
iosBackgroundBle="1" smallIcon="c97aUr" bigIcon="c97aUr" customXcodeResourceFolders="../../examples/Assets"
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak">
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak"
|
||||
iconComposerIcon="XbiViB">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" enablePluginBinaryCopyStep="1" isDebug="1" optimisation="1"
|
||||
linkTimeOptimisation="0" targetName="Plugin Host" recommendedWarnings="LLVM"/>
|
||||
|
|
@ -213,6 +215,14 @@
|
|||
<FILE id="ygZQZ1" name="PluginWindow.h" compile="0" resource="0" file="Source/UI/PluginWindow.h"/>
|
||||
</GROUP>
|
||||
<FILE id="OmIhwQ" name="HostStartup.cpp" compile="1" resource="0" file="Source/HostStartup.cpp"/>
|
||||
<GROUP id="{01F39B17-CE35-0084-0EB9-0A5568EA6D44}" name="AppIcon.icon">
|
||||
<GROUP id="{33FB5817-3017-E31C-F692-79C18943F756}" name="Assets">
|
||||
<FILE id="Qqb1Ar" name="juceicon.svg" compile="0" resource="0" file="Source/AppIcon.icon/Assets/juceicon.svg"/>
|
||||
<FILE id="quO9K9" name="pluginhostfg.svg" compile="0" resource="0"
|
||||
file="Source/AppIcon.icon/Assets/pluginhostfg.svg"/>
|
||||
</GROUP>
|
||||
<FILE id="XbiViB" name="icon.json" compile="0" resource="0" file="Source/AppIcon.icon/icon.json"/>
|
||||
</GROUP>
|
||||
<FILE id="c97aUr" name="JUCEAppIcon.png" compile="0" resource="0" file="Source/JUCEAppIcon.png"/>
|
||||
</GROUP>
|
||||
<GROUP id="{63C773C8-4305-87DD-DB3F-6D1143EFEC61}" name="BinaryData">
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ add_library( ${BINARY_NAME}
|
|||
"../../../Source/UI/MainHostWindow.h"
|
||||
"../../../Source/UI/PluginWindow.h"
|
||||
"../../../Source/HostStartup.cpp"
|
||||
"../../../Source/AppIcon.icon/Assets/juceicon.svg"
|
||||
"../../../Source/AppIcon.icon/Assets/pluginhostfg.svg"
|
||||
"../../../Source/AppIcon.icon/icon.json"
|
||||
"../../../Source/JUCEAppIcon.png"
|
||||
"../../../../../examples/Assets/cassette_recorder.wav"
|
||||
"../../../../../examples/Assets/cello.wav"
|
||||
|
|
@ -2552,6 +2555,9 @@ set_source_files_properties(
|
|||
"../../../Source/UI/GraphEditorPanel.h"
|
||||
"../../../Source/UI/MainHostWindow.h"
|
||||
"../../../Source/UI/PluginWindow.h"
|
||||
"../../../Source/AppIcon.icon/Assets/juceicon.svg"
|
||||
"../../../Source/AppIcon.icon/Assets/pluginhostfg.svg"
|
||||
"../../../Source/AppIcon.icon/icon.json"
|
||||
"../../../Source/JUCEAppIcon.png"
|
||||
"../../../../../examples/Assets/cassette_recorder.wav"
|
||||
"../../../../../examples/Assets/cello.wav"
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
09309BD494A05931864B6730 /* PluginGraph.cpp */ = {isa = PBXBuildFile; fileRef = 0B1CC8C80F6F99BDE7D6AEC9; };
|
||||
0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; };
|
||||
15CCE43D7DCFC649638919D4 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 4C7D82F9274A4F9DBF11235C; };
|
||||
17928C3B79A379E4C6029D3E /* AppIcon.icon */ = {isa = PBXBuildFile; fileRef = 8D0F99961E3A2FF09E7D2DEC; };
|
||||
19BE669F744C58C9B8742649 /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = E19F52E4D8928B850832C57F; };
|
||||
1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; };
|
||||
|
|
@ -21,7 +22,6 @@
|
|||
2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; };
|
||||
3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; };
|
||||
3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; };
|
||||
443244451A0F2064D4767337 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 2A6983F82B13F9E8B10299AE; };
|
||||
4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; };
|
||||
5C4D406B924230F83E3580AD /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = 65968EA1B476D71F14DE1D58; };
|
||||
68FBFDA1FE637B3EDA09A592 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 4DF6E6E41E10965AD169143B; };
|
||||
|
|
@ -33,6 +33,7 @@
|
|||
8390CF6AEF2090680E4535F7 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = 118ABD8E91DF2E400358D8CD; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; };
|
||||
9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; };
|
||||
937574F3E6597DC4573F370E /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 6FDEDC8A2EE1095C83DCAF09; };
|
||||
970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; };
|
||||
A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; };
|
||||
A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; };
|
||||
|
|
@ -64,9 +65,9 @@
|
|||
0B1CC8C80F6F99BDE7D6AEC9 /* PluginGraph.cpp */ /* PluginGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginGraph.cpp; path = ../../Source/Plugins/PluginGraph.cpp; sourceTree = SOURCE_ROOT; };
|
||||
118ABD8E91DF2E400358D8CD /* MetalKit.framework */ /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||
11E6340DB6A6F68F5040101B /* reverb_ir.wav */ /* reverb_ir.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = reverb_ir.wav; path = ../../../../examples/Assets/reverb_ir.wav; sourceTree = SOURCE_ROOT; };
|
||||
16F7FAF232A9DA67E656C776 /* juceicon.svg */ /* juceicon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = juceicon.svg; path = ../../Source/AppIcon.icon/Assets/juceicon.svg; sourceTree = SOURCE_ROOT; };
|
||||
17A29FEB16D4439351511947 /* guitar_amp.wav */ /* guitar_amp.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = guitar_amp.wav; path = ../../../../examples/Assets/guitar_amp.wav; sourceTree = SOURCE_ROOT; };
|
||||
1DADAD8E34AAF4AFF1C69DC4 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
|
||||
2A6983F82B13F9E8B10299AE /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
2BE6C2DFD6EBB9A89109AEB5 /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; };
|
||||
36689CA4EFC2AF183A0848AE /* include_juce_dsp.mm */ /* include_juce_dsp.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_dsp.mm; path = ../../JuceLibraryCode/include_juce_dsp.mm; sourceTree = SOURCE_ROOT; };
|
||||
37E4D5C341406B7072120006 /* include_juce_opengl.mm */ /* include_juce_opengl.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_opengl.mm; path = ../../JuceLibraryCode/include_juce_opengl.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -93,6 +94,8 @@
|
|||
6A01D5F304346E0332264056 /* ARAPlugin.cpp */ /* ARAPlugin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ARAPlugin.cpp; path = ../../Source/Plugins/ARAPlugin.cpp; sourceTree = SOURCE_ROOT; };
|
||||
6A71B2BCAC4239072BC2BD7E /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; };
|
||||
6D107D7946DC5976B766345B /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
|
||||
6FDEDC8A2EE1095C83DCAF09 /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
7294E2139555BCA6E58BC4CB /* icon.json */ /* icon.json */ = {isa = PBXFileReference; lastKnownFileType = file.json; name = icon.json; path = ../../Source/AppIcon.icon/icon.json; sourceTree = SOURCE_ROOT; };
|
||||
7DA35787B5F6F7440D667CC8 /* RecentFilesMenuTemplate.nib */ /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; };
|
||||
81C1A7770E082F56FE5A90A7 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
82800DBA287EF4BAB13B42FB /* include_juce_graphics.mm */ /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -101,6 +104,7 @@
|
|||
87A7AAB053051C49EAF4EE88 /* InternalPlugins.cpp */ /* InternalPlugins.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InternalPlugins.cpp; path = ../../Source/Plugins/InternalPlugins.cpp; sourceTree = SOURCE_ROOT; };
|
||||
89309C0C5F3269BD06BE7F27 /* QuartzCore.framework */ /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
8AE5B3D0B3DE53FC27B9E88F /* include_juce_audio_processors_headless_lv2_libs.cpp */ /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
8D0F99961E3A2FF09E7D2DEC /* AppIcon.icon */ /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = file.icon; name = AppIcon.icon; path = ../../Source/AppIcon.icon; sourceTree = SOURCE_ROOT; };
|
||||
8D8BBC353637DA442C5575DA /* App */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioPluginHost.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8FE7B37CDE0818DB27BDDEBD /* include_juce_gui_basics.mm */ /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
9320A145F2A8ACD687D6608E /* juce_dsp */ /* juce_dsp */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_dsp; path = ../../../../modules/juce_dsp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -126,6 +130,7 @@
|
|||
C1981AC950A91C9050CE8358 /* Security.framework */ /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
C37B2E77AAB6C9E13729BF99 /* IOConfigurationWindow.cpp */ /* IOConfigurationWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IOConfigurationWindow.cpp; path = ../../Source/Plugins/IOConfigurationWindow.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CA726B9AA0EC87B58D005C8D /* ARAPlugin.h */ /* ARAPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARAPlugin.h; path = ../../Source/Plugins/ARAPlugin.h; sourceTree = SOURCE_ROOT; };
|
||||
CBAE7E81038388E1B80BA819 /* pluginhostfg.svg */ /* pluginhostfg.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = pluginhostfg.svg; path = ../../Source/AppIcon.icon/Assets/pluginhostfg.svg; sourceTree = SOURCE_ROOT; };
|
||||
D313CF37B25D7FD313C4F336 /* OpenGL.framework */ /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||
D4EBC17BDB7F88CCBC76730B /* AudioToolbox.framework */ /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
DAB71FA843B80756B5521A4E /* include_juce_audio_processors_headless.mm */ /* include_juce_audio_processors_headless.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors_headless.mm; path = ../../JuceLibraryCode/include_juce_audio_processors_headless.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -180,6 +185,15 @@
|
|||
name = BinaryData;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
59BB5CF70EC14DFD74F5ED85 /* AppIcon.icon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B91A28F8942AEAAD82FA11D7,
|
||||
7294E2139555BCA6E58BC4CB,
|
||||
);
|
||||
name = AppIcon.icon;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
65BEFC705A89E5C8A9E35C97 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -275,7 +289,8 @@
|
|||
5F0ADA39C70C892758A941F6,
|
||||
57DF618F1DE781556B7AFC32,
|
||||
7DA35787B5F6F7440D667CC8,
|
||||
2A6983F82B13F9E8B10299AE,
|
||||
6FDEDC8A2EE1095C83DCAF09,
|
||||
8D0F99961E3A2FF09E7D2DEC,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -286,11 +301,21 @@
|
|||
9F51E92D8C77FA9DDD1F7B10,
|
||||
DE7B77306553B1204071B39A,
|
||||
A66EFAC64B1B67B536C73415,
|
||||
59BB5CF70EC14DFD74F5ED85,
|
||||
B2A1E626CC120982805754F6,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B91A28F8942AEAAD82FA11D7 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
16F7FAF232A9DA67E656C776,
|
||||
CBAE7E81038388E1B80BA819,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D1C4804CD275CB57A5C89A2D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -411,7 +436,8 @@
|
|||
files = (
|
||||
FE22E1AF24FA9ED43E983B81,
|
||||
D92C7BF86C9CCF6B4D14F809,
|
||||
443244451A0F2064D4767337,
|
||||
937574F3E6597DC4573F370E,
|
||||
17928C3B79A379E4C6029D3E,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -459,6 +485,7 @@
|
|||
49453CC5AD9F08D2738464AC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
@ -598,6 +625,7 @@
|
|||
C8B793AC1BEFBE7A99BE8352 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.juce.audiopluginhost</string>
|
||||
<key>CFBundleName</key>
|
||||
|
|
|
|||
|
|
@ -4486,6 +4486,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cello.wav"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="AudioPluginHost\Source\UI">
|
||||
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{94E5947C-3A5C-01B7-75B0-CA217E2F5AF8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{DFD1926B-9FC8-19E6-7DE8-9B50A73FCEA8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source">
|
||||
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8117,6 +8123,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>AudioPluginHost\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -4486,6 +4486,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cello.wav"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="AudioPluginHost\Source\UI">
|
||||
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{94E5947C-3A5C-01B7-75B0-CA217E2F5AF8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{DFD1926B-9FC8-19E6-7DE8-9B50A73FCEA8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source">
|
||||
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8117,6 +8123,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>AudioPluginHost\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -4486,6 +4486,9 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg"/>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
|
||||
<None Include="..\..\..\..\examples\Assets\cello.wav"/>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
<Filter Include="AudioPluginHost\Source\UI">
|
||||
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{94E5947C-3A5C-01B7-75B0-CA217E2F5AF8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source\AppIcon.icon">
|
||||
<UniqueIdentifier>{DFD1926B-9FC8-19E6-7DE8-9B50A73FCEA8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="AudioPluginHost\Source">
|
||||
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -8117,6 +8123,15 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\Assets\pluginhostfg.svg">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\AppIcon.icon\icon.json">
|
||||
<Filter>AudioPluginHost\Source\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\JUCEAppIcon.png">
|
||||
<Filter>AudioPluginHost\Source</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; };
|
||||
1570FCC5CDB7A44DF0077E39 /* CoreGraphics.framework */ = {isa = PBXBuildFile; fileRef = 2F7D965A1284CEF0B20EB657; };
|
||||
15CCE43D7DCFC649638919D4 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 4C7D82F9274A4F9DBF11235C; };
|
||||
17928C3B79A379E4C6029D3E /* AppIcon.icon */ = {isa = PBXBuildFile; fileRef = 8D0F99961E3A2FF09E7D2DEC; };
|
||||
19BE669F744C58C9B8742649 /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = E19F52E4D8928B850832C57F; };
|
||||
1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; };
|
||||
|
|
@ -24,7 +25,6 @@
|
|||
2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; };
|
||||
3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; };
|
||||
3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; };
|
||||
443244451A0F2064D4767337 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 2A6983F82B13F9E8B10299AE; };
|
||||
4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; };
|
||||
50AFD116DCA6EC228EFB322D /* UIKit.framework */ = {isa = PBXBuildFile; fileRef = F9EDC54DFBCF3A63E0AA5D73; };
|
||||
59F4F23BFFDAB414B4801F85 /* Images.xcassets */ = {isa = PBXBuildFile; fileRef = 29E0972229FB44D969035B4E; };
|
||||
|
|
@ -39,6 +39,7 @@
|
|||
8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; };
|
||||
9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; };
|
||||
92EE84159C7027A137F06204 /* CoreText.framework */ = {isa = PBXBuildFile; fileRef = 66643EDF46AE8C5B7956B91D; };
|
||||
937574F3E6597DC4573F370E /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 6FDEDC8A2EE1095C83DCAF09; };
|
||||
970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; };
|
||||
A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; };
|
||||
A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; };
|
||||
|
|
@ -68,10 +69,10 @@
|
|||
0B1CC8C80F6F99BDE7D6AEC9 /* PluginGraph.cpp */ /* PluginGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginGraph.cpp; path = ../../Source/Plugins/PluginGraph.cpp; sourceTree = SOURCE_ROOT; };
|
||||
118ABD8E91DF2E400358D8CD /* MetalKit.framework */ /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||
11E6340DB6A6F68F5040101B /* reverb_ir.wav */ /* reverb_ir.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = reverb_ir.wav; path = ../../../../examples/Assets/reverb_ir.wav; sourceTree = SOURCE_ROOT; };
|
||||
16F7FAF232A9DA67E656C776 /* juceicon.svg */ /* juceicon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = juceicon.svg; path = ../../Source/AppIcon.icon/Assets/juceicon.svg; sourceTree = SOURCE_ROOT; };
|
||||
17A29FEB16D4439351511947 /* guitar_amp.wav */ /* guitar_amp.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = guitar_amp.wav; path = ../../../../examples/Assets/guitar_amp.wav; sourceTree = SOURCE_ROOT; };
|
||||
1DADAD8E34AAF4AFF1C69DC4 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
|
||||
29E0972229FB44D969035B4E /* Images.xcassets */ /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AudioPluginHost/Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
2A6983F82B13F9E8B10299AE /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
2BE6C2DFD6EBB9A89109AEB5 /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; };
|
||||
2F7D965A1284CEF0B20EB657 /* CoreGraphics.framework */ /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
36689CA4EFC2AF183A0848AE /* include_juce_dsp.mm */ /* include_juce_dsp.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_dsp.mm; path = ../../JuceLibraryCode/include_juce_dsp.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -99,6 +100,8 @@
|
|||
6A01D5F304346E0332264056 /* ARAPlugin.cpp */ /* ARAPlugin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ARAPlugin.cpp; path = ../../Source/Plugins/ARAPlugin.cpp; sourceTree = SOURCE_ROOT; };
|
||||
6A71B2BCAC4239072BC2BD7E /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; };
|
||||
6D107D7946DC5976B766345B /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
|
||||
6FDEDC8A2EE1095C83DCAF09 /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
7294E2139555BCA6E58BC4CB /* icon.json */ /* icon.json */ = {isa = PBXFileReference; lastKnownFileType = file.json; name = icon.json; path = ../../Source/AppIcon.icon/icon.json; sourceTree = SOURCE_ROOT; };
|
||||
7D924E83DABA5B54205C52F4 /* CoreServices.framework */ /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
|
||||
81C1A7770E082F56FE5A90A7 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
82800DBA287EF4BAB13B42FB /* include_juce_graphics.mm */ /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -108,6 +111,7 @@
|
|||
89309C0C5F3269BD06BE7F27 /* QuartzCore.framework */ /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
8AE5B3D0B3DE53FC27B9E88F /* include_juce_audio_processors_headless_lv2_libs.cpp */ /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
8C6CD9119127C4AEBADABA25 /* UniformTypeIdentifiers.framework */ /* UniformTypeIdentifiers.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UniformTypeIdentifiers.framework; path = System/Library/Frameworks/UniformTypeIdentifiers.framework; sourceTree = SDKROOT; };
|
||||
8D0F99961E3A2FF09E7D2DEC /* AppIcon.icon */ /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = file.icon; name = AppIcon.icon; path = ../../Source/AppIcon.icon; sourceTree = SOURCE_ROOT; };
|
||||
8D8BBC353637DA442C5575DA /* App */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8FE7B37CDE0818DB27BDDEBD /* include_juce_gui_basics.mm */ /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
9320A145F2A8ACD687D6608E /* juce_dsp */ /* juce_dsp */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_dsp; path = ../../../../modules/juce_dsp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -132,6 +136,7 @@
|
|||
B95B9D6774059DBB19F2B4E2 /* InternalPlugins.h */ /* InternalPlugins.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InternalPlugins.h; path = ../../Source/Plugins/InternalPlugins.h; sourceTree = SOURCE_ROOT; };
|
||||
C37B2E77AAB6C9E13729BF99 /* IOConfigurationWindow.cpp */ /* IOConfigurationWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IOConfigurationWindow.cpp; path = ../../Source/Plugins/IOConfigurationWindow.cpp; sourceTree = SOURCE_ROOT; };
|
||||
CA726B9AA0EC87B58D005C8D /* ARAPlugin.h */ /* ARAPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARAPlugin.h; path = ../../Source/Plugins/ARAPlugin.h; sourceTree = SOURCE_ROOT; };
|
||||
CBAE7E81038388E1B80BA819 /* pluginhostfg.svg */ /* pluginhostfg.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = pluginhostfg.svg; path = ../../Source/AppIcon.icon/Assets/pluginhostfg.svg; sourceTree = SOURCE_ROOT; };
|
||||
CFFA8E9A7820C5A27B4393C9 /* CoreImage.framework */ /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; };
|
||||
D0026F0A29B486D87E92BB8B /* OpenGLES.framework */ /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
D4EBC17BDB7F88CCBC76730B /* AudioToolbox.framework */ /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -192,6 +197,15 @@
|
|||
name = BinaryData;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
59BB5CF70EC14DFD74F5ED85 /* AppIcon.icon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B91A28F8942AEAAD82FA11D7,
|
||||
7294E2139555BCA6E58BC4CB,
|
||||
);
|
||||
name = AppIcon.icon;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
65BEFC705A89E5C8A9E35C97 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -288,7 +302,8 @@
|
|||
57DF618F1DE781556B7AFC32,
|
||||
29E0972229FB44D969035B4E,
|
||||
F58EBA72DA53F75945B91321,
|
||||
2A6983F82B13F9E8B10299AE,
|
||||
6FDEDC8A2EE1095C83DCAF09,
|
||||
8D0F99961E3A2FF09E7D2DEC,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -299,11 +314,21 @@
|
|||
9F51E92D8C77FA9DDD1F7B10,
|
||||
DE7B77306553B1204071B39A,
|
||||
A66EFAC64B1B67B536C73415,
|
||||
59BB5CF70EC14DFD74F5ED85,
|
||||
B2A1E626CC120982805754F6,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B91A28F8942AEAAD82FA11D7 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
16F7FAF232A9DA67E656C776,
|
||||
CBAE7E81038388E1B80BA819,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D1C4804CD275CB57A5C89A2D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -428,7 +453,8 @@
|
|||
FE22E1AF24FA9ED43E983B81,
|
||||
59F4F23BFFDAB414B4801F85,
|
||||
E283262A07376A7EDFCEAF6F,
|
||||
443244451A0F2064D4767337,
|
||||
937574F3E6597DC4573F370E,
|
||||
17928C3B79A379E4C6029D3E,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
juce_add_gui_app(AudioPluginHost
|
||||
BUNDLE_ID com.juce.pluginhost
|
||||
ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png"
|
||||
ICON_COMPOSER_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/Source/AppIcon.icon"
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
PLUGINHOST_AU TRUE)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs10" /><path
|
||||
id="ellipse1"
|
||||
style="opacity:1;fill:#8dc63f;stroke:none;stroke-width:0;stroke-dasharray:none"
|
||||
d="M 512,102 A 410,410 0 0 0 102,512 410,410 0 0 0 512,922 410,410 0 0 0 922,512 410,410 0 0 0 512,102 Z m 0,60.29412 A 349.70588,349.70588 0 0 1 861.70588,512 349.70588,349.70588 0 0 1 512,861.70588 349.70588,349.70588 0 0 1 162.29412,512 349.70588,349.70588 0 0 1 512,162.29412 Z" /><path
|
||||
d="m 557.74075,584.53575 c 24.52179,61.52243 51.27562,122.92312 84.24282,184.1717 a 42.226977,42.597119 0 0 0 61.04816,14.33089 331.7834,334.69165 0 0 0 85.3588,-87.71966 41.44276,41.80603 0 0 0 -22.95337,-63.13498 C 700.1663,612.43688 639.63092,588.12608 580.60365,562.50697 a 17.132088,17.282259 0 0 0 -22.8629,22.02878 z"
|
||||
fill="#f3bd48"
|
||||
id="path2"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 590.91909,532.71941 c 62.04349,26.86661 125.47444,52.18148 194.15361,72.08042 a 42.226977,42.597119 0 0 0 53.17582,-33.13449 327.95279,330.82747 0 0 0 -1.11599,-125.08337 42.226977,42.597119 0 0 0 -60.86718,-28.87477 c -61.77205,32.61722 -123.42342,58.90573 -184.924,83.24695 a 16.981278,17.130126 0 0 0 -0.42226,31.76526 z"
|
||||
fill="#f09f53"
|
||||
id="path3"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 527.57862,592.75092 A 17.252737,17.403965 0 0 0 495.8179,592.2641 c -26.8443,61.88755 -52.08998,125.11382 -71.96685,193.51262 a 41.774545,42.14072 0 0 0 33.41965,53.33768 339.23342,342.20698 0 0 0 54.8649,4.50313 335.40285,338.34283 0 0 0 69.01096,-7.18067 41.71422,42.079868 0 0 0 28.74449,-60.85301 C 577.5271,714.54826 551.4972,653.57352 527.57862,592.75092 Z"
|
||||
fill="#ecdc13"
|
||||
id="path4"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 499.58815,434.0158 a 17.252737,17.403965 0 0 0 31.76075,0.48684 c 27.14588,-62.49607 52.5424,-126.45259 72.38908,-195.73377 a 41.834868,42.201575 0 0 0 -33.17835,-53.21597 337.81583,340.77695 0 0 0 -125.98718,1.67347 41.684058,42.04944 0 0 0 -28.5937,60.82258 c 32.69575,62.16137 59.14793,124.14018 83.6094,185.96685 z"
|
||||
fill="#a95a96"
|
||||
id="path5"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 255.90835,396.80418 c 68.10609,20.47704 131.05444,45.94405 192.49468,72.74979 A 17.132088,17.282259 0 0 0 471.23578,447.4339 C 445.68845,382.96012 418.05993,318.60804 383.22269,254.37768 a 42.226977,42.597119 0 0 0 -61.04814,-14.33088 332.35645,335.26975 0 0 0 -89.94346,93.86578 41.653895,42.019015 0 0 0 23.67726,62.8916 z"
|
||||
fill="#2b8ec1"
|
||||
id="path6"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 466.62096,580.54989 a 17.132088,17.282259 0 0 0 -22.13901,-22.81987 c -62.82768,25.0106 -125.53475,51.99891 -188.091,85.86361 a 41.44276,41.80603 0 0 0 -14.14604,61.279 331.99452,334.90464 0 0 0 90.87849,86.44172 42.226977,42.597119 0 0 0 62.73722,-23.21542 c 20.11813,-66.26896 44.73043,-127.54796 70.76034,-187.54904 z"
|
||||
fill="#add14c"
|
||||
id="path7"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 559.45998,448.31627 a 17.101925,17.251833 0 0 0 22.10885,22.85033 c 63.15947,-25.1019 126.16815,-52.33362 189.05622,-86.44174 a 41.503085,41.866882 0 0 0 14.50797,-60.85303 332.17549,335.08718 0 0 0 -90.75785,-88.84542 42.226977,42.597119 0 0 0 -63.12932,23.00245 C 610.97689,325.33231 585.882,387.58495 559.45998,448.31627 Z"
|
||||
fill="#e74253"
|
||||
id="path8"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 433.11085,497.02912 C 370.73557,469.97994 307.03316,444.57381 238.02221,424.52273 a 42.226977,42.597119 0 0 0 -53.29647,33.46918 331.2103,334.11355 0 0 0 -4.34335,53.85492 327.28923,330.1581 0 0 0 7.84216,71.98912 42.046003,42.41456 0 0 0 60.59571,27.62728 c 61.34976,-32.43465 122.60904,-58.63191 183.77781,-82.82097 a 16.981278,17.130126 0 0 0 0.51278,-31.61314 z"
|
||||
fill="#01b699"
|
||||
id="path9"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /></svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs10" /><path
|
||||
style="opacity:1;stroke:none;stroke-width:0;stroke-dasharray:none;baseline-shift:baseline;display:inline;overflow:visible;fill:#ffffff;stroke-linejoin:round;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
|
||||
d="m 73.929859,327.16725 -0.712592,-48.45629 c -0.06497,-4.4178 -3.592753,-8.92329 -7.682166,-10.59004 -33.303539,-13.57372 -36.60516,-46.72625 -34.419568,-81.05791 0.280699,-4.40925 4.175288,-8.04405 8.592808,-8.12585 l 9.062872,-0.16783 v -34.65374 a 7.9999997,7.9999997 135 0 1 8,-8 h 16.85917 a 7.9999997,7.9999997 45 0 1 8,8 v 34.02183 H 100.5876 v -34.02183 a 7.9999997,7.9999997 135 0 1 8,-8 h 15.91132 a 7.9999997,7.9999997 45 0 1 8,8 v 33.70587 l 10.64241,-0.18038 c 4.41764,-0.0749 8.118,3.44424 8.22671,7.86117 0.87651,35.61407 -0.80889,71.54752 -34.8469,83.12679 -4.18016,1.42203 -7.66608,5.66412 -7.60112,10.08192 l 0.7126,48.45628 a 7.88322,7.88322 134.57873 0 1 -7.88237,7.99913 l -19.702757,1e-5 a 8.1185094,8.1185094 44.57873 0 1 -8.117634,-7.99913 z"
|
||||
id="path13"
|
||||
transform="matrix(3.0147059,0,0,3.0147059,237.49837,-134.67059)" /></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
47
extras/AudioPluginHost/Source/AppIcon.icon/icon.json
Normal file
47
extras/AudioPluginHost/Source/AppIcon.icon/icon.json
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"fill" : "system-light",
|
||||
"groups" : [
|
||||
{
|
||||
"blur-material" : 0.5,
|
||||
"hidden" : false,
|
||||
"layers" : [
|
||||
{
|
||||
"image-name" : "pluginhostfg.svg",
|
||||
"name" : "pluginhostfg"
|
||||
}
|
||||
],
|
||||
"opacity" : 1,
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"specular" : true,
|
||||
"translucency" : {
|
||||
"enabled" : true,
|
||||
"value" : 0.6
|
||||
}
|
||||
},
|
||||
{
|
||||
"blur-material" : null,
|
||||
"layers" : [
|
||||
{
|
||||
"hidden" : false,
|
||||
"image-name" : "juceicon.svg",
|
||||
"name" : "juceicon"
|
||||
}
|
||||
],
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"specular" : true,
|
||||
"translucency" : {
|
||||
"enabled" : false,
|
||||
"value" : 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -375,6 +375,7 @@ function(_juce_write_configure_time_info target)
|
|||
_juce_append_target_property(file_content SHOULD_ADD_STORYBOARD ${target} JUCE_SHOULD_ADD_STORYBOARD)
|
||||
_juce_append_target_property(file_content LAUNCH_STORYBOARD_FILE ${target} JUCE_LAUNCH_STORYBOARD_FILE)
|
||||
_juce_append_target_property(file_content ICON_FILE ${target} JUCE_ICON_FILE)
|
||||
_juce_append_target_property(file_content ICON_COMPOSER_BUNDLE ${target} JUCE_ICON_COMPOSER_BUNDLE)
|
||||
_juce_append_target_property(file_content PROJECT_NAME ${target} JUCE_PRODUCT_NAME)
|
||||
_juce_append_target_property(file_content COMPANY_COPYRIGHT ${target} JUCE_COMPANY_COPYRIGHT)
|
||||
_juce_append_target_property(file_content COMPANY_NAME ${target} JUCE_COMPANY_NAME)
|
||||
|
|
@ -636,6 +637,7 @@ function(_juce_generate_icon source_target dest_target)
|
|||
get_target_property(juce_library_code ${source_target} JUCE_GENERATED_SOURCES_DIRECTORY)
|
||||
get_target_property(juce_property_icon_big ${source_target} JUCE_ICON_BIG)
|
||||
get_target_property(juce_property_icon_small ${source_target} JUCE_ICON_SMALL)
|
||||
get_target_property(juce_property_icon_composer_bundle ${source_target} JUCE_ICON_COMPOSER_BUNDLE)
|
||||
|
||||
set(icon_args)
|
||||
|
||||
|
|
@ -647,8 +649,38 @@ function(_juce_generate_icon source_target dest_target)
|
|||
list(APPEND icon_args "${juce_property_icon_small}")
|
||||
endif()
|
||||
|
||||
get_filename_component(icon_composer_icon_name "${juce_property_icon_composer_bundle}" NAME_WE)
|
||||
|
||||
if(juce_property_icon_composer_bundle AND (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS"))
|
||||
set_source_files_properties("${juce_property_icon_composer_bundle}"
|
||||
PROPERTIES
|
||||
MACOSX_PACKAGE_LOCATION Resources
|
||||
XCODE_EXPLICIT_FILE_TYPE folder.iconcomposer.icon
|
||||
)
|
||||
|
||||
target_sources(${dest_target} PRIVATE "${juce_property_icon_composer_bundle}")
|
||||
|
||||
set_target_properties(${dest_target} PROPERTIES
|
||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "${icon_composer_icon_name}")
|
||||
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Darwin") AND (NOT CMAKE_GENERATOR STREQUAL "Xcode"))
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
"-Dbundle_dir='$<TARGET_BUNDLE_DIR:${target}>'"
|
||||
"-Dicon_path=${juce_property_icon_composer_bundle}"
|
||||
"-P" "${JUCE_CMAKE_UTILS_DIR}/generateXcassetsFromIcon.cmake"
|
||||
VERBATIM)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(generated_icon)
|
||||
|
||||
set(apple_app_icon_name "${icon_composer_icon_name}")
|
||||
|
||||
if(NOT apple_app_icon_name)
|
||||
set(apple_app_icon_name "AppIcon")
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
if(NOT icon_args)
|
||||
return()
|
||||
|
|
@ -656,9 +688,9 @@ function(_juce_generate_icon source_target dest_target)
|
|||
|
||||
_juce_check_icon_files_exist("${icon_args}")
|
||||
|
||||
set(generated_icon "${juce_library_code}/Icon.icns")
|
||||
set(generated_icon "${juce_library_code}/${apple_app_icon_name}.icns")
|
||||
# To get compiled properly, we need the icon before the plist is generated!
|
||||
_juce_execute_juceaide(macicon "${generated_icon}" ${icon_args})
|
||||
_juce_execute_juceaide(macicon "${generated_icon}" "${apple_app_icon_name}" ${icon_args})
|
||||
set_source_files_properties(${generated_icon} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
if(NOT icon_args)
|
||||
|
|
@ -679,15 +711,19 @@ function(_juce_generate_icon source_target dest_target)
|
|||
set(generated_icon "${out_path}/Images.xcassets")
|
||||
|
||||
# To get compiled properly, we need iOS assets at configure time!
|
||||
_juce_execute_juceaide(iosassets "${out_path}" ${icon_args})
|
||||
_juce_execute_juceaide(iosassets "${out_path}" "${apple_app_icon_name}" ${icon_args})
|
||||
endif()
|
||||
|
||||
if(NOT generated_icon)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set_target_properties(${dest_target} PROPERTIES
|
||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
|
||||
get_target_property(existing_appicon ${dest_target} XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME)
|
||||
|
||||
if(NOT existing_appicon)
|
||||
set_target_properties(${dest_target} PROPERTIES
|
||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "${apple_app_icon_name}")
|
||||
endif()
|
||||
|
||||
get_target_property(add_storyboard ${source_target} JUCE_SHOULD_ADD_STORYBOARD)
|
||||
|
||||
|
|
@ -1998,6 +2034,7 @@ function(_juce_initialise_target target)
|
|||
REQUIRES_FULL_SCREEN # iOS only
|
||||
ICON_BIG
|
||||
ICON_SMALL
|
||||
ICON_COMPOSER_BUNDLE # MacOS/iOS only
|
||||
COMPANY_COPYRIGHT
|
||||
COMPANY_NAME
|
||||
COMPANY_WEBSITE
|
||||
|
|
|
|||
91
extras/Build/CMake/generateXcassetsFromIcon.cmake
Normal file
91
extras/Build/CMake/generateXcassetsFromIcon.cmake
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
find_program(JUCE_XCRUN xcrun)
|
||||
|
||||
if(NOT JUCE_XCRUN)
|
||||
message(WARNING "No xcrun was found. Can't generate Icon Composer assets. Please ensure that the"
|
||||
" Xcode command-line tools are installed.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
function(get_actool_version output_var)
|
||||
execute_process(
|
||||
COMMAND xcrun actool --version
|
||||
OUTPUT_VARIABLE cmd_output
|
||||
ERROR_VARIABLE cmd_error
|
||||
RESULT_VARIABLE cmd_result
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
if(NOT cmd_result EQUAL 0)
|
||||
set(${output_var} "" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
string(REGEX REPLACE "[ \t\r\n]+" "" cmd_output "${cmd_output}")
|
||||
string(REGEX MATCH "<key>short-bundle-version</key>[^<]*<string>(.*)</string>" match_found "${cmd_output}")
|
||||
|
||||
if(match_found)
|
||||
set(${output_var} "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
else()
|
||||
set(${output_var} "" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
get_actool_version(actool_version)
|
||||
|
||||
if(NOT "${actool_version}" VERSION_GREATER_EQUAL "26.0")
|
||||
message(WARNING "Couldn't find actool with version 26.0 or greater."
|
||||
" Icon Composer assets will not be generated.")
|
||||
return()
|
||||
endif()
|
||||
|
||||
get_filename_component(icon_name "${icon_path}" NAME_WE)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${JUCE_XCRUN}" actool
|
||||
--compile "${bundle_dir}/Contents/Resources"
|
||||
--platform macosx
|
||||
--minimum-deployment-target 10.11
|
||||
--output-partial-info-plist /dev/null
|
||||
--app-icon "${icon_name}"
|
||||
"${icon_path}"
|
||||
OUTPUT_VARIABLE result_stdout
|
||||
ERROR_VARIABLE result_stderr
|
||||
RESULT_VARIABLE result)
|
||||
|
||||
if(result)
|
||||
message(STATUS "${result_stdout}")
|
||||
message(WARNING "${result_stderr}")
|
||||
message(ERROR "Failed to generate Icon Composer asset. actool returned with exit code ${result}")
|
||||
endif()
|
||||
|
|
@ -494,11 +494,12 @@ namespace juce::build_tools
|
|||
|
||||
RelativePath createXcassetsFolderFromIcons (const Icons& icons,
|
||||
const File& targetFolder,
|
||||
String projectFilenameRootString)
|
||||
String projectFilenameRootString,
|
||||
String iconName)
|
||||
{
|
||||
const auto assets = targetFolder.getChildFile (projectFilenameRootString)
|
||||
.getChildFile ("Images.xcassets");
|
||||
const auto iconSet = assets.getChildFile ("AppIcon.appiconset");
|
||||
const auto iconSet = assets.getChildFile (iconName + ".appiconset");
|
||||
const auto launchImage = assets.getChildFile ("LaunchImage.launchimage");
|
||||
|
||||
overwriteFileIfDifferentOrThrow (iconSet.getChildFile ("Contents.json"), getiOSAppIconContents());
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ namespace juce::build_tools
|
|||
|
||||
RelativePath createXcassetsFolderFromIcons (const Icons& icons,
|
||||
const File& targetFolder,
|
||||
String projectFilenameRootString);
|
||||
String projectFilenameRootString,
|
||||
String iconName);
|
||||
|
||||
} // namespace juce::build_tools
|
||||
|
|
|
|||
|
|
@ -184,8 +184,13 @@ namespace juce::build_tools
|
|||
addPlistDictionaryKey (*dict, "CFBundleExecutable", executableName);
|
||||
|
||||
if (! iOS) // (NB: on iOS this causes error ITMS-90032 during publishing)
|
||||
{
|
||||
addPlistDictionaryKey (*dict, "CFBundleIconFile", iconFile.exists() ? iconFile.getFileName() : String());
|
||||
|
||||
if (iconComposerIcon.exists())
|
||||
addPlistDictionaryKey (*dict, "CFBundleIconName", iconComposerIcon.getFileNameWithoutExtension());
|
||||
}
|
||||
|
||||
addPlistDictionaryKey (*dict, "CFBundleIdentifier", bundleIdentifier);
|
||||
addPlistDictionaryKey (*dict, "CFBundleName", projectName);
|
||||
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ namespace juce::build_tools
|
|||
String localNetworkPermissionText;
|
||||
|
||||
File iconFile;
|
||||
File iconComposerIcon;
|
||||
String projectName;
|
||||
String marketingVersion;
|
||||
String currentProjectVersion;
|
||||
|
|
|
|||
|
|
@ -117,12 +117,26 @@ struct IconParseResults
|
|||
{
|
||||
juce::build_tools::Icons icons;
|
||||
juce::File output;
|
||||
juce::String iconName;
|
||||
};
|
||||
|
||||
IconParseResults parseIconArguments (juce::ArgumentList&& args)
|
||||
enum class IconNameSpecified
|
||||
{
|
||||
args.checkMinNumArguments (2);
|
||||
no,
|
||||
yes
|
||||
};
|
||||
|
||||
IconParseResults parseIconArguments (juce::ArgumentList&& args, IconNameSpecified iconNameSpecified)
|
||||
{
|
||||
args.checkMinNumArguments (iconNameSpecified == IconNameSpecified::yes ? 3 : 2);
|
||||
const auto output = args.arguments.removeAndReturn (0);
|
||||
const auto iconName = std::invoke ([&]
|
||||
{
|
||||
if (iconNameSpecified == IconNameSpecified::yes)
|
||||
return args.arguments.removeAndReturn (0).text;
|
||||
|
||||
return juce::String{};
|
||||
});
|
||||
|
||||
const auto popFile = [&args]() -> juce::File
|
||||
{
|
||||
|
|
@ -135,28 +149,29 @@ IconParseResults parseIconArguments (juce::ArgumentList&& args)
|
|||
const auto smallIcon = popFile();
|
||||
const auto bigIcon = popFile();
|
||||
|
||||
return { juce::build_tools::Icons::fromFilesSmallAndBig (smallIcon, bigIcon), output.text };
|
||||
return { juce::build_tools::Icons::fromFilesSmallAndBig (smallIcon, bigIcon), output.text, iconName };
|
||||
}
|
||||
|
||||
int writeMacIcon (juce::ArgumentList&& argumentList)
|
||||
{
|
||||
const auto parsed = parseIconArguments (std::move (argumentList));
|
||||
const auto parsed = parseIconArguments (std::move (argumentList), IconNameSpecified::yes);
|
||||
juce::build_tools::writeMacIcon (parsed.icons, parsed.output);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int writeiOSAssets (juce::ArgumentList&& argumentList)
|
||||
{
|
||||
const auto parsed = parseIconArguments (std::move (argumentList));
|
||||
const auto parsed = parseIconArguments (std::move (argumentList), IconNameSpecified::yes);
|
||||
juce::build_tools::createXcassetsFolderFromIcons (parsed.icons,
|
||||
parsed.output.getParentDirectory(),
|
||||
parsed.output.getFileName());
|
||||
parsed.output.getFileName(),
|
||||
parsed.iconName);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int writeWinIcon (juce::ArgumentList&& argumentList)
|
||||
{
|
||||
const auto parsed = parseIconArguments (std::move (argumentList));
|
||||
const auto parsed = parseIconArguments (std::move (argumentList), IconNameSpecified::no);
|
||||
juce::build_tools::writeWinIcon (parsed.icons, parsed.output);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -284,6 +299,7 @@ juce::build_tools::PlistOptions parsePlistOptions (const juce::File& file,
|
|||
updateField ("SUPPRESS_AU_PLIST_RESOURCE_USAGE", result.suppressResourceUsage);
|
||||
updateField ("BUNDLE_ID", result.bundleIdentifier);
|
||||
updateField ("ICON_FILE", result.iconFile);
|
||||
updateField ("ICON_COMPOSER_BUNDLE", result.iconComposerIcon);
|
||||
|
||||
result.type = type;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.juce.NetworkGraphicsDemo</string>
|
||||
<key>CFBundleName</key>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
006DF460F8DF66EFFA80D968 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; };
|
||||
0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; };
|
||||
0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; };
|
||||
204FE224D562F0519DE438A4 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = BD85090C86849423E95A0014; };
|
||||
|
|
@ -20,6 +19,7 @@
|
|||
65B2C4ED19229E0EDC8EF993 /* RecentFilesMenuTemplate.nib */ = {isa = PBXBuildFile; fileRef = 696F7896036B652369517438; };
|
||||
67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; };
|
||||
6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; };
|
||||
6E24A926494D678975AA56E5 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 3A798A17A29957CC426E04FB; };
|
||||
770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; };
|
||||
77745BF98931B91341FE17F6 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = F3292E3563DB7ABB076DB400; };
|
||||
80B9F7ED2009922C693B7DD4 /* DiscRecording.framework */ = {isa = PBXBuildFile; fileRef = CB82A14817C3E2ABBBBC3864; };
|
||||
|
|
@ -57,6 +57,7 @@
|
|||
25DEDA8C9F94A6C8DFC8E53E /* SharedCanvas.h */ /* SharedCanvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SharedCanvas.h; path = ../../Source/SharedCanvas.h; sourceTree = SOURCE_ROOT; };
|
||||
2E13A899F4E3C99054A3656F /* Accelerate.framework */ /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
|
||||
33AA348465F512DBA8778DAF /* include_juce_events.mm */ /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
|
||||
3A798A17A29957CC426E04FB /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
3BF06B70407FFDBE9534F942 /* include_juce_osc.cpp */ /* include_juce_osc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_osc.cpp; path = ../../JuceLibraryCode/include_juce_osc.cpp; sourceTree = SOURCE_ROOT; };
|
||||
448838BE6E937D450A3C84CE /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
4D1DB6D77B6F3DE7A569780B /* CoreAudioKit.framework */ /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -70,7 +71,6 @@
|
|||
68EBC0BF5F01E05FDCB3EEAF /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
696F7896036B652369517438 /* RecentFilesMenuTemplate.nib */ /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; };
|
||||
6D1F9E505D20C09647124F0A /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
70F1CAF3C4C561DD81E6AFC1 /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
74711D7544168CCAC4969A07 /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
|
||||
7525879E73E8AF32FFA0CDDE /* include_juce_data_structures.mm */ /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
|
||||
77C0AC21C1028911123844FC /* Main.cpp */ /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -146,7 +146,7 @@
|
|||
children = (
|
||||
1FD6DBAC73414DD4C152E34E,
|
||||
696F7896036B652369517438,
|
||||
70F1CAF3C4C561DD81E6AFC1,
|
||||
3A798A17A29957CC426E04FB,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -343,7 +343,7 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
65B2C4ED19229E0EDC8EF993,
|
||||
006DF460F8DF66EFFA80D968,
|
||||
6E24A926494D678975AA56E5,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
006DF460F8DF66EFFA80D968 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; };
|
||||
0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; };
|
||||
0E041BED84BAC24200949A78 /* UniformTypeIdentifiers.framework */ = {isa = PBXBuildFile; fileRef = 961965555B4DAA5BE2361933; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; };
|
||||
|
|
@ -24,6 +23,7 @@
|
|||
64DEB67F9523F28D899D1821 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = C8C4E9A4028028FF1F5B76F2; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; };
|
||||
6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; };
|
||||
6E24A926494D678975AA56E5 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 3A798A17A29957CC426E04FB; };
|
||||
770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; };
|
||||
78CB229C1BA5093078BC6195 /* UserNotifications.framework */ = {isa = PBXBuildFile; fileRef = E8976208A3585295BF93D50D; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
80EE2C27B466BAFD83881D3F /* Accelerate.framework */ = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; };
|
||||
|
|
@ -64,6 +64,7 @@
|
|||
2E13A899F4E3C99054A3656F /* Accelerate.framework */ /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
|
||||
33AA348465F512DBA8778DAF /* include_juce_events.mm */ /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
|
||||
379F77D23BFAE3795282CEB3 /* UIKit.framework */ /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
3A798A17A29957CC426E04FB /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
3BF06B70407FFDBE9534F942 /* include_juce_osc.cpp */ /* include_juce_osc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_osc.cpp; path = ../../JuceLibraryCode/include_juce_osc.cpp; sourceTree = SOURCE_ROOT; };
|
||||
448838BE6E937D450A3C84CE /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
4D1DB6D77B6F3DE7A569780B /* CoreAudioKit.framework */ /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -77,7 +78,6 @@
|
|||
6799B056504F9F017998B9E2 /* CoreAudio.framework */ /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
68EBC0BF5F01E05FDCB3EEAF /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; };
|
||||
6D1F9E505D20C09647124F0A /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
70F1CAF3C4C561DD81E6AFC1 /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
74711D7544168CCAC4969A07 /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
|
||||
7525879E73E8AF32FFA0CDDE /* include_juce_data_structures.mm */ /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
|
||||
77C0AC21C1028911123844FC /* Main.cpp */ /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
1FD6DBAC73414DD4C152E34E,
|
||||
5273768FBB55D0DD57A5E70C,
|
||||
9D2DAC7D0C9DB77CB83E2992,
|
||||
70F1CAF3C4C561DD81E6AFC1,
|
||||
3A798A17A29957CC426E04FB,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -363,7 +363,7 @@
|
|||
files = (
|
||||
1282A62308CD1AC3F88A5D03,
|
||||
D832165EE981EF309D4B21BF,
|
||||
006DF460F8DF66EFFA80D968,
|
||||
6E24A926494D678975AA56E5,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.juce.theprojucer</string>
|
||||
<key>CFBundleName</key>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
10E26DA28CF28BBFDC64E796 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = 5F0374A45E6B5EC8E47D688F; };
|
||||
11D42F7EC6E6539D79A7F4B1 /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; };
|
||||
13180B0F6CE42B355C90CF3C /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = 39F69DABE999E4B2CBC6041F; };
|
||||
1321E6C1C6170B6C898AD09D /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 951128CA33CCDEF570436B1C; };
|
||||
234B6BA2952CBC7C61EF70EF /* include_juce_events.mm */ = {isa = PBXBuildFile; fileRef = 5867DC4E39DF8539B54C0D59; };
|
||||
241F29FCBB7A17BB44A0B10C /* Cocoa.framework */ = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; };
|
||||
244567D3AE2E417A8CB2B95E /* jucer_ProjectExporter.cpp */ = {isa = PBXBuildFile; fileRef = C3BB9F92B02B06D04A73794C; };
|
||||
|
|
@ -39,6 +38,7 @@
|
|||
6DD9DA1677A6CF789CDAB478 /* jucer_AutoUpdater.cpp */ = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; };
|
||||
6ECB2F11D2F593FACCCF99DB /* jucer_ProjucerLookAndFeel.cpp */ = {isa = PBXBuildFile; fileRef = 0F8C000E5FF4A2DAC1FEF8EB; };
|
||||
71713DE4716DCEDB45A206E2 /* jucer_OpenDocumentManager.cpp */ = {isa = PBXBuildFile; fileRef = F9111E150CFF155329D44853; };
|
||||
7E43279B5881EA0FFDA49647 /* AppIcon.icon */ = {isa = PBXBuildFile; fileRef = E09429B88DD8ADA381D4BF61; };
|
||||
7F1928D425D075E93DC254A8 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = E419F3AED6A220EDCB179A8C; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
8BE478303CDF061B72F219E2 /* jucer_CodeHelpers.cpp */ = {isa = PBXBuildFile; fileRef = F2E4998FB2C7221587A79F8B; };
|
||||
908B7D4FB180F53405DA8EF9 /* jucer_StartPageComponent.cpp */ = {isa = PBXBuildFile; fileRef = 82C18723A3D0E39BBD8F0F6E; };
|
||||
|
|
@ -54,6 +54,7 @@
|
|||
D0E26EB54B0087C8BE3D541E /* jucer_Icons.cpp */ = {isa = PBXBuildFile; fileRef = 846B2A670C5A19DE0039E11A; };
|
||||
D5C9125F65493CA481F18E53 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = D766BB9D8C32B5560F0493F3; };
|
||||
D76134C6646C526A210A78E2 /* include_juce_graphics_Sheenbidi.c */ = {isa = PBXBuildFile; fileRef = 276A4D5D4A2DD84C6D41F0CA; };
|
||||
DBE437EE41F174A6F27FC0E2 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = F3FE62637ACC2263A7594E8A; };
|
||||
DD0FF38F7E8DE0220D73671D /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = BF006EF584FB274FF0319E08; };
|
||||
EE722B47BC36CC8A87E0FB76 /* jucer_AppearanceSettings.cpp */ = {isa = PBXBuildFile; fileRef = BE618CE21C794BDEE319E328; };
|
||||
F15F0512666FF8CDC0D08905 /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 0462692BAA9CD1BE6DFBCC33; };
|
||||
|
|
@ -150,6 +151,7 @@
|
|||
6FD8DBC0FF42C87D8BEE2452 /* jucer_TranslationHelpers.h */ /* jucer_TranslationHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_TranslationHelpers.h; path = ../../Source/Utility/Helpers/jucer_TranslationHelpers.h; sourceTree = SOURCE_ROOT; };
|
||||
70D3399C01D1EF2CD059B2A4 /* jucer_Sidebar.h */ /* jucer_Sidebar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_Sidebar.h; path = ../../Source/Project/UI/Sidebar/jucer_Sidebar.h; sourceTree = SOURCE_ROOT; };
|
||||
7AB7640968FAAC73072FBD10 /* juce_gui_basics */ /* juce_gui_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_gui_basics; path = ../../../../modules/juce_gui_basics; sourceTree = SOURCE_ROOT; };
|
||||
7C2F4A961A17B2E2ADD1B407 /* icon.json */ /* icon.json */ = {isa = PBXFileReference; lastKnownFileType = file.json; name = icon.json; path = ../../Source/Assets/AppIcon.icon/icon.json; sourceTree = SOURCE_ROOT; };
|
||||
7CA44FF0BA319517C6E39651 /* jucer_Application.cpp */ /* jucer_Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_Application.cpp; path = ../../Source/Application/jucer_Application.cpp; sourceTree = SOURCE_ROOT; };
|
||||
807049CA2D5B6DE18EA078F2 /* export_android.svg */ /* export_android.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = export_android.svg; path = ../../Source/BinaryData/Icons/export_android.svg; sourceTree = SOURCE_ROOT; };
|
||||
82C18723A3D0E39BBD8F0F6E /* jucer_StartPageComponent.cpp */ /* jucer_StartPageComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_StartPageComponent.cpp; path = ../../Source/Application/StartPage/jucer_StartPageComponent.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -168,7 +170,6 @@
|
|||
921D263A2EAFD96C8D389693 /* JuceLV2Defines.h.in */ /* JuceLV2Defines.h.in */ = {isa = PBXFileReference; lastKnownFileType = file.in; name = JuceLV2Defines.h.in; path = ../../../Build/CMake/JuceLV2Defines.h.in; sourceTree = SOURCE_ROOT; };
|
||||
92926A4D3CC4BB2A9D35EB0B /* jucer_UTF8WindowComponent.h */ /* jucer_UTF8WindowComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_UTF8WindowComponent.h; path = ../../Source/Application/Windows/jucer_UTF8WindowComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
92A66A8BD87F98EB6B4FB6D0 /* jucer_ProjectContentComponent.h */ /* jucer_ProjectContentComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_ProjectContentComponent.h; path = ../../Source/Project/UI/jucer_ProjectContentComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
951128CA33CCDEF570436B1C /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; };
|
||||
96A1EC6B50DBD2C526C60338 /* jucer_AudioPluginARADocumentControllerTemplate.cpp */ /* jucer_AudioPluginARADocumentControllerTemplate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_AudioPluginARADocumentControllerTemplate.cpp; path = ../../Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.cpp; sourceTree = SOURCE_ROOT; };
|
||||
983CFBA01CA8811F30FA7F4C /* jucer_MiscUtilities.h */ /* jucer_MiscUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_MiscUtilities.h; path = ../../Source/Utility/Helpers/jucer_MiscUtilities.h; sourceTree = SOURCE_ROOT; };
|
||||
988A3851FBA511FB0B8FF754 /* jucer_AudioPluginARAEditorTemplate.h */ /* jucer_AudioPluginARAEditorTemplate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_AudioPluginARAEditorTemplate.h; path = ../../Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.h; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -224,6 +225,7 @@
|
|||
DE4A987B2D5529990A6AA9D4 /* jucer_AboutWindowComponent.h */ /* jucer_AboutWindowComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_AboutWindowComponent.h; path = ../../Source/Application/Windows/jucer_AboutWindowComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
DF40404150A5A3D6F5AAC856 /* MetalKit.framework */ /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||
DFBEB8E086832AEB0FBEADF0 /* jucer_StoredSettings.h */ /* jucer_StoredSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_StoredSettings.h; path = ../../Source/Settings/jucer_StoredSettings.h; sourceTree = SOURCE_ROOT; };
|
||||
E09429B88DD8ADA381D4BF61 /* AppIcon.icon */ /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = file.icon; name = AppIcon.icon; path = ../../Source/Assets/AppIcon.icon; sourceTree = SOURCE_ROOT; };
|
||||
E111A336FE13C033EAA0A1D1 /* jucer_NewCppFileTemplate.h */ /* jucer_NewCppFileTemplate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_NewCppFileTemplate.h; path = ../../Source/BinaryData/Templates/jucer_NewCppFileTemplate.h; sourceTree = SOURCE_ROOT; };
|
||||
E13A54A6D3A1895EACE53E51 /* jucer_ResourceFile.cpp */ /* jucer_ResourceFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_ResourceFile.cpp; path = ../../Source/ProjectSaving/jucer_ResourceFile.cpp; sourceTree = SOURCE_ROOT; };
|
||||
E186BC01A1B1529937A46485 /* jucer_FileHelpers.h */ /* jucer_FileHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_FileHelpers.h; path = ../../Source/Utility/Helpers/jucer_FileHelpers.h; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -246,9 +248,11 @@
|
|||
F2E4998FB2C7221587A79F8B /* jucer_CodeHelpers.cpp */ /* jucer_CodeHelpers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_CodeHelpers.cpp; path = ../../Source/Utility/Helpers/jucer_CodeHelpers.cpp; sourceTree = SOURCE_ROOT; };
|
||||
F313EE01ECE306DB2CFE011D /* UnityPluginGUIScript.cs.in */ /* UnityPluginGUIScript.cs.in */ = {isa = PBXFileReference; lastKnownFileType = file.in; name = UnityPluginGUIScript.cs.in; path = ../../../Build/CMake/UnityPluginGUIScript.cs.in; sourceTree = SOURCE_ROOT; };
|
||||
F3CCA5545AB7B4B603D0BFEB /* jucer_AudioPluginARAPlaybackRendererTemplate.cpp */ /* jucer_AudioPluginARAPlaybackRendererTemplate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_AudioPluginARAPlaybackRendererTemplate.cpp; path = ../../Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.cpp; sourceTree = SOURCE_ROOT; };
|
||||
F3FE62637ACC2263A7594E8A /* AppIcon.icns */ /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = AppIcon.icns; path = AppIcon.icns; sourceTree = SOURCE_ROOT; };
|
||||
F58B23995765C9FDBE28F871 /* jucer_Modules.cpp */ /* jucer_Modules.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_Modules.cpp; path = ../../Source/Project/Modules/jucer_Modules.cpp; sourceTree = SOURCE_ROOT; };
|
||||
F5DD97B45B8EA60C1ED0DD80 /* jucer_StoredSettings.cpp */ /* jucer_StoredSettings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_StoredSettings.cpp; path = ../../Source/Settings/jucer_StoredSettings.cpp; sourceTree = SOURCE_ROOT; };
|
||||
F63F46CA0A51C679867855A7 /* jucer_ProjectMessagesComponent.h */ /* jucer_ProjectMessagesComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_ProjectMessagesComponent.h; path = ../../Source/Project/UI/jucer_ProjectMessagesComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
F6410ADB98961EC4A6304A21 /* juceicon.svg */ /* juceicon.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = juceicon.svg; path = ../../Source/Assets/AppIcon.icon/Assets/juceicon.svg; sourceTree = SOURCE_ROOT; };
|
||||
F7C74E934C954F6F1A3BE4F9 /* jucer_TranslationToolWindowComponent.h */ /* jucer_TranslationToolWindowComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_TranslationToolWindowComponent.h; path = ../../Source/Application/Windows/jucer_TranslationToolWindowComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
F84D031B2A6BB1EE6A316C71 /* PIPConsole.cpp.in */ /* PIPConsole.cpp.in */ = {isa = PBXFileReference; lastKnownFileType = file.in; name = PIPConsole.cpp.in; path = ../../../Build/CMake/PIPConsole.cpp.in; sourceTree = SOURCE_ROOT; };
|
||||
F8A38C0C7C45F2DB6A5FB812 /* wizard_Highlight.svg */ /* wizard_Highlight.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; name = wizard_Highlight.svg; path = ../../Source/BinaryData/Icons/wizard_Highlight.svg; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -365,6 +369,14 @@
|
|||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4BCEED1C2E8D6C62E3DA4231 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F6410ADB98961EC4A6304A21,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4DCC5D64BBE8DE85360A3D57 /* ProjectSaving */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -405,12 +417,21 @@
|
|||
name = gradle;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7CEEEE4F800F5DB9728F9271 /* Assets */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F05A70E37CDE3CF34503940F,
|
||||
);
|
||||
name = Assets;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8180B5894A78501084B8F133 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E266DE67FF319D56F63193A6,
|
||||
6678E9B3EEACAD47F438B264,
|
||||
951128CA33CCDEF570436B1C,
|
||||
F3FE62637ACC2263A7594E8A,
|
||||
E09429B88DD8ADA381D4BF61,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -584,6 +605,7 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
BC67FD952A6F210A11A1ECB8,
|
||||
7CEEEE4F800F5DB9728F9271,
|
||||
DC3A4B0AD79334BA8A7E0661,
|
||||
F1B44F007A02A0FAE4DC8D79,
|
||||
89E9055A179B4C2019B4E1AE,
|
||||
|
|
@ -676,6 +698,15 @@
|
|||
name = Settings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F05A70E37CDE3CF34503940F /* AppIcon.icon */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4BCEED1C2E8D6C62E3DA4231,
|
||||
7C2F4A961A17B2E2ADD1B407,
|
||||
);
|
||||
name = AppIcon.icon;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F1B44F007A02A0FAE4DC8D79 /* CodeEditor */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -766,7 +797,8 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
2610F357881240ACBF612F48,
|
||||
1321E6C1C6170B6C898AD09D,
|
||||
DBE437EE41F174A6F27FC0E2,
|
||||
7E43279B5881EA0FFDA49647,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -825,6 +857,7 @@
|
|||
0BC15DC2E5FE5ECFFB398D49 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
@ -892,6 +925,7 @@
|
|||
0CC6C439D038EDA0D7F10DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_LINK_OBJC_RUNTIME = NO;
|
||||
|
|
|
|||
|
|
@ -2944,6 +2944,8 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in"/>
|
||||
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
|
||||
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,15 @@
|
|||
<Filter Include="Projucer\Application">
|
||||
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{B2D403C0-2D43-F167-C19F-47D66D35F066}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon">
|
||||
<UniqueIdentifier>{64127AE2-0F4C-1DEE-6C29-626091A3A9CB}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets">
|
||||
<UniqueIdentifier>{D247D8BA-48E6-6F87-156E-E999D3678EB6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\BinaryData\gradle">
|
||||
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -5243,6 +5252,12 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>Projucer\Assets\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json">
|
||||
<Filter>Projucer\Assets\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
|
||||
<Filter>Projucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -2944,6 +2944,8 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in"/>
|
||||
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
|
||||
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,15 @@
|
|||
<Filter Include="Projucer\Application">
|
||||
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{B2D403C0-2D43-F167-C19F-47D66D35F066}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon">
|
||||
<UniqueIdentifier>{64127AE2-0F4C-1DEE-6C29-626091A3A9CB}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets">
|
||||
<UniqueIdentifier>{D247D8BA-48E6-6F87-156E-E999D3678EB6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\BinaryData\gradle">
|
||||
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -5243,6 +5252,12 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>Projucer\Assets\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json">
|
||||
<Filter>Projucer\Assets\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
|
||||
<Filter>Projucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -2944,6 +2944,8 @@
|
|||
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg"/>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json"/>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in"/>
|
||||
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
|
||||
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,15 @@
|
|||
<Filter Include="Projucer\Application">
|
||||
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon\Assets">
|
||||
<UniqueIdentifier>{B2D403C0-2D43-F167-C19F-47D66D35F066}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets\AppIcon.icon">
|
||||
<UniqueIdentifier>{64127AE2-0F4C-1DEE-6C29-626091A3A9CB}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\Assets">
|
||||
<UniqueIdentifier>{D247D8BA-48E6-6F87-156E-E999D3678EB6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Projucer\BinaryData\gradle">
|
||||
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
|
|
@ -5243,6 +5252,12 @@
|
|||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\Assets\juceicon.svg">
|
||||
<Filter>Projucer\Assets\AppIcon.icon\Assets</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\Assets\AppIcon.icon\icon.json">
|
||||
<Filter>Projucer\Assets\AppIcon.icon</Filter>
|
||||
</None>
|
||||
<None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
|
||||
<Filter>Projucer\BinaryData</Filter>
|
||||
</None>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
juce_add_gui_app(Projucer
|
||||
BUNDLE_ID com.juce.theprojucer
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png
|
||||
ICON_COMPOSER_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/Source/Assets/AppIcon.icon"
|
||||
DOCUMENT_EXTENSIONS jucer
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<XCODE_MAC targetFolder="Builds/MacOSX" documentExtensions=".jucer" bigIcon="Zrx1Gl"
|
||||
microphonePermissionNeeded="1" cameraPermissionNeeded="1" smallIcon="Zrx1Gl"
|
||||
applicationCategory="public.app-category.developer-tools" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak"
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1">
|
||||
extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" iconComposerIcon="NzgaRC">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" cppLibType="libc++"
|
||||
recommendedWarnings="LLVM"/>
|
||||
|
|
@ -30,7 +30,8 @@
|
|||
smallIcon="Zrx1Gl">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer" useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer"
|
||||
useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||
|
|
@ -47,7 +48,8 @@
|
|||
smallIcon="Zrx1Gl">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer" useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer"
|
||||
useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||
|
|
@ -64,7 +66,8 @@
|
|||
smallIcon="Zrx1Gl">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer" useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="Projucer"
|
||||
useRuntimeLibDLL="0" linkTimeOptimisation="0"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||
|
|
@ -153,6 +156,14 @@
|
|||
<FILE id="HmkREh" name="jucer_MainWindow.h" compile="0" resource="0"
|
||||
file="Source/Application/jucer_MainWindow.h"/>
|
||||
</GROUP>
|
||||
<GROUP id="{D6EDA167-C7F5-88EC-9ABB-F8A6FBD578D4}" name="Assets">
|
||||
<GROUP id="{3919996E-77AB-F182-188C-87501AD9DE7C}" name="AppIcon.icon">
|
||||
<GROUP id="{505EB9E7-A196-65D1-8589-3785B985B85F}" name="Assets">
|
||||
<FILE id="nYspxh" name="juceicon.svg" compile="0" resource="0" file="Source/Assets/AppIcon.icon/Assets/juceicon.svg"/>
|
||||
</GROUP>
|
||||
<FILE id="NzgaRC" name="icon.json" compile="0" resource="0" file="Source/Assets/AppIcon.icon/icon.json"/>
|
||||
</GROUP>
|
||||
</GROUP>
|
||||
<GROUP id="{BFDB3102-5EB6-41E0-043A-05C0DFF7A34D}" name="BinaryData">
|
||||
<FILE id="wkLB4B" name="JuceLV2Defines.h.in" compile="0" resource="1"
|
||||
file="../Build/CMake/JuceLV2Defines.h.in"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs10" /><path
|
||||
id="ellipse1"
|
||||
style="opacity:1;fill:#8dc63f;stroke:none;stroke-width:0;stroke-dasharray:none"
|
||||
d="M 512,102 A 410,410 0 0 0 102,512 410,410 0 0 0 512,922 410,410 0 0 0 922,512 410,410 0 0 0 512,102 Z m 0,60.29412 A 349.70588,349.70588 0 0 1 861.70588,512 349.70588,349.70588 0 0 1 512,861.70588 349.70588,349.70588 0 0 1 162.29412,512 349.70588,349.70588 0 0 1 512,162.29412 Z" /><path
|
||||
d="m 557.74075,584.53575 c 24.52179,61.52243 51.27562,122.92312 84.24282,184.1717 a 42.226977,42.597119 0 0 0 61.04816,14.33089 331.7834,334.69165 0 0 0 85.3588,-87.71966 41.44276,41.80603 0 0 0 -22.95337,-63.13498 C 700.1663,612.43688 639.63092,588.12608 580.60365,562.50697 a 17.132088,17.282259 0 0 0 -22.8629,22.02878 z"
|
||||
fill="#f3bd48"
|
||||
id="path2"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 590.91909,532.71941 c 62.04349,26.86661 125.47444,52.18148 194.15361,72.08042 a 42.226977,42.597119 0 0 0 53.17582,-33.13449 327.95279,330.82747 0 0 0 -1.11599,-125.08337 42.226977,42.597119 0 0 0 -60.86718,-28.87477 c -61.77205,32.61722 -123.42342,58.90573 -184.924,83.24695 a 16.981278,17.130126 0 0 0 -0.42226,31.76526 z"
|
||||
fill="#f09f53"
|
||||
id="path3"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 527.57862,592.75092 A 17.252737,17.403965 0 0 0 495.8179,592.2641 c -26.8443,61.88755 -52.08998,125.11382 -71.96685,193.51262 a 41.774545,42.14072 0 0 0 33.41965,53.33768 339.23342,342.20698 0 0 0 54.8649,4.50313 335.40285,338.34283 0 0 0 69.01096,-7.18067 41.71422,42.079868 0 0 0 28.74449,-60.85301 C 577.5271,714.54826 551.4972,653.57352 527.57862,592.75092 Z"
|
||||
fill="#ecdc13"
|
||||
id="path4"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 499.58815,434.0158 a 17.252737,17.403965 0 0 0 31.76075,0.48684 c 27.14588,-62.49607 52.5424,-126.45259 72.38908,-195.73377 a 41.834868,42.201575 0 0 0 -33.17835,-53.21597 337.81583,340.77695 0 0 0 -125.98718,1.67347 41.684058,42.04944 0 0 0 -28.5937,60.82258 c 32.69575,62.16137 59.14793,124.14018 83.6094,185.96685 z"
|
||||
fill="#a95a96"
|
||||
id="path5"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 255.90835,396.80418 c 68.10609,20.47704 131.05444,45.94405 192.49468,72.74979 A 17.132088,17.282259 0 0 0 471.23578,447.4339 C 445.68845,382.96012 418.05993,318.60804 383.22269,254.37768 a 42.226977,42.597119 0 0 0 -61.04814,-14.33088 332.35645,335.26975 0 0 0 -89.94346,93.86578 41.653895,42.019015 0 0 0 23.67726,62.8916 z"
|
||||
fill="#2b8ec1"
|
||||
id="path6"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 466.62096,580.54989 a 17.132088,17.282259 0 0 0 -22.13901,-22.81987 c -62.82768,25.0106 -125.53475,51.99891 -188.091,85.86361 a 41.44276,41.80603 0 0 0 -14.14604,61.279 331.99452,334.90464 0 0 0 90.87849,86.44172 42.226977,42.597119 0 0 0 62.73722,-23.21542 c 20.11813,-66.26896 44.73043,-127.54796 70.76034,-187.54904 z"
|
||||
fill="#add14c"
|
||||
id="path7"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="m 559.45998,448.31627 a 17.101925,17.251833 0 0 0 22.10885,22.85033 c 63.15947,-25.1019 126.16815,-52.33362 189.05622,-86.44174 a 41.503085,41.866882 0 0 0 14.50797,-60.85303 332.17549,335.08718 0 0 0 -90.75785,-88.84542 42.226977,42.597119 0 0 0 -63.12932,23.00245 C 610.97689,325.33231 585.882,387.58495 559.45998,448.31627 Z"
|
||||
fill="#e74253"
|
||||
id="path8"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /><path
|
||||
d="M 433.11085,497.02912 C 370.73557,469.97994 307.03316,444.57381 238.02221,424.52273 a 42.226977,42.597119 0 0 0 -53.29647,33.46918 331.2103,334.11355 0 0 0 -4.34335,53.85492 327.28923,330.1581 0 0 0 7.84216,71.98912 42.046003,42.41456 0 0 0 60.59571,27.62728 c 61.34976,-32.43465 122.60904,-58.63191 183.77781,-82.82097 a 16.981278,17.130126 0 0 0 0.51278,-31.61314 z"
|
||||
fill="#01b699"
|
||||
id="path9"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none" /></svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
27
extras/Projucer/Source/Assets/AppIcon.icon/icon.json
Normal file
27
extras/Projucer/Source/Assets/AppIcon.icon/icon.json
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"fill" : "system-light",
|
||||
"groups" : [
|
||||
{
|
||||
"blur-material" : null,
|
||||
"layers" : [
|
||||
{
|
||||
"hidden" : false,
|
||||
"image-name" : "juceicon.svg",
|
||||
"name" : "juceicon"
|
||||
}
|
||||
],
|
||||
"shadow" : {
|
||||
"kind" : "neutral",
|
||||
"opacity" : 0.5
|
||||
},
|
||||
"specular" : true,
|
||||
"translucency" : {
|
||||
"enabled" : false,
|
||||
"value" : 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"supported-platforms" : {
|
||||
"squares" : "shared"
|
||||
}
|
||||
}
|
||||
|
|
@ -1616,6 +1616,30 @@ void Project::findAllImageItems (OwnedArray<Project::Item>& items)
|
|||
findImages (getMainGroup(), items);
|
||||
}
|
||||
|
||||
static void findIconComposerIcons (const Project::Item& item, std::vector<Project::IconComposerNameAndItem>& found)
|
||||
{
|
||||
if (item.isFile())
|
||||
{
|
||||
const auto f = item.getFile();
|
||||
const auto parent = f.getParentDirectory();
|
||||
|
||||
if (f.getFileName() == "icon.json" && parent.hasFileExtension ("icon"))
|
||||
found.push_back ({ parent.getFileName(), item });
|
||||
}
|
||||
else if (item.isGroup())
|
||||
{
|
||||
for (int i = 0; i < item.getNumChildren(); ++i)
|
||||
findIconComposerIcons (item.getChild (i), found);
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<Project::IconComposerNameAndItem> Project::findAllIconComposerItems()
|
||||
{
|
||||
std::vector<Project::IconComposerNameAndItem> items;
|
||||
findIconComposerIcons (getMainGroup(), items);
|
||||
return items;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Project::Item::Item (Project& p, const ValueTree& s, bool isModuleCode)
|
||||
: project (p), state (s), belongsToModule (isModuleCode)
|
||||
|
|
@ -1997,13 +2021,27 @@ bool Project::Item::addFileRetainingSortOrder (const File& file, bool shouldComp
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool isPartOfIconComposerBundle (const File& file)
|
||||
{
|
||||
const auto parent = file.getParentDirectory();
|
||||
|
||||
if (parent.isRoot())
|
||||
return false;
|
||||
|
||||
if (parent.getFileName().endsWith (".icon") && parent.getChildFile ("icon.json").existsAsFile())
|
||||
return true;
|
||||
|
||||
return isPartOfIconComposerBundle (parent);
|
||||
}
|
||||
|
||||
void Project::Item::addFileUnchecked (const File& file, int insertIndex, const bool shouldCompile)
|
||||
{
|
||||
Item item (project, ValueTree (Ids::FILE), belongsToModule);
|
||||
item.initialiseMissingProperties();
|
||||
item.getNameValue() = file.getFileName();
|
||||
item.getShouldCompileValue() = shouldCompile && file.hasFileExtension (fileTypesToCompileByDefault);
|
||||
item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file);
|
||||
item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file)
|
||||
&& ! isPartOfIconComposerBundle (file);
|
||||
|
||||
if (canContain (item))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -527,6 +527,14 @@ public:
|
|||
|
||||
void findAllImageItems (OwnedArray<Item>& items);
|
||||
|
||||
struct IconComposerNameAndItem
|
||||
{
|
||||
String name;
|
||||
Item item;
|
||||
};
|
||||
|
||||
std::vector<IconComposerNameAndItem> findAllIconComposerItems();
|
||||
|
||||
//==============================================================================
|
||||
ValueTree getExporters();
|
||||
int getNumExporters();
|
||||
|
|
|
|||
|
|
@ -209,6 +209,7 @@ public:
|
|||
iosDeviceFamilyValue (settings, Ids::iosDeviceFamily, getUndoManager(), "1,2"),
|
||||
iPhoneScreenOrientationValue (settings, Ids::iPhoneScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","),
|
||||
iPadScreenOrientationValue (settings, Ids::iPadScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","),
|
||||
iconComposerIconValue (settings, Ids::iconComposerIcon, getUndoManager()),
|
||||
customXcodeResourceFoldersValue (settings, Ids::customXcodeResourceFolders, getUndoManager()),
|
||||
customXcassetsFolderValue (settings, Ids::customXcassetsFolder, getUndoManager()),
|
||||
appSandboxValue (settings, Ids::appSandbox, getUndoManager()),
|
||||
|
|
@ -464,8 +465,35 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
void createIconComposerProperties (PropertyListBuilder& props)
|
||||
{
|
||||
StringArray choices;
|
||||
Array<var> ids;
|
||||
|
||||
choices.add ("<None>");
|
||||
ids.add (var());
|
||||
|
||||
for (const auto& icon : project.findAllIconComposerItems())
|
||||
{
|
||||
choices.add (icon.name);
|
||||
ids.add (icon.item.getID());
|
||||
}
|
||||
|
||||
String iconComposerTooltip
|
||||
{
|
||||
"Sets an Icon Composer icon to use for the executable. If specified, Xcode versions that "
|
||||
"support this format will use this icon for all platforms, and ignore the Icon (Small) "
|
||||
"and Icon (Large) setting."
|
||||
};
|
||||
|
||||
props.add (new ChoicePropertyComponent (iconComposerIconValue, "Icon (Icon Composer)", choices, ids),
|
||||
iconComposerTooltip);
|
||||
}
|
||||
|
||||
void createExporterProperties (PropertyListBuilder& props) override
|
||||
{
|
||||
createIconComposerProperties (props);
|
||||
|
||||
if (iOS)
|
||||
{
|
||||
props.add (new TextPropertyComponent (customXcassetsFolderValue, "Custom Xcassets Folder", 128, false),
|
||||
|
|
@ -1219,6 +1247,31 @@ public:
|
|||
kXPCServicesFolder = 16
|
||||
};
|
||||
|
||||
std::optional<build_tools::RelativePath> getIconComposerIconBundle() const
|
||||
{
|
||||
const auto iconJson = project.getMainGroup().findItemWithID (settings[Ids::iconComposerIcon]);
|
||||
|
||||
if (! iconJson.isValid())
|
||||
return std::nullopt;
|
||||
|
||||
jassert (iconJson.isFile());
|
||||
|
||||
return build_tools::RelativePath { iconJson.getFile().getParentDirectory(),
|
||||
project.getProjectFolder(),
|
||||
build_tools::RelativePath::projectFolder };
|
||||
}
|
||||
|
||||
String getAppIconNameOrElse (StringRef fallback) const
|
||||
{
|
||||
if (auto composerBundle = getIconComposerIconBundle())
|
||||
return composerBundle->getFileNameWithoutExtension();
|
||||
|
||||
if (iOS)
|
||||
return "AppIcon";
|
||||
|
||||
return fallback;
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
struct XcodeTarget final : build_tools::ProjectType::Target
|
||||
{
|
||||
|
|
@ -1864,10 +1917,11 @@ public:
|
|||
|
||||
String gccVersion ("com.apple.compilers.llvm.clang.1_0");
|
||||
|
||||
if (auto appIconName = owner.getAppIconNameOrElse (""); appIconName.isNotEmpty())
|
||||
s.set ("ASSETCATALOG_COMPILER_APPICON_NAME", appIconName);
|
||||
|
||||
if (owner.iOS)
|
||||
{
|
||||
s.set ("ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
|
||||
|
||||
if (! owner.shouldAddStoryboardToProject())
|
||||
s.set ("ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
|
||||
}
|
||||
|
|
@ -2424,6 +2478,17 @@ private:
|
|||
resourceIDs.add (addBuildFile (FileOptions().withRelativePath (iconPath)));
|
||||
resourceFileRefs.add (createFileRefID (iconPath));
|
||||
}
|
||||
|
||||
if (auto iconComposerBundle = getIconComposerIconBundle())
|
||||
{
|
||||
const auto iconComposerPath = iconComposerBundle->rebased (project.getProjectFolder(),
|
||||
getTargetFolder(),
|
||||
build_tools::RelativePath::buildTargetFolder);
|
||||
|
||||
addFileReference (iconComposerPath.toUnixStyle());
|
||||
resourceIDs.add (addBuildFile (FileOptions().withRelativePath (iconComposerPath)));
|
||||
resourceFileRefs.add (createFileRefID (iconComposerPath));
|
||||
}
|
||||
}
|
||||
|
||||
void addBuildConfigurations() const
|
||||
|
|
@ -2722,7 +2787,7 @@ private:
|
|||
|
||||
if (! build_tools::asArray (icons).isEmpty())
|
||||
{
|
||||
iconFile = getTargetFolder().getChildFile ("Icon.icns");
|
||||
iconFile = getTargetFolder().getChildFile (getAppIconNameOrElse ("AppIcon") + ".icns");
|
||||
build_tools::writeMacIcon (icons, iconFile);
|
||||
}
|
||||
}
|
||||
|
|
@ -3820,7 +3885,8 @@ private:
|
|||
{
|
||||
const auto assetsPath = build_tools::createXcassetsFolderFromIcons (getIcons(),
|
||||
getTargetFolder(),
|
||||
project.getProjectFilenameRootString());
|
||||
project.getProjectFilenameRootString(),
|
||||
getAppIconNameOrElse ("AppIcon"));
|
||||
addFileReference (assetsPath.toUnixStyle());
|
||||
resourceIDs.add (addBuildFile (FileOptions().withRelativePath (assetsPath)));
|
||||
resourceFileRefs.add (createFileRefID (assetsPath));
|
||||
|
|
@ -3959,7 +4025,7 @@ private:
|
|||
extraFrameworksValue, frameworkSearchPathsValue, extraCustomFrameworksValue, embeddedFrameworksValue,
|
||||
postbuildCommandValue, prebuildCommandValue,
|
||||
duplicateAppExResourcesFolderValue, iosDeviceFamilyValue, iPhoneScreenOrientationValue,
|
||||
iPadScreenOrientationValue, customXcodeResourceFoldersValue, customXcassetsFolderValue,
|
||||
iPadScreenOrientationValue, iconComposerIconValue, customXcodeResourceFoldersValue, customXcassetsFolderValue,
|
||||
appSandboxValue, appSandboxInheritanceValue, appSandboxOptionsValue,
|
||||
appSandboxHomeDirROValue, appSandboxHomeDirRWValue, appSandboxAbsDirROValue, appSandboxAbsDirRWValue,
|
||||
appSandboxExceptionIOKitValue,
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@ namespace Ids
|
|||
DECLARE_ID (msvcModuleDefinitionFile);
|
||||
DECLARE_ID (bigIcon);
|
||||
DECLARE_ID (smallIcon);
|
||||
DECLARE_ID (iconComposerIcon);
|
||||
DECLARE_ID (prebuildCommand);
|
||||
DECLARE_ID (postbuildCommand);
|
||||
DECLARE_ID (useRuntimeLibDLL);
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ void UpdateRegion::findRECTAndValidate (HWND windowHandle)
|
|||
{
|
||||
numRect = 0;
|
||||
|
||||
auto regionHandle = CreateRectRgn (0, 0, 0, 0);
|
||||
auto* regionHandle = CreateRectRgn (0, 0, 0, 0);
|
||||
|
||||
if (regionHandle == nullptr)
|
||||
{
|
||||
|
|
@ -372,33 +372,36 @@ void UpdateRegion::findRECTAndValidate (HWND windowHandle)
|
|||
return;
|
||||
}
|
||||
|
||||
auto regionType = GetUpdateRgn (windowHandle, regionHandle, false);
|
||||
const ScopeGuard regionDeleter { [&] { DeleteObject (regionHandle); } };
|
||||
const auto regionType = GetUpdateRgn (windowHandle, regionHandle, false);
|
||||
|
||||
if (regionType == SIMPLEREGION || regionType == COMPLEXREGION)
|
||||
if (regionType == ERROR || regionType == NULLREGION)
|
||||
return;
|
||||
|
||||
const auto requiredBytes = GetRegionData (regionHandle, 0, nullptr);
|
||||
block.ensureSize (requiredBytes);
|
||||
|
||||
const auto regionDataResult = GetRegionData (regionHandle,
|
||||
(DWORD) block.getSize(),
|
||||
static_cast<RGNDATA*> (block.getData()));
|
||||
|
||||
numRect = std::invoke ([&]() -> decltype (numRect)
|
||||
{
|
||||
auto regionDataBytes = GetRegionData (regionHandle, (DWORD) block.getSize(), (RGNDATA*) block.getData());
|
||||
if (regionDataResult < sizeof (RGNDATAHEADER))
|
||||
return 0;
|
||||
|
||||
if (regionDataBytes > block.getSize())
|
||||
{
|
||||
block.ensureSize (regionDataBytes);
|
||||
regionDataBytes = GetRegionData (regionHandle, (DWORD) block.getSize(), (RGNDATA*) block.getData());
|
||||
}
|
||||
const auto* header = static_cast<RGNDATAHEADER const* const> (block.getData());
|
||||
|
||||
if (regionDataBytes > 0)
|
||||
{
|
||||
auto header = (RGNDATAHEADER const* const) block.getData();
|
||||
if (header->iType != RDH_RECTANGLES)
|
||||
return 0;
|
||||
|
||||
if (header->iType == RDH_RECTANGLES)
|
||||
numRect = header->nCount;
|
||||
}
|
||||
}
|
||||
return header->nCount;
|
||||
});
|
||||
|
||||
if (numRect > 0)
|
||||
ValidateRgn (windowHandle, regionHandle);
|
||||
else
|
||||
ValidateRect (windowHandle, nullptr);
|
||||
|
||||
DeleteObject (regionHandle);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -297,101 +297,13 @@ private:
|
|||
};
|
||||
|
||||
//==============================================================================
|
||||
struct Direct2DHwndContext::HwndPimpl : public Direct2DGraphicsContext::Pimpl
|
||||
struct Direct2DHwndContext::HwndPimpl : public Pimpl
|
||||
{
|
||||
private:
|
||||
struct SwapChainThread
|
||||
{
|
||||
SwapChainThread (Direct2DHwndContext::HwndPimpl& ownerIn, HANDLE swapHandle)
|
||||
: owner (ownerIn),
|
||||
swapChainEventHandle (swapHandle)
|
||||
{
|
||||
SetWindowSubclass (owner.hwnd, subclassWindowProc, (UINT_PTR) this, (DWORD_PTR) this);
|
||||
}
|
||||
|
||||
~SwapChainThread()
|
||||
{
|
||||
RemoveWindowSubclass (owner.hwnd, subclassWindowProc, (UINT_PTR) this);
|
||||
SetEvent (quitEvent.getHandle());
|
||||
thread.join();
|
||||
}
|
||||
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SwapChainThread)
|
||||
|
||||
private:
|
||||
Direct2DHwndContext::HwndPimpl& owner;
|
||||
HANDLE swapChainEventHandle = nullptr;
|
||||
|
||||
WindowsScopedEvent quitEvent;
|
||||
std::thread thread { [&] { threadLoop(); } };
|
||||
|
||||
static constexpr uint32_t swapchainReadyMessageID = WM_USER + 124;
|
||||
|
||||
bool handleWindowProcMessage (UINT message)
|
||||
{
|
||||
if (message == swapchainReadyMessageID)
|
||||
{
|
||||
owner.onSwapchainEvent();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK subclassWindowProc (HWND hwnd,
|
||||
UINT message,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam,
|
||||
UINT_PTR,
|
||||
DWORD_PTR referenceData)
|
||||
{
|
||||
auto* that = reinterpret_cast<SwapChainThread*> (referenceData);
|
||||
|
||||
if (that != nullptr && that->handleWindowProcMessage (message))
|
||||
return 0;
|
||||
|
||||
return DefSubclassProc (hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
void threadLoop()
|
||||
{
|
||||
Thread::setCurrentThreadName ("JUCE D2D swap chain thread");
|
||||
|
||||
for (;;)
|
||||
{
|
||||
const HANDLE handles[] { swapChainEventHandle, quitEvent.getHandle() };
|
||||
|
||||
const auto waitResult = WaitForMultipleObjects ((DWORD) std::size (handles),
|
||||
handles,
|
||||
FALSE,
|
||||
INFINITE);
|
||||
|
||||
switch (waitResult)
|
||||
{
|
||||
case WAIT_OBJECT_0:
|
||||
{
|
||||
PostMessage (owner.hwnd, swapchainReadyMessageID, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
case WAIT_OBJECT_0 + 1:
|
||||
return;
|
||||
|
||||
case WAIT_FAILED:
|
||||
default:
|
||||
jassertfalse;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
HWND hwnd;
|
||||
SwapChain swap;
|
||||
ComSmartPtr<ID2D1DeviceContext1> deviceContext;
|
||||
std::unique_ptr<SwapChainThread> swapChainThread;
|
||||
std::optional<CompositionTree> compositionTree;
|
||||
SwapchainDelegate& delegate;
|
||||
|
||||
// Areas that must be repainted during the next paint call, between startFrame/endFrame
|
||||
RectangleList<int> deferredRepaints;
|
||||
|
|
@ -402,16 +314,6 @@ private:
|
|||
std::vector<RECT> dirtyRectangles;
|
||||
int64 lastFinishFrameTicks = 0;
|
||||
|
||||
// Set to true after the swap event is signalled, indicating that we're allowed to try presenting
|
||||
// a new frame.
|
||||
bool swapEventReceived = false;
|
||||
|
||||
void onSwapchainEvent()
|
||||
{
|
||||
swapEventReceived = true;
|
||||
delegate.onSwapchainEvent();
|
||||
}
|
||||
|
||||
bool prepare() override
|
||||
{
|
||||
const auto adapter = getDefaultAdapter();
|
||||
|
|
@ -437,10 +339,6 @@ private:
|
|||
return false;
|
||||
}
|
||||
|
||||
if (swapChainThread == nullptr)
|
||||
if (auto* e = swap.getEvent())
|
||||
swapChainThread = std::make_unique<SwapChainThread> (*this, e->getHandle());
|
||||
|
||||
if (! compositionTree.has_value())
|
||||
compositionTree = CompositionTree::create (adapter->dxgiDevice, hwnd, swap.getChain());
|
||||
|
||||
|
|
@ -453,7 +351,6 @@ private:
|
|||
void teardown() override
|
||||
{
|
||||
compositionTree.reset();
|
||||
swapChainThread = nullptr;
|
||||
deviceContext = nullptr;
|
||||
swap = {};
|
||||
|
||||
|
|
@ -476,7 +373,6 @@ private:
|
|||
bool ready = Pimpl::checkPaintReady();
|
||||
ready &= swap.canPaint();
|
||||
ready &= compositionTree.has_value();
|
||||
ready &= swapEventReceived;
|
||||
|
||||
return ready;
|
||||
}
|
||||
|
|
@ -484,10 +380,9 @@ private:
|
|||
JUCE_DECLARE_WEAK_REFERENCEABLE (HwndPimpl)
|
||||
|
||||
public:
|
||||
HwndPimpl (Direct2DHwndContext& ownerIn, HWND hwndIn, SwapchainDelegate& swapDelegate)
|
||||
HwndPimpl (Direct2DHwndContext& ownerIn, HWND hwndIn)
|
||||
: Pimpl (ownerIn),
|
||||
hwnd (hwndIn),
|
||||
delegate (swapDelegate)
|
||||
hwnd (hwndIn)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -589,7 +484,7 @@ public:
|
|||
{
|
||||
JUCE_D2DMETRICS_SCOPED_ELAPSED_TIME (getMetrics(), present1Duration);
|
||||
|
||||
if (swap.getBuffer() == nullptr || dirtyRegionsInBackBuffer.isEmpty() || ! swapEventReceived)
|
||||
if (swap.getBuffer() == nullptr || dirtyRegionsInBackBuffer.isEmpty())
|
||||
return;
|
||||
|
||||
auto const swapChainSize = swap.getSize();
|
||||
|
|
@ -622,10 +517,6 @@ public:
|
|||
if (FAILED (hr))
|
||||
return;
|
||||
|
||||
// We managed to present a frame, so we should avoid rendering anything or calling
|
||||
// present again until that frame has been shown on-screen.
|
||||
swapEventReceived = false;
|
||||
|
||||
// There's nothing waiting to be displayed in the backbuffer.
|
||||
dirtyRegionsInBackBuffer.clear();
|
||||
|
||||
|
|
@ -687,7 +578,7 @@ public:
|
|||
};
|
||||
|
||||
//==============================================================================
|
||||
Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle, SwapchainDelegate& swapDelegate)
|
||||
Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle)
|
||||
{
|
||||
#if JUCE_DIRECT2D_METRICS
|
||||
metrics = new Direct2DMetrics { Direct2DMetricsHub::getInstance()->lock,
|
||||
|
|
@ -696,7 +587,7 @@ Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle, SwapchainDelegate&
|
|||
Direct2DMetricsHub::getInstance()->add (metrics);
|
||||
#endif
|
||||
|
||||
pimpl = std::make_unique<HwndPimpl> (*this, windowHandle, swapDelegate);
|
||||
pimpl = std::make_unique<HwndPimpl> (*this, windowHandle);
|
||||
}
|
||||
|
||||
Direct2DHwndContext::~Direct2DHwndContext()
|
||||
|
|
|
|||
|
|
@ -38,13 +38,7 @@ namespace juce
|
|||
class Direct2DHwndContext : public Direct2DGraphicsContext
|
||||
{
|
||||
public:
|
||||
struct SwapchainDelegate
|
||||
{
|
||||
virtual ~SwapchainDelegate() = default;
|
||||
virtual void onSwapchainEvent() = 0;
|
||||
};
|
||||
|
||||
Direct2DHwndContext (HWND windowHandle, SwapchainDelegate& swapDelegate);
|
||||
explicit Direct2DHwndContext (HWND windowHandle);
|
||||
~Direct2DHwndContext() override;
|
||||
|
||||
void handleShowWindow();
|
||||
|
|
|
|||
|
|
@ -1268,7 +1268,6 @@ struct RenderContext
|
|||
virtual void updateConstantAlpha() = 0;
|
||||
virtual void handlePaintMessage() = 0;
|
||||
virtual void repaint (const Rectangle<int>& area) = 0;
|
||||
virtual void dispatchDeferredRepaints() = 0;
|
||||
virtual void performAnyPendingRepaintsNow() = 0;
|
||||
virtual void onVBlank() = 0;
|
||||
virtual void handleShowWindow() = 0;
|
||||
|
|
@ -1724,12 +1723,6 @@ public:
|
|||
renderContext->repaint ((area.toDouble() * getPlatformScaleFactor()).getSmallestIntegerContainer());
|
||||
}
|
||||
|
||||
void dispatchDeferredRepaints()
|
||||
{
|
||||
if (renderContext != nullptr)
|
||||
renderContext->dispatchDeferredRepaints();
|
||||
}
|
||||
|
||||
void performAnyPendingRepaintsNow() override
|
||||
{
|
||||
if (renderContext != nullptr)
|
||||
|
|
@ -1748,7 +1741,6 @@ public:
|
|||
void onVBlank (double timestampSec) override
|
||||
{
|
||||
callVBlankListeners (timestampSec);
|
||||
dispatchDeferredRepaints();
|
||||
|
||||
if (renderContext != nullptr)
|
||||
renderContext->onVBlank();
|
||||
|
|
@ -4779,23 +4771,12 @@ public:
|
|||
deferredRepaints.add (area);
|
||||
}
|
||||
|
||||
void dispatchDeferredRepaints() override
|
||||
{
|
||||
for (auto deferredRect : deferredRepaints)
|
||||
{
|
||||
auto r = D2DUtilities::toRECT (deferredRect);
|
||||
InvalidateRect (peer.getHWND(), &r, FALSE);
|
||||
}
|
||||
|
||||
deferredRepaints.clear();
|
||||
}
|
||||
|
||||
void performAnyPendingRepaintsNow() override
|
||||
{
|
||||
if (! peer.getComponent().isVisible())
|
||||
return;
|
||||
|
||||
dispatchDeferredRepaints();
|
||||
onVBlank();
|
||||
|
||||
WeakReference localRef (&peer.getComponent());
|
||||
MSG m;
|
||||
|
|
@ -4815,7 +4796,16 @@ public:
|
|||
: createSnapshotOfNormalWindow();
|
||||
}
|
||||
|
||||
void onVBlank() override {}
|
||||
void onVBlank() override
|
||||
{
|
||||
for (auto deferredRect : deferredRepaints)
|
||||
{
|
||||
auto r = D2DUtilities::toRECT (deferredRect);
|
||||
InvalidateRect (peer.getHWND(), &r, FALSE);
|
||||
}
|
||||
|
||||
deferredRepaints.clear();
|
||||
}
|
||||
|
||||
void handleShowWindow() override {}
|
||||
|
||||
|
|
@ -5057,8 +5047,7 @@ private:
|
|||
RectangleList<int> deferredRepaints;
|
||||
};
|
||||
|
||||
class D2DRenderContext : public RenderContext,
|
||||
private Direct2DHwndContext::SwapchainDelegate
|
||||
class D2DRenderContext : public RenderContext
|
||||
{
|
||||
public:
|
||||
static constexpr auto name = "Direct2D";
|
||||
|
|
@ -5077,7 +5066,7 @@ public:
|
|||
if (transparent != direct2DContext->supportsTransparency())
|
||||
{
|
||||
direct2DContext.reset();
|
||||
direct2DContext = getContextForPeer (peer, *this);
|
||||
direct2DContext = getContextForPeer (peer);
|
||||
}
|
||||
|
||||
if (direct2DContext->supportsTransparency())
|
||||
|
|
@ -5093,20 +5082,20 @@ public:
|
|||
updateRegion.findRECTAndValidate (peer.getHWND());
|
||||
|
||||
for (const auto& rect : updateRegion.getRects())
|
||||
repaint (D2DUtilities::toRectangle (rect));
|
||||
direct2DContext->addDeferredRepaint (D2DUtilities::toRectangle (rect));
|
||||
|
||||
#if JUCE_DIRECT2D_METRICS
|
||||
lastPaintStartTicks = paintStartTicks;
|
||||
#endif
|
||||
|
||||
handleDirect2DPaint();
|
||||
}
|
||||
|
||||
void repaint (const Rectangle<int>& area) override
|
||||
{
|
||||
direct2DContext->addDeferredRepaint (area);
|
||||
deferredRepaints.add (area);
|
||||
}
|
||||
|
||||
void dispatchDeferredRepaints() override {}
|
||||
|
||||
void performAnyPendingRepaintsNow() override {}
|
||||
|
||||
Image createSnapshot() override
|
||||
|
|
@ -5116,7 +5105,13 @@ public:
|
|||
|
||||
void onVBlank() override
|
||||
{
|
||||
handleDirect2DPaint();
|
||||
for (auto deferredRect : deferredRepaints)
|
||||
{
|
||||
auto r = D2DUtilities::toRECT (deferredRect);
|
||||
InvalidateRect (peer.getHWND(), &r, FALSE);
|
||||
}
|
||||
|
||||
deferredRepaints.clear();
|
||||
}
|
||||
|
||||
void handleShowWindow() override
|
||||
|
|
@ -5126,11 +5121,6 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
void onSwapchainEvent() override
|
||||
{
|
||||
handleDirect2DPaint();
|
||||
}
|
||||
|
||||
struct WrappedD2DHwndContextBase
|
||||
{
|
||||
virtual ~WrappedD2DHwndContextBase() = default;
|
||||
|
|
@ -5161,8 +5151,8 @@ private:
|
|||
class WrappedD2DHwndContext : public WrappedD2DHwndContextBase
|
||||
{
|
||||
public:
|
||||
WrappedD2DHwndContext (HWND hwnd, SwapchainDelegate& swapDelegate)
|
||||
: ctx (hwnd, swapDelegate) {}
|
||||
explicit WrappedD2DHwndContext (HWND hwnd)
|
||||
: ctx (hwnd) {}
|
||||
|
||||
void addDeferredRepaint (Rectangle<int> area) override
|
||||
{
|
||||
|
|
@ -5478,19 +5468,19 @@ private:
|
|||
#endif
|
||||
}
|
||||
|
||||
static std::unique_ptr<WrappedD2DHwndContextBase> getContextForPeer (HWNDComponentPeer& peer,
|
||||
SwapchainDelegate& delegate)
|
||||
static std::unique_ptr<WrappedD2DHwndContextBase> getContextForPeer (HWNDComponentPeer& peer)
|
||||
{
|
||||
if (peer.getTransparencyKind() != HWNDComponentPeer::TransparencyKind::opaque)
|
||||
return std::make_unique<WrappedD2DHwndContextTransparent> (peer);
|
||||
|
||||
return std::make_unique<WrappedD2DHwndContext> (peer.getHWND(), delegate);
|
||||
return std::make_unique<WrappedD2DHwndContext> (peer.getHWND());
|
||||
}
|
||||
|
||||
HWNDComponentPeer& peer;
|
||||
|
||||
std::unique_ptr<WrappedD2DHwndContextBase> direct2DContext = getContextForPeer (peer, *this);
|
||||
std::unique_ptr<WrappedD2DHwndContextBase> direct2DContext = getContextForPeer (peer);
|
||||
UpdateRegion updateRegion;
|
||||
RectangleList<int> deferredRepaints;
|
||||
|
||||
#if JUCE_ETW_TRACELOGGING
|
||||
struct ETWEventProvider
|
||||
|
|
|
|||
|
|
@ -1332,10 +1332,9 @@ public:
|
|||
g.fillAll (Colours::white);
|
||||
}
|
||||
|
||||
void evaluateJavascript (const String& script, WebBrowserComponent::EvaluationCallback callback) override
|
||||
void evaluateJavascript (const String& script, EvaluationCallback callback) override
|
||||
{
|
||||
if (callback != nullptr)
|
||||
evaluationCallbacks.push_back (std::move (callback));
|
||||
evaluationCallbacks.push_back (std::move (callback));
|
||||
|
||||
CommandReceiver::sendCommand (outChannel,
|
||||
"evaluateJavascript",
|
||||
|
|
@ -1374,7 +1373,7 @@ public:
|
|||
});
|
||||
|
||||
auto& cb = evaluationCallbacks.front();
|
||||
cb (result);
|
||||
NullCheckedInvocation::invoke (cb, result);
|
||||
evaluationCallbacks.pop_front();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue