1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Merge branch 'develop' into feature/linux_webview_handleJavascriptEvaluationCallback_jassert_fix

This commit is contained in:
kaz saita 2025-12-18 14:41:59 +09:00 committed by GitHub
commit 3f604bb03e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
69 changed files with 1029 additions and 245 deletions

View file

@ -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 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. 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` `COMPANY_COPYRIGHT`
- Copyright text which will be added to the app/plugin's Info.plist. The value of this argument - 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 will be inherited from the `JUCE_COMPANY_COPYRIGHT` property, so if you want to use the same

View file

@ -56,6 +56,9 @@ add_library( ${BINARY_NAME}
"../../../Source/UI/MainComponent.h" "../../../Source/UI/MainComponent.h"
"../../../Source/UI/SettingsContent.h" "../../../Source/UI/SettingsContent.h"
"../../../Source/Main.cpp" "../../../Source/Main.cpp"
"../../../Source/AppIcon.icon/Assets/demorunnerbg.svg"
"../../../Source/AppIcon.icon/Assets/demorunnerplay.svg"
"../../../Source/AppIcon.icon/icon.json"
"../../../Source/JUCEAppIcon.png" "../../../Source/JUCEAppIcon.png"
"../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" "../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp"
"../../../../../modules/juce_analytics/analytics/juce_Analytics.h" "../../../../../modules/juce_analytics/analytics/juce_Analytics.h"
@ -2777,6 +2780,9 @@ set_source_files_properties(
"../../../Source/UI/DemoContentComponent.h" "../../../Source/UI/DemoContentComponent.h"
"../../../Source/UI/MainComponent.h" "../../../Source/UI/MainComponent.h"
"../../../Source/UI/SettingsContent.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" "../../../Source/JUCEAppIcon.png"
"../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" "../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp"
"../../../../../modules/juce_analytics/analytics/juce_Analytics.h" "../../../../../modules/juce_analytics/analytics/juce_Analytics.h"

View file

@ -35,11 +35,12 @@
5E4310B3F6BB639875D3E9B8 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 49ECA8B998B339A083674A22; }; 5E4310B3F6BB639875D3E9B8 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 49ECA8B998B339A083674A22; };
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; }; 611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; }; 63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
675BFB499A7E0AAD2614F529 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 68A0F49281B13E51489A6874; };
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; }; 6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; }; 6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; }; 712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
71DF4F5EB4C8305688416725 /* DemoContentComponent.cpp */ = {isa = PBXBuildFile; fileRef = E5BFC17E682AB426D203B3E6; }; 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; }; 7B4163348896EB1B86B15160 /* AVFoundation.framework */ = {isa = PBXBuildFile; fileRef = DC192EFA899E6CBE6B5CD394; };
8584640341100008744861A5 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 71A91516AFD980FEE694C0E1; }; 8584640341100008744861A5 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 71A91516AFD980FEE694C0E1; };
89AD16514B1F4133FFEA1DF9 /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = 96D99A08027CA35D6A4E5CFD; }; 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; }; 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; }; 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; }; 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; }; 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>"; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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>"; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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 */ /* End PBXFileReference section */
@ -195,6 +200,15 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
2BAD3DB7D8D886E59B412094 /* Assets */ = {
isa = PBXGroup;
children = (
6710661E16D6BD412524EB52,
CDFBB9C6A2AE67CE9EE00949,
);
name = Assets;
sourceTree = "<group>";
};
4452EAA652B65A9AE648288C /* Frameworks */ = { 4452EAA652B65A9AE648288C /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -293,6 +307,7 @@
CD575607FAA297480EE95F13, CD575607FAA297480EE95F13,
BB12537403CC24C02622582C, BB12537403CC24C02622582C,
260481E972425474BB8155B0, 260481E972425474BB8155B0,
B88D35BF4F1EAC840B967834,
ECE79F1433E92BB6213C86F5, ECE79F1433E92BB6213C86F5,
); );
name = Source; name = Source;
@ -319,6 +334,15 @@
name = DemoRunner; name = DemoRunner;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B88D35BF4F1EAC840B967834 /* AppIcon.icon */ = {
isa = PBXGroup;
children = (
2BAD3DB7D8D886E59B412094,
7D51C1884CE8FB235D31921B,
);
name = AppIcon.icon;
sourceTree = "<group>";
};
BB12537403CC24C02622582C /* UI */ = { BB12537403CC24C02622582C /* UI */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -361,7 +385,8 @@
7B3243C92248D379A0489AA4, 7B3243C92248D379A0489AA4,
4EC2782DE1779A130835B64D, 4EC2782DE1779A130835B64D,
9672FCE6167ADB567A9EB2F8, 9672FCE6167ADB567A9EB2F8,
E0A3F113BC27B7B4D6F1D693, 68A0F49281B13E51489A6874,
FCF36E57A88C67133AFC06A4,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -447,7 +472,8 @@
1BA301E39E29966719B710A1, 1BA301E39E29966719B710A1,
E33E8FE2E7F8EC8EB4279F1B, E33E8FE2E7F8EC8EB4279F1B,
91CD2BCE4CA07E18229EB436, 91CD2BCE4CA07E18229EB436,
75DB074DBAE04408A0A917B7, 675BFB499A7E0AAD2614F529,
7648F1C856593D10FE42CF80,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -549,6 +575,7 @@
69330F27DD2C71609336C7D2 /* Release */ = { 69330F27DD2C71609336C7D2 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;
@ -645,6 +672,7 @@
B18D059E5616FA729F764229 /* Debug */ = { B18D059E5616FA729F764229 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;

View file

@ -12,7 +12,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Icon.icns</string> <string>AppIcon.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.rmsl.jucedemorunner</string> <string>com.rmsl.jucedemorunner</string>
<key>CFBundleName</key> <key>CFBundleName</key>

View file

@ -4912,6 +4912,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>

View file

@ -8,6 +8,12 @@
<Filter Include="DemoRunner\Source\UI"> <Filter Include="DemoRunner\Source\UI">
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier> <UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
</Filter> </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"> <Filter Include="DemoRunner\Source">
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier> <UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
</Filter> </Filter>
@ -8939,6 +8945,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>DemoRunner\Source</Filter> <Filter>DemoRunner\Source</Filter>
</None> </None>

View file

@ -4912,6 +4912,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>

View file

@ -8,6 +8,12 @@
<Filter Include="DemoRunner\Source\UI"> <Filter Include="DemoRunner\Source\UI">
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier> <UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
</Filter> </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"> <Filter Include="DemoRunner\Source">
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier> <UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
</Filter> </Filter>
@ -8939,6 +8945,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>DemoRunner\Source</Filter> <Filter>DemoRunner\Source</Filter>
</None> </None>

View file

@ -4912,6 +4912,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\asio\LICENSE.txt"/>
<None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/> <None Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\common\README.md"/>

View file

@ -8,6 +8,12 @@
<Filter Include="DemoRunner\Source\UI"> <Filter Include="DemoRunner\Source\UI">
<UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier> <UniqueIdentifier>{67AC4BA4-ADB7-61F2-40EB-054BFA2565E9}</UniqueIdentifier>
</Filter> </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"> <Filter Include="DemoRunner\Source">
<UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier> <UniqueIdentifier>{8C2BA468-929C-4792-FBD2-3009E3068DD0}</UniqueIdentifier>
</Filter> </Filter>
@ -8939,6 +8945,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>DemoRunner\Source</Filter> <Filter>DemoRunner\Source</Filter>
</None> </None>

View file

@ -35,11 +35,12 @@
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; }; 611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; }; 63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
6658EEC5F9D63D3419EB7098 /* CoreServices.framework */ = {isa = PBXBuildFile; fileRef = E07FC48041C3E9F9721F3BCE; }; 6658EEC5F9D63D3419EB7098 /* CoreServices.framework */ = {isa = PBXBuildFile; fileRef = E07FC48041C3E9F9721F3BCE; };
675BFB499A7E0AAD2614F529 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 68A0F49281B13E51489A6874; };
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; }; 6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; }; 6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; }; 712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
71DF4F5EB4C8305688416725 /* DemoContentComponent.cpp */ = {isa = PBXBuildFile; fileRef = E5BFC17E682AB426D203B3E6; }; 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; }; 7B4163348896EB1B86B15160 /* AVFoundation.framework */ = {isa = PBXBuildFile; fileRef = DC192EFA899E6CBE6B5CD394; };
7F57DB52C3CEFDC26DDD38FC /* CoreImage.framework */ = {isa = PBXBuildFile; fileRef = B28EFB9D1DF0B6D6499A7DEF; }; 7F57DB52C3CEFDC26DDD38FC /* CoreImage.framework */ = {isa = PBXBuildFile; fileRef = B28EFB9D1DF0B6D6499A7DEF; };
89AD16514B1F4133FFEA1DF9 /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = 96D99A08027CA35D6A4E5CFD; }; 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; }; 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; }; 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; }; 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; }; 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>"; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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 */ /* End PBXFileReference section */
@ -199,6 +204,15 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
2BAD3DB7D8D886E59B412094 /* Assets */ = {
isa = PBXGroup;
children = (
6710661E16D6BD412524EB52,
CDFBB9C6A2AE67CE9EE00949,
);
name = Assets;
sourceTree = "<group>";
};
4452EAA652B65A9AE648288C /* Frameworks */ = { 4452EAA652B65A9AE648288C /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -300,6 +314,7 @@
CD575607FAA297480EE95F13, CD575607FAA297480EE95F13,
BB12537403CC24C02622582C, BB12537403CC24C02622582C,
260481E972425474BB8155B0, 260481E972425474BB8155B0,
B88D35BF4F1EAC840B967834,
ECE79F1433E92BB6213C86F5, ECE79F1433E92BB6213C86F5,
); );
name = Source; name = Source;
@ -326,6 +341,15 @@
name = DemoRunner; name = DemoRunner;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B88D35BF4F1EAC840B967834 /* AppIcon.icon */ = {
isa = PBXGroup;
children = (
2BAD3DB7D8D886E59B412094,
7D51C1884CE8FB235D31921B,
);
name = AppIcon.icon;
sourceTree = "<group>";
};
BB12537403CC24C02622582C /* UI */ = { BB12537403CC24C02622582C /* UI */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -365,7 +389,8 @@
4EC2782DE1779A130835B64D, 4EC2782DE1779A130835B64D,
8135645508EEFDBDCDF2ADC6, 8135645508EEFDBDCDF2ADC6,
7FBD555B32197FEACDFF5AFB, 7FBD555B32197FEACDFF5AFB,
E0A3F113BC27B7B4D6F1D693, 68A0F49281B13E51489A6874,
FCF36E57A88C67133AFC06A4,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -451,7 +476,8 @@
47ED2C78B05B8A6A00E36C46, 47ED2C78B05B8A6A00E36C46,
8E63755144E29269FD82C897, 8E63755144E29269FD82C897,
1C9AA8660D0DE180064ACF7B, 1C9AA8660D0DE180064ACF7B,
75DB074DBAE04408A0A917B7, 675BFB499A7E0AAD2614F529,
7648F1C856593D10FE42CF80,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View file

@ -22,6 +22,7 @@
juce_add_gui_app(DemoRunner juce_add_gui_app(DemoRunner
BUNDLE_ID com.juce.demorunner BUNDLE_ID com.juce.demorunner
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png
ICON_COMPOSER_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/Source/AppIcon.icon"
NEEDS_CURL TRUE NEEDS_CURL TRUE
NEEDS_WEB_BROWSER TRUE NEEDS_WEB_BROWSER TRUE
MICROPHONE_PERMISSION_ENABLED TRUE MICROPHONE_PERMISSION_ENABLED TRUE

View file

@ -28,6 +28,15 @@
file="Source/UI/SettingsContent.h"/> file="Source/UI/SettingsContent.h"/>
</GROUP> </GROUP>
<FILE id="fcr468" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/> <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"/> <FILE id="YyqWd2" name="JUCEAppIcon.png" compile="0" resource="0" file="Source/JUCEAppIcon.png"/>
</GROUP> </GROUP>
</MAINGROUP> </MAINGROUP>
@ -36,7 +45,7 @@
customXcodeResourceFolders="../Assets&#10;../Audio &#10;../DSP &#10;../GUI &#10;../Utilities" customXcodeResourceFolders="../Assets&#10;../Audio &#10;../DSP &#10;../GUI &#10;../Utilities"
microphonePermissionNeeded="1" cameraPermissionNeeded="1" applicationCategory="public.app-category.developer-tools" microphonePermissionNeeded="1" cameraPermissionNeeded="1" applicationCategory="public.app-category.developer-tools"
iosBluetoothPermissionNeeded="1" extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" 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> <CONFIGURATIONS>
<CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/> <CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/>
<CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/> <CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/>
@ -141,7 +150,7 @@
iosBluetoothPermissionNeeded="1" iosScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown" iosBluetoothPermissionNeeded="1" iosScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown"
iPadScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown" iPadScreenOrientation="UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown"
UIRequiresFullScreen="0" extraDefs="JUCE_SILENCE_XCODE_15_LINKER_WARNING=1" 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> <CONFIGURATIONS>
<CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/> <CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM"/>
<CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/> <CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM"/>

View file

@ -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

View file

@ -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

View 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"
}
}

View file

@ -9,7 +9,8 @@
microphonePermissionNeeded="1" sendAppleEventsPermissionNeeded="1" microphonePermissionNeeded="1" sendAppleEventsPermissionNeeded="1"
sendAppleEventsPermissionText="This is required for some third-party plug-ins to function correctly." sendAppleEventsPermissionText="This is required for some third-party plug-ins to function correctly."
customXcodeResourceFolders="../../examples/Assets" applicationCategory="public.app-category.developer-tools" 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> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="AudioPluginHost" recommendedWarnings="LLVM"/> <CONFIGURATION name="Debug" isDebug="1" targetName="AudioPluginHost" recommendedWarnings="LLVM"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="2" targetName="AudioPluginHost" <CONFIGURATION name="Release" isDebug="0" optimisation="2" targetName="AudioPluginHost"
@ -131,7 +132,8 @@
<XCODE_IPHONE targetFolder="Builds/iOS" iosScreenOrientation="" iPadScreenOrientation="" <XCODE_IPHONE targetFolder="Builds/iOS" iosScreenOrientation="" iPadScreenOrientation=""
iosDeviceFamily="1,2" microphonePermissionNeeded="1" iosBackgroundAudio="1" iosDeviceFamily="1,2" microphonePermissionNeeded="1" iosBackgroundAudio="1"
iosBackgroundBle="1" smallIcon="c97aUr" bigIcon="c97aUr" customXcodeResourceFolders="../../examples/Assets" 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> <CONFIGURATIONS>
<CONFIGURATION name="Debug" enablePluginBinaryCopyStep="1" isDebug="1" optimisation="1" <CONFIGURATION name="Debug" enablePluginBinaryCopyStep="1" isDebug="1" optimisation="1"
linkTimeOptimisation="0" targetName="Plugin Host" recommendedWarnings="LLVM"/> 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"/> <FILE id="ygZQZ1" name="PluginWindow.h" compile="0" resource="0" file="Source/UI/PluginWindow.h"/>
</GROUP> </GROUP>
<FILE id="OmIhwQ" name="HostStartup.cpp" compile="1" resource="0" file="Source/HostStartup.cpp"/> <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"/> <FILE id="c97aUr" name="JUCEAppIcon.png" compile="0" resource="0" file="Source/JUCEAppIcon.png"/>
</GROUP> </GROUP>
<GROUP id="{63C773C8-4305-87DD-DB3F-6D1143EFEC61}" name="BinaryData"> <GROUP id="{63C773C8-4305-87DD-DB3F-6D1143EFEC61}" name="BinaryData">

View file

@ -64,6 +64,9 @@ add_library( ${BINARY_NAME}
"../../../Source/UI/MainHostWindow.h" "../../../Source/UI/MainHostWindow.h"
"../../../Source/UI/PluginWindow.h" "../../../Source/UI/PluginWindow.h"
"../../../Source/HostStartup.cpp" "../../../Source/HostStartup.cpp"
"../../../Source/AppIcon.icon/Assets/juceicon.svg"
"../../../Source/AppIcon.icon/Assets/pluginhostfg.svg"
"../../../Source/AppIcon.icon/icon.json"
"../../../Source/JUCEAppIcon.png" "../../../Source/JUCEAppIcon.png"
"../../../../../examples/Assets/cassette_recorder.wav" "../../../../../examples/Assets/cassette_recorder.wav"
"../../../../../examples/Assets/cello.wav" "../../../../../examples/Assets/cello.wav"
@ -2552,6 +2555,9 @@ set_source_files_properties(
"../../../Source/UI/GraphEditorPanel.h" "../../../Source/UI/GraphEditorPanel.h"
"../../../Source/UI/MainHostWindow.h" "../../../Source/UI/MainHostWindow.h"
"../../../Source/UI/PluginWindow.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" "../../../Source/JUCEAppIcon.png"
"../../../../../examples/Assets/cassette_recorder.wav" "../../../../../examples/Assets/cassette_recorder.wav"
"../../../../../examples/Assets/cello.wav" "../../../../../examples/Assets/cello.wav"

View file

@ -14,6 +14,7 @@
09309BD494A05931864B6730 /* PluginGraph.cpp */ = {isa = PBXBuildFile; fileRef = 0B1CC8C80F6F99BDE7D6AEC9; }; 09309BD494A05931864B6730 /* PluginGraph.cpp */ = {isa = PBXBuildFile; fileRef = 0B1CC8C80F6F99BDE7D6AEC9; };
0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; }; 0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; };
15CCE43D7DCFC649638919D4 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 4C7D82F9274A4F9DBF11235C; }; 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; }; 19BE669F744C58C9B8742649 /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = E19F52E4D8928B850832C57F; };
1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; }; 1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; };
21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; }; 21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; };
@ -21,7 +22,6 @@
2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; }; 2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; };
3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; }; 3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; };
3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; }; 3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; };
443244451A0F2064D4767337 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 2A6983F82B13F9E8B10299AE; };
4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; }; 4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; };
5C4D406B924230F83E3580AD /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = 65968EA1B476D71F14DE1D58; }; 5C4D406B924230F83E3580AD /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = 65968EA1B476D71F14DE1D58; };
68FBFDA1FE637B3EDA09A592 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 4DF6E6E41E10965AD169143B; }; 68FBFDA1FE637B3EDA09A592 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = 4DF6E6E41E10965AD169143B; };
@ -33,6 +33,7 @@
8390CF6AEF2090680E4535F7 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = 118ABD8E91DF2E400358D8CD; settings = { ATTRIBUTES = (Weak, ); }; }; 8390CF6AEF2090680E4535F7 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = 118ABD8E91DF2E400358D8CD; settings = { ATTRIBUTES = (Weak, ); }; };
8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; }; 8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; };
9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; }; 9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; };
937574F3E6597DC4573F370E /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 6FDEDC8A2EE1095C83DCAF09; };
970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; }; 970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; };
A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; }; A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; };
A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; name = BinaryData;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
59BB5CF70EC14DFD74F5ED85 /* AppIcon.icon */ = {
isa = PBXGroup;
children = (
B91A28F8942AEAAD82FA11D7,
7294E2139555BCA6E58BC4CB,
);
name = AppIcon.icon;
sourceTree = "<group>";
};
65BEFC705A89E5C8A9E35C97 /* Source */ = { 65BEFC705A89E5C8A9E35C97 /* Source */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -275,7 +289,8 @@
5F0ADA39C70C892758A941F6, 5F0ADA39C70C892758A941F6,
57DF618F1DE781556B7AFC32, 57DF618F1DE781556B7AFC32,
7DA35787B5F6F7440D667CC8, 7DA35787B5F6F7440D667CC8,
2A6983F82B13F9E8B10299AE, 6FDEDC8A2EE1095C83DCAF09,
8D0F99961E3A2FF09E7D2DEC,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -286,11 +301,21 @@
9F51E92D8C77FA9DDD1F7B10, 9F51E92D8C77FA9DDD1F7B10,
DE7B77306553B1204071B39A, DE7B77306553B1204071B39A,
A66EFAC64B1B67B536C73415, A66EFAC64B1B67B536C73415,
59BB5CF70EC14DFD74F5ED85,
B2A1E626CC120982805754F6, B2A1E626CC120982805754F6,
); );
name = Source; name = Source;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B91A28F8942AEAAD82FA11D7 /* Assets */ = {
isa = PBXGroup;
children = (
16F7FAF232A9DA67E656C776,
CBAE7E81038388E1B80BA819,
);
name = Assets;
sourceTree = "<group>";
};
D1C4804CD275CB57A5C89A2D /* Frameworks */ = { D1C4804CD275CB57A5C89A2D /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -411,7 +436,8 @@
files = ( files = (
FE22E1AF24FA9ED43E983B81, FE22E1AF24FA9ED43E983B81,
D92C7BF86C9CCF6B4D14F809, D92C7BF86C9CCF6B4D14F809,
443244451A0F2064D4767337, 937574F3E6597DC4573F370E,
17928C3B79A379E4C6029D3E,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -459,6 +485,7 @@
49453CC5AD9F08D2738464AC /* Release */ = { 49453CC5AD9F08D2738464AC /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;
@ -598,6 +625,7 @@
C8B793AC1BEFBE7A99BE8352 /* Debug */ = { C8B793AC1BEFBE7A99BE8352 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;

View file

@ -10,7 +10,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Icon.icns</string> <string>AppIcon.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.juce.audiopluginhost</string> <string>com.juce.audiopluginhost</string>
<key>CFBundleName</key> <key>CFBundleName</key>

View file

@ -4486,6 +4486,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/> <None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
<None Include="..\..\..\..\examples\Assets\cello.wav"/> <None Include="..\..\..\..\examples\Assets\cello.wav"/>

View file

@ -8,6 +8,12 @@
<Filter Include="AudioPluginHost\Source\UI"> <Filter Include="AudioPluginHost\Source\UI">
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier> <UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
</Filter> </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"> <Filter Include="AudioPluginHost\Source">
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier> <UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
</Filter> </Filter>
@ -8117,6 +8123,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>AudioPluginHost\Source</Filter> <Filter>AudioPluginHost\Source</Filter>
</None> </None>

View file

@ -4486,6 +4486,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/> <None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
<None Include="..\..\..\..\examples\Assets\cello.wav"/> <None Include="..\..\..\..\examples\Assets\cello.wav"/>

View file

@ -8,6 +8,12 @@
<Filter Include="AudioPluginHost\Source\UI"> <Filter Include="AudioPluginHost\Source\UI">
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier> <UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
</Filter> </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"> <Filter Include="AudioPluginHost\Source">
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier> <UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
</Filter> </Filter>
@ -8117,6 +8123,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>AudioPluginHost\Source</Filter> <Filter>AudioPluginHost\Source</Filter>
</None> </None>

View file

@ -4486,6 +4486,9 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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="..\..\Source\JUCEAppIcon.png"/>
<None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/> <None Include="..\..\..\..\examples\Assets\cassette_recorder.wav"/>
<None Include="..\..\..\..\examples\Assets\cello.wav"/> <None Include="..\..\..\..\examples\Assets\cello.wav"/>

View file

@ -8,6 +8,12 @@
<Filter Include="AudioPluginHost\Source\UI"> <Filter Include="AudioPluginHost\Source\UI">
<UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier> <UniqueIdentifier>{8C61EB30-11E6-7029-4CC8-56C52EB1F1C3}</UniqueIdentifier>
</Filter> </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"> <Filter Include="AudioPluginHost\Source">
<UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier> <UniqueIdentifier>{57E59C1B-8971-243F-9A1A-8EABFD456232}</UniqueIdentifier>
</Filter> </Filter>
@ -8117,6 +8123,15 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\Source\JUCEAppIcon.png">
<Filter>AudioPluginHost\Source</Filter> <Filter>AudioPluginHost\Source</Filter>
</None> </None>

View file

@ -16,6 +16,7 @@
0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; }; 0F20A4AE04736634F097F5A6 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = B285CAB91AE928C476CA4F9C; };
1570FCC5CDB7A44DF0077E39 /* CoreGraphics.framework */ = {isa = PBXBuildFile; fileRef = 2F7D965A1284CEF0B20EB657; }; 1570FCC5CDB7A44DF0077E39 /* CoreGraphics.framework */ = {isa = PBXBuildFile; fileRef = 2F7D965A1284CEF0B20EB657; };
15CCE43D7DCFC649638919D4 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 4C7D82F9274A4F9DBF11235C; }; 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; }; 19BE669F744C58C9B8742649 /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = E19F52E4D8928B850832C57F; };
1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; }; 1AD3A3C7CD2D1F6DC4B65205 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3E94492697BD64D0F185D60E; settings = { ATTRIBUTES = (Weak, ); }; };
21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; }; 21D330A5B13178B12BEAFC3C /* AudioToolbox.framework */ = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; };
@ -24,7 +25,6 @@
2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; }; 2C3D221D2AA87F07B3F1044D /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 8FE7B37CDE0818DB27BDDEBD; };
3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; }; 3154B78F0813DBD8A2C9234D /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = DAB71FA843B80756B5521A4E; };
3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; }; 3E1689E23B9C85F03209DCEF /* GraphEditorPanel.cpp */ = {isa = PBXBuildFile; fileRef = 3D78A731234A833CA112AE45; };
443244451A0F2064D4767337 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 2A6983F82B13F9E8B10299AE; };
4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; }; 4DB15177DDC357F4503F88CF /* WebKit.framework */ = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; };
50AFD116DCA6EC228EFB322D /* UIKit.framework */ = {isa = PBXBuildFile; fileRef = F9EDC54DFBCF3A63E0AA5D73; }; 50AFD116DCA6EC228EFB322D /* UIKit.framework */ = {isa = PBXBuildFile; fileRef = F9EDC54DFBCF3A63E0AA5D73; };
59F4F23BFFDAB414B4801F85 /* Images.xcassets */ = {isa = PBXBuildFile; fileRef = 29E0972229FB44D969035B4E; }; 59F4F23BFFDAB414B4801F85 /* Images.xcassets */ = {isa = PBXBuildFile; fileRef = 29E0972229FB44D969035B4E; };
@ -39,6 +39,7 @@
8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; }; 8DD3EB0C33E3E7B30C086034 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = A83A4730C7AC85876911E149; };
9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; }; 9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; };
92EE84159C7027A137F06204 /* CoreText.framework */ = {isa = PBXBuildFile; fileRef = 66643EDF46AE8C5B7956B91D; }; 92EE84159C7027A137F06204 /* CoreText.framework */ = {isa = PBXBuildFile; fileRef = 66643EDF46AE8C5B7956B91D; };
937574F3E6597DC4573F370E /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 6FDEDC8A2EE1095C83DCAF09; };
970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; }; 970A893BD34180916C9D01C4 /* ARAPlugin.cpp */ = {isa = PBXBuildFile; fileRef = 6A01D5F304346E0332264056; };
A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; }; A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; };
A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; name = BinaryData;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
59BB5CF70EC14DFD74F5ED85 /* AppIcon.icon */ = {
isa = PBXGroup;
children = (
B91A28F8942AEAAD82FA11D7,
7294E2139555BCA6E58BC4CB,
);
name = AppIcon.icon;
sourceTree = "<group>";
};
65BEFC705A89E5C8A9E35C97 /* Source */ = { 65BEFC705A89E5C8A9E35C97 /* Source */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -288,7 +302,8 @@
57DF618F1DE781556B7AFC32, 57DF618F1DE781556B7AFC32,
29E0972229FB44D969035B4E, 29E0972229FB44D969035B4E,
F58EBA72DA53F75945B91321, F58EBA72DA53F75945B91321,
2A6983F82B13F9E8B10299AE, 6FDEDC8A2EE1095C83DCAF09,
8D0F99961E3A2FF09E7D2DEC,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -299,11 +314,21 @@
9F51E92D8C77FA9DDD1F7B10, 9F51E92D8C77FA9DDD1F7B10,
DE7B77306553B1204071B39A, DE7B77306553B1204071B39A,
A66EFAC64B1B67B536C73415, A66EFAC64B1B67B536C73415,
59BB5CF70EC14DFD74F5ED85,
B2A1E626CC120982805754F6, B2A1E626CC120982805754F6,
); );
name = Source; name = Source;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B91A28F8942AEAAD82FA11D7 /* Assets */ = {
isa = PBXGroup;
children = (
16F7FAF232A9DA67E656C776,
CBAE7E81038388E1B80BA819,
);
name = Assets;
sourceTree = "<group>";
};
D1C4804CD275CB57A5C89A2D /* Frameworks */ = { D1C4804CD275CB57A5C89A2D /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -428,7 +453,8 @@
FE22E1AF24FA9ED43E983B81, FE22E1AF24FA9ED43E983B81,
59F4F23BFFDAB414B4801F85, 59F4F23BFFDAB414B4801F85,
E283262A07376A7EDFCEAF6F, E283262A07376A7EDFCEAF6F,
443244451A0F2064D4767337, 937574F3E6597DC4573F370E,
17928C3B79A379E4C6029D3E,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View file

@ -33,6 +33,7 @@
juce_add_gui_app(AudioPluginHost juce_add_gui_app(AudioPluginHost
BUNDLE_ID com.juce.pluginhost BUNDLE_ID com.juce.pluginhost
ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png" ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png"
ICON_COMPOSER_BUNDLE "${CMAKE_CURRENT_SOURCE_DIR}/Source/AppIcon.icon"
MICROPHONE_PERMISSION_ENABLED TRUE MICROPHONE_PERMISSION_ENABLED TRUE
PLUGINHOST_AU TRUE) PLUGINHOST_AU TRUE)

View file

@ -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

View file

@ -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

View 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"
}
}

View file

@ -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 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 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_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 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_COPYRIGHT ${target} JUCE_COMPANY_COPYRIGHT)
_juce_append_target_property(file_content COMPANY_NAME ${target} JUCE_COMPANY_NAME) _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_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_big ${source_target} JUCE_ICON_BIG)
get_target_property(juce_property_icon_small ${source_target} JUCE_ICON_SMALL) 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) set(icon_args)
@ -647,8 +649,38 @@ function(_juce_generate_icon source_target dest_target)
list(APPEND icon_args "${juce_property_icon_small}") list(APPEND icon_args "${juce_property_icon_small}")
endif() 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(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(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
if(NOT icon_args) if(NOT icon_args)
return() return()
@ -656,9 +688,9 @@ function(_juce_generate_icon source_target dest_target)
_juce_check_icon_files_exist("${icon_args}") _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! # 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) set_source_files_properties(${generated_icon} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
if(NOT icon_args) if(NOT icon_args)
@ -679,15 +711,19 @@ function(_juce_generate_icon source_target dest_target)
set(generated_icon "${out_path}/Images.xcassets") set(generated_icon "${out_path}/Images.xcassets")
# To get compiled properly, we need iOS assets at configure time! # 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() endif()
if(NOT generated_icon) if(NOT generated_icon)
return() return()
endif() endif()
get_target_property(existing_appicon ${dest_target} XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME)
if(NOT existing_appicon)
set_target_properties(${dest_target} PROPERTIES set_target_properties(${dest_target} PROPERTIES
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon") XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "${apple_app_icon_name}")
endif()
get_target_property(add_storyboard ${source_target} JUCE_SHOULD_ADD_STORYBOARD) 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 REQUIRES_FULL_SCREEN # iOS only
ICON_BIG ICON_BIG
ICON_SMALL ICON_SMALL
ICON_COMPOSER_BUNDLE # MacOS/iOS only
COMPANY_COPYRIGHT COMPANY_COPYRIGHT
COMPANY_NAME COMPANY_NAME
COMPANY_WEBSITE COMPANY_WEBSITE

View 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()

View file

@ -494,11 +494,12 @@ namespace juce::build_tools
RelativePath createXcassetsFolderFromIcons (const Icons& icons, RelativePath createXcassetsFolderFromIcons (const Icons& icons,
const File& targetFolder, const File& targetFolder,
String projectFilenameRootString) String projectFilenameRootString,
String iconName)
{ {
const auto assets = targetFolder.getChildFile (projectFilenameRootString) const auto assets = targetFolder.getChildFile (projectFilenameRootString)
.getChildFile ("Images.xcassets"); .getChildFile ("Images.xcassets");
const auto iconSet = assets.getChildFile ("AppIcon.appiconset"); const auto iconSet = assets.getChildFile (iconName + ".appiconset");
const auto launchImage = assets.getChildFile ("LaunchImage.launchimage"); const auto launchImage = assets.getChildFile ("LaunchImage.launchimage");
overwriteFileIfDifferentOrThrow (iconSet.getChildFile ("Contents.json"), getiOSAppIconContents()); overwriteFileIfDifferentOrThrow (iconSet.getChildFile ("Contents.json"), getiOSAppIconContents());

View file

@ -61,6 +61,7 @@ namespace juce::build_tools
RelativePath createXcassetsFolderFromIcons (const Icons& icons, RelativePath createXcassetsFolderFromIcons (const Icons& icons,
const File& targetFolder, const File& targetFolder,
String projectFilenameRootString); String projectFilenameRootString,
String iconName);
} // namespace juce::build_tools } // namespace juce::build_tools

View file

@ -184,8 +184,13 @@ namespace juce::build_tools
addPlistDictionaryKey (*dict, "CFBundleExecutable", executableName); addPlistDictionaryKey (*dict, "CFBundleExecutable", executableName);
if (! iOS) // (NB: on iOS this causes error ITMS-90032 during publishing) if (! iOS) // (NB: on iOS this causes error ITMS-90032 during publishing)
{
addPlistDictionaryKey (*dict, "CFBundleIconFile", iconFile.exists() ? iconFile.getFileName() : String()); addPlistDictionaryKey (*dict, "CFBundleIconFile", iconFile.exists() ? iconFile.getFileName() : String());
if (iconComposerIcon.exists())
addPlistDictionaryKey (*dict, "CFBundleIconName", iconComposerIcon.getFileNameWithoutExtension());
}
addPlistDictionaryKey (*dict, "CFBundleIdentifier", bundleIdentifier); addPlistDictionaryKey (*dict, "CFBundleIdentifier", bundleIdentifier);
addPlistDictionaryKey (*dict, "CFBundleName", projectName); addPlistDictionaryKey (*dict, "CFBundleName", projectName);

View file

@ -69,6 +69,7 @@ namespace juce::build_tools
String localNetworkPermissionText; String localNetworkPermissionText;
File iconFile; File iconFile;
File iconComposerIcon;
String projectName; String projectName;
String marketingVersion; String marketingVersion;
String currentProjectVersion; String currentProjectVersion;

View file

@ -117,12 +117,26 @@ struct IconParseResults
{ {
juce::build_tools::Icons icons; juce::build_tools::Icons icons;
juce::File output; 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 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 const auto popFile = [&args]() -> juce::File
{ {
@ -135,28 +149,29 @@ IconParseResults parseIconArguments (juce::ArgumentList&& args)
const auto smallIcon = popFile(); const auto smallIcon = popFile();
const auto bigIcon = 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) 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); juce::build_tools::writeMacIcon (parsed.icons, parsed.output);
return 0; return 0;
} }
int writeiOSAssets (juce::ArgumentList&& argumentList) 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, juce::build_tools::createXcassetsFolderFromIcons (parsed.icons,
parsed.output.getParentDirectory(), parsed.output.getParentDirectory(),
parsed.output.getFileName()); parsed.output.getFileName(),
parsed.iconName);
return 0; return 0;
} }
int writeWinIcon (juce::ArgumentList&& argumentList) 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); juce::build_tools::writeWinIcon (parsed.icons, parsed.output);
return 0; return 0;
} }
@ -284,6 +299,7 @@ juce::build_tools::PlistOptions parsePlistOptions (const juce::File& file,
updateField ("SUPPRESS_AU_PLIST_RESOURCE_USAGE", result.suppressResourceUsage); updateField ("SUPPRESS_AU_PLIST_RESOURCE_USAGE", result.suppressResourceUsage);
updateField ("BUNDLE_ID", result.bundleIdentifier); updateField ("BUNDLE_ID", result.bundleIdentifier);
updateField ("ICON_FILE", result.iconFile); updateField ("ICON_FILE", result.iconFile);
updateField ("ICON_COMPOSER_BUNDLE", result.iconComposerIcon);
result.type = type; result.type = type;

View file

@ -6,7 +6,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Icon.icns</string> <string>AppIcon.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.juce.NetworkGraphicsDemo</string> <string>com.juce.NetworkGraphicsDemo</string>
<key>CFBundleName</key> <key>CFBundleName</key>

View file

@ -7,7 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
006DF460F8DF66EFFA80D968 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; };
0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; }; 0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; };
0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; }; 0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; };
204FE224D562F0519DE438A4 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = BD85090C86849423E95A0014; }; 204FE224D562F0519DE438A4 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = BD85090C86849423E95A0014; };
@ -20,6 +19,7 @@
65B2C4ED19229E0EDC8EF993 /* RecentFilesMenuTemplate.nib */ = {isa = PBXBuildFile; fileRef = 696F7896036B652369517438; }; 65B2C4ED19229E0EDC8EF993 /* RecentFilesMenuTemplate.nib */ = {isa = PBXBuildFile; fileRef = 696F7896036B652369517438; };
67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; }; 67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; };
6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; }; 6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; };
6E24A926494D678975AA56E5 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 3A798A17A29957CC426E04FB; };
770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; }; 770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; };
77745BF98931B91341FE17F6 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = F3292E3563DB7ABB076DB400; }; 77745BF98931B91341FE17F6 /* IOKit.framework */ = {isa = PBXBuildFile; fileRef = F3292E3563DB7ABB076DB400; };
80B9F7ED2009922C693B7DD4 /* DiscRecording.framework */ = {isa = PBXBuildFile; fileRef = CB82A14817C3E2ABBBBC3864; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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 = ( children = (
1FD6DBAC73414DD4C152E34E, 1FD6DBAC73414DD4C152E34E,
696F7896036B652369517438, 696F7896036B652369517438,
70F1CAF3C4C561DD81E6AFC1, 3A798A17A29957CC426E04FB,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -343,7 +343,7 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
65B2C4ED19229E0EDC8EF993, 65B2C4ED19229E0EDC8EF993,
006DF460F8DF66EFFA80D968, 6E24A926494D678975AA56E5,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View file

@ -7,7 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
006DF460F8DF66EFFA80D968 /* Icon.icns */ = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; };
0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; }; 0977FEC02DAF29438583198A /* include_juce_core.mm */ = {isa = PBXBuildFile; fileRef = 01E0EEF68A11C1CAF180E173; };
0E041BED84BAC24200949A78 /* UniformTypeIdentifiers.framework */ = {isa = PBXBuildFile; fileRef = 961965555B4DAA5BE2361933; settings = { ATTRIBUTES = (Weak, ); }; }; 0E041BED84BAC24200949A78 /* UniformTypeIdentifiers.framework */ = {isa = PBXBuildFile; fileRef = 961965555B4DAA5BE2361933; settings = { ATTRIBUTES = (Weak, ); }; };
0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; }; 0FA2A3321630EBE83E439D99 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = AFF729977947528F3E4AAA96; };
@ -24,6 +23,7 @@
64DEB67F9523F28D899D1821 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = C8C4E9A4028028FF1F5B76F2; settings = { ATTRIBUTES = (Weak, ); }; }; 64DEB67F9523F28D899D1821 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = C8C4E9A4028028FF1F5B76F2; settings = { ATTRIBUTES = (Weak, ); }; };
67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; }; 67DF295E93E54432043126DF /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 6799B056504F9F017998B9E2; };
6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; }; 6C2200C52B65E1BE80544E50 /* include_juce_audio_devices.mm */ = {isa = PBXBuildFile; fileRef = AF330F41D1A4865108690E3C; };
6E24A926494D678975AA56E5 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = 3A798A17A29957CC426E04FB; };
770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; }; 770AB74B1D3A0108F764DD47 /* CoreAudioKit.framework */ = {isa = PBXBuildFile; fileRef = 4D1DB6D77B6F3DE7A569780B; };
78CB229C1BA5093078BC6195 /* UserNotifications.framework */ = {isa = PBXBuildFile; fileRef = E8976208A3585295BF93D50D; settings = { ATTRIBUTES = (Weak, ); }; }; 78CB229C1BA5093078BC6195 /* UserNotifications.framework */ = {isa = PBXBuildFile; fileRef = E8976208A3585295BF93D50D; settings = { ATTRIBUTES = (Weak, ); }; };
80EE2C27B466BAFD83881D3F /* Accelerate.framework */ = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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, 1FD6DBAC73414DD4C152E34E,
5273768FBB55D0DD57A5E70C, 5273768FBB55D0DD57A5E70C,
9D2DAC7D0C9DB77CB83E2992, 9D2DAC7D0C9DB77CB83E2992,
70F1CAF3C4C561DD81E6AFC1, 3A798A17A29957CC426E04FB,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -363,7 +363,7 @@
files = ( files = (
1282A62308CD1AC3F88A5D03, 1282A62308CD1AC3F88A5D03,
D832165EE981EF309D4B21BF, D832165EE981EF309D4B21BF,
006DF460F8DF66EFFA80D968, 6E24A926494D678975AA56E5,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View file

@ -10,7 +10,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string> <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>Icon.icns</string> <string>AppIcon.icns</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.juce.theprojucer</string> <string>com.juce.theprojucer</string>
<key>CFBundleName</key> <key>CFBundleName</key>

View file

@ -16,7 +16,6 @@
10E26DA28CF28BBFDC64E796 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = 5F0374A45E6B5EC8E47D688F; }; 10E26DA28CF28BBFDC64E796 /* include_juce_core_CompilationTime.cpp */ = {isa = PBXBuildFile; fileRef = 5F0374A45E6B5EC8E47D688F; };
11D42F7EC6E6539D79A7F4B1 /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; }; 11D42F7EC6E6539D79A7F4B1 /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = E5D6C36496F5BC84D7213BE8; };
13180B0F6CE42B355C90CF3C /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = 39F69DABE999E4B2CBC6041F; }; 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; }; 234B6BA2952CBC7C61EF70EF /* include_juce_events.mm */ = {isa = PBXBuildFile; fileRef = 5867DC4E39DF8539B54C0D59; };
241F29FCBB7A17BB44A0B10C /* Cocoa.framework */ = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; }; 241F29FCBB7A17BB44A0B10C /* Cocoa.framework */ = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; };
244567D3AE2E417A8CB2B95E /* jucer_ProjectExporter.cpp */ = {isa = PBXBuildFile; fileRef = C3BB9F92B02B06D04A73794C; }; 244567D3AE2E417A8CB2B95E /* jucer_ProjectExporter.cpp */ = {isa = PBXBuildFile; fileRef = C3BB9F92B02B06D04A73794C; };
@ -39,6 +38,7 @@
6DD9DA1677A6CF789CDAB478 /* jucer_AutoUpdater.cpp */ = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; }; 6DD9DA1677A6CF789CDAB478 /* jucer_AutoUpdater.cpp */ = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; };
6ECB2F11D2F593FACCCF99DB /* jucer_ProjucerLookAndFeel.cpp */ = {isa = PBXBuildFile; fileRef = 0F8C000E5FF4A2DAC1FEF8EB; }; 6ECB2F11D2F593FACCCF99DB /* jucer_ProjucerLookAndFeel.cpp */ = {isa = PBXBuildFile; fileRef = 0F8C000E5FF4A2DAC1FEF8EB; };
71713DE4716DCEDB45A206E2 /* jucer_OpenDocumentManager.cpp */ = {isa = PBXBuildFile; fileRef = F9111E150CFF155329D44853; }; 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, ); }; }; 7F1928D425D075E93DC254A8 /* Metal.framework */ = {isa = PBXBuildFile; fileRef = E419F3AED6A220EDCB179A8C; settings = { ATTRIBUTES = (Weak, ); }; };
8BE478303CDF061B72F219E2 /* jucer_CodeHelpers.cpp */ = {isa = PBXBuildFile; fileRef = F2E4998FB2C7221587A79F8B; }; 8BE478303CDF061B72F219E2 /* jucer_CodeHelpers.cpp */ = {isa = PBXBuildFile; fileRef = F2E4998FB2C7221587A79F8B; };
908B7D4FB180F53405DA8EF9 /* jucer_StartPageComponent.cpp */ = {isa = PBXBuildFile; fileRef = 82C18723A3D0E39BBD8F0F6E; }; 908B7D4FB180F53405DA8EF9 /* jucer_StartPageComponent.cpp */ = {isa = PBXBuildFile; fileRef = 82C18723A3D0E39BBD8F0F6E; };
@ -54,6 +54,7 @@
D0E26EB54B0087C8BE3D541E /* jucer_Icons.cpp */ = {isa = PBXBuildFile; fileRef = 846B2A670C5A19DE0039E11A; }; D0E26EB54B0087C8BE3D541E /* jucer_Icons.cpp */ = {isa = PBXBuildFile; fileRef = 846B2A670C5A19DE0039E11A; };
D5C9125F65493CA481F18E53 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = D766BB9D8C32B5560F0493F3; }; D5C9125F65493CA481F18E53 /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = D766BB9D8C32B5560F0493F3; };
D76134C6646C526A210A78E2 /* include_juce_graphics_Sheenbidi.c */ = {isa = PBXBuildFile; fileRef = 276A4D5D4A2DD84C6D41F0CA; }; D76134C6646C526A210A78E2 /* include_juce_graphics_Sheenbidi.c */ = {isa = PBXBuildFile; fileRef = 276A4D5D4A2DD84C6D41F0CA; };
DBE437EE41F174A6F27FC0E2 /* AppIcon.icns */ = {isa = PBXBuildFile; fileRef = F3FE62637ACC2263A7594E8A; };
DD0FF38F7E8DE0220D73671D /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = BF006EF584FB274FF0319E08; }; DD0FF38F7E8DE0220D73671D /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = BF006EF584FB274FF0319E08; };
EE722B47BC36CC8A87E0FB76 /* jucer_AppearanceSettings.cpp */ = {isa = PBXBuildFile; fileRef = BE618CE21C794BDEE319E328; }; EE722B47BC36CC8A87E0FB76 /* jucer_AppearanceSettings.cpp */ = {isa = PBXBuildFile; fileRef = BE618CE21C794BDEE319E328; };
F15F0512666FF8CDC0D08905 /* include_juce_gui_basics.mm */ = {isa = PBXBuildFile; fileRef = 0462692BAA9CD1BE6DFBCC33; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; }; 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; name = Source;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
4BCEED1C2E8D6C62E3DA4231 /* Assets */ = {
isa = PBXGroup;
children = (
F6410ADB98961EC4A6304A21,
);
name = Assets;
sourceTree = "<group>";
};
4DCC5D64BBE8DE85360A3D57 /* ProjectSaving */ = { 4DCC5D64BBE8DE85360A3D57 /* ProjectSaving */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -405,12 +417,21 @@
name = gradle; name = gradle;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
7CEEEE4F800F5DB9728F9271 /* Assets */ = {
isa = PBXGroup;
children = (
F05A70E37CDE3CF34503940F,
);
name = Assets;
sourceTree = "<group>";
};
8180B5894A78501084B8F133 /* Resources */ = { 8180B5894A78501084B8F133 /* Resources */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E266DE67FF319D56F63193A6, E266DE67FF319D56F63193A6,
6678E9B3EEACAD47F438B264, 6678E9B3EEACAD47F438B264,
951128CA33CCDEF570436B1C, F3FE62637ACC2263A7594E8A,
E09429B88DD8ADA381D4BF61,
); );
name = Resources; name = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
@ -584,6 +605,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
BC67FD952A6F210A11A1ECB8, BC67FD952A6F210A11A1ECB8,
7CEEEE4F800F5DB9728F9271,
DC3A4B0AD79334BA8A7E0661, DC3A4B0AD79334BA8A7E0661,
F1B44F007A02A0FAE4DC8D79, F1B44F007A02A0FAE4DC8D79,
89E9055A179B4C2019B4E1AE, 89E9055A179B4C2019B4E1AE,
@ -676,6 +698,15 @@
name = Settings; name = Settings;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
F05A70E37CDE3CF34503940F /* AppIcon.icon */ = {
isa = PBXGroup;
children = (
4BCEED1C2E8D6C62E3DA4231,
7C2F4A961A17B2E2ADD1B407,
);
name = AppIcon.icon;
sourceTree = "<group>";
};
F1B44F007A02A0FAE4DC8D79 /* CodeEditor */ = { F1B44F007A02A0FAE4DC8D79 /* CodeEditor */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -766,7 +797,8 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
2610F357881240ACBF612F48, 2610F357881240ACBF612F48,
1321E6C1C6170B6C898AD09D, DBE437EE41F174A6F27FC0E2,
7E43279B5881EA0FFDA49647,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -825,6 +857,7 @@
0BC15DC2E5FE5ECFFB398D49 /* Release */ = { 0BC15DC2E5FE5ECFFB398D49 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;
@ -892,6 +925,7 @@
0CC6C439D038EDA0D7F10DF0 /* Debug */ = { 0CC6C439D038EDA0D7F10DF0 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_LINK_OBJC_RUNTIME = NO; CLANG_LINK_OBJC_RUNTIME = NO;

View file

@ -2944,6 +2944,8 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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\JuceLV2Defines.h.in"/>
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/> <None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/> <None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>

View file

@ -11,6 +11,15 @@
<Filter Include="Projucer\Application"> <Filter Include="Projucer\Application">
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier> <UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
</Filter> </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"> <Filter Include="Projucer\BinaryData\gradle">
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier> <UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
</Filter> </Filter>
@ -5243,6 +5252,12 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
<Filter>Projucer\BinaryData</Filter> <Filter>Projucer\BinaryData</Filter>
</None> </None>

View file

@ -2944,6 +2944,8 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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\JuceLV2Defines.h.in"/>
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/> <None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/> <None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>

View file

@ -11,6 +11,15 @@
<Filter Include="Projucer\Application"> <Filter Include="Projucer\Application">
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier> <UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
</Filter> </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"> <Filter Include="Projucer\BinaryData\gradle">
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier> <UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
</Filter> </Filter>
@ -5243,6 +5252,12 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
<Filter>Projucer\BinaryData</Filter> <Filter>Projucer\BinaryData</Filter>
</None> </None>

View file

@ -2944,6 +2944,8 @@
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/> <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>
</ItemGroup> </ItemGroup>
<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\JuceLV2Defines.h.in"/>
<None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/> <None Include="..\..\..\Build\CMake\LaunchScreen.storyboard"/>
<None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/> <None Include="..\..\..\Build\CMake\PIPAudioProcessor.cpp.in"/>

View file

@ -11,6 +11,15 @@
<Filter Include="Projucer\Application"> <Filter Include="Projucer\Application">
<UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier> <UniqueIdentifier>{4F8BCD36-CE20-D951-FB82-2CCEDD0C5898}</UniqueIdentifier>
</Filter> </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"> <Filter Include="Projucer\BinaryData\gradle">
<UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier> <UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>
</Filter> </Filter>
@ -5243,6 +5252,12 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<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"> <None Include="..\..\..\Build\CMake\JuceLV2Defines.h.in">
<Filter>Projucer\BinaryData</Filter> <Filter>Projucer\BinaryData</Filter>
</None> </None>

View file

@ -33,6 +33,7 @@
juce_add_gui_app(Projucer juce_add_gui_app(Projucer
BUNDLE_ID com.juce.theprojucer BUNDLE_ID com.juce.theprojucer
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png 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 DOCUMENT_EXTENSIONS jucer
NEEDS_CURL TRUE NEEDS_CURL TRUE
NEEDS_WEB_BROWSER TRUE) NEEDS_WEB_BROWSER TRUE)

View file

@ -8,7 +8,7 @@
<XCODE_MAC targetFolder="Builds/MacOSX" documentExtensions=".jucer" bigIcon="Zrx1Gl" <XCODE_MAC targetFolder="Builds/MacOSX" documentExtensions=".jucer" bigIcon="Zrx1Gl"
microphonePermissionNeeded="1" cameraPermissionNeeded="1" smallIcon="Zrx1Gl" microphonePermissionNeeded="1" cameraPermissionNeeded="1" smallIcon="Zrx1Gl"
applicationCategory="public.app-category.developer-tools" extraLinkerFlags="-Wl,-weak_reference_mismatches,weak" 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> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" cppLibType="libc++" <CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" cppLibType="libc++"
recommendedWarnings="LLVM"/> recommendedWarnings="LLVM"/>
@ -30,7 +30,8 @@
smallIcon="Zrx1Gl"> smallIcon="Zrx1Gl">
<CONFIGURATIONS> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/> <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> </CONFIGURATIONS>
<MODULEPATHS> <MODULEPATHS>
<MODULEPATH id="juce_gui_extra" path="../../modules"/> <MODULEPATH id="juce_gui_extra" path="../../modules"/>
@ -47,7 +48,8 @@
smallIcon="Zrx1Gl"> smallIcon="Zrx1Gl">
<CONFIGURATIONS> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/> <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> </CONFIGURATIONS>
<MODULEPATHS> <MODULEPATHS>
<MODULEPATH id="juce_gui_extra" path="../../modules"/> <MODULEPATH id="juce_gui_extra" path="../../modules"/>
@ -64,7 +66,8 @@
smallIcon="Zrx1Gl"> smallIcon="Zrx1Gl">
<CONFIGURATIONS> <CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" targetName="Projucer" useRuntimeLibDLL="0"/> <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> </CONFIGURATIONS>
<MODULEPATHS> <MODULEPATHS>
<MODULEPATH id="juce_gui_extra" path="../../modules"/> <MODULEPATH id="juce_gui_extra" path="../../modules"/>
@ -153,6 +156,14 @@
<FILE id="HmkREh" name="jucer_MainWindow.h" compile="0" resource="0" <FILE id="HmkREh" name="jucer_MainWindow.h" compile="0" resource="0"
file="Source/Application/jucer_MainWindow.h"/> file="Source/Application/jucer_MainWindow.h"/>
</GROUP> </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"> <GROUP id="{BFDB3102-5EB6-41E0-043A-05C0DFF7A34D}" name="BinaryData">
<FILE id="wkLB4B" name="JuceLV2Defines.h.in" compile="0" resource="1" <FILE id="wkLB4B" name="JuceLV2Defines.h.in" compile="0" resource="1"
file="../Build/CMake/JuceLV2Defines.h.in"/> file="../Build/CMake/JuceLV2Defines.h.in"/>

View file

@ -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

View 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"
}
}

View file

@ -1616,6 +1616,30 @@ void Project::findAllImageItems (OwnedArray<Project::Item>& items)
findImages (getMainGroup(), 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::Item::Item (Project& p, const ValueTree& s, bool isModuleCode)
: project (p), state (s), belongsToModule (isModuleCode) : project (p), state (s), belongsToModule (isModuleCode)
@ -1997,13 +2021,27 @@ bool Project::Item::addFileRetainingSortOrder (const File& file, bool shouldComp
return true; 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) void Project::Item::addFileUnchecked (const File& file, int insertIndex, const bool shouldCompile)
{ {
Item item (project, ValueTree (Ids::FILE), belongsToModule); Item item (project, ValueTree (Ids::FILE), belongsToModule);
item.initialiseMissingProperties(); item.initialiseMissingProperties();
item.getNameValue() = file.getFileName(); item.getNameValue() = file.getFileName();
item.getShouldCompileValue() = shouldCompile && file.hasFileExtension (fileTypesToCompileByDefault); item.getShouldCompileValue() = shouldCompile && file.hasFileExtension (fileTypesToCompileByDefault);
item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file); item.getShouldAddToBinaryResourcesValue() = project.shouldBeAddedToBinaryResourcesByDefault (file)
&& ! isPartOfIconComposerBundle (file);
if (canContain (item)) if (canContain (item))
{ {

View file

@ -527,6 +527,14 @@ public:
void findAllImageItems (OwnedArray<Item>& items); void findAllImageItems (OwnedArray<Item>& items);
struct IconComposerNameAndItem
{
String name;
Item item;
};
std::vector<IconComposerNameAndItem> findAllIconComposerItems();
//============================================================================== //==============================================================================
ValueTree getExporters(); ValueTree getExporters();
int getNumExporters(); int getNumExporters();

View file

@ -209,6 +209,7 @@ public:
iosDeviceFamilyValue (settings, Ids::iosDeviceFamily, getUndoManager(), "1,2"), iosDeviceFamilyValue (settings, Ids::iosDeviceFamily, getUndoManager(), "1,2"),
iPhoneScreenOrientationValue (settings, Ids::iPhoneScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","), iPhoneScreenOrientationValue (settings, Ids::iPhoneScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","),
iPadScreenOrientationValue (settings, Ids::iPadScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","), iPadScreenOrientationValue (settings, Ids::iPadScreenOrientation, getUndoManager(), getDefaultScreenOrientations(), ","),
iconComposerIconValue (settings, Ids::iconComposerIcon, getUndoManager()),
customXcodeResourceFoldersValue (settings, Ids::customXcodeResourceFolders, getUndoManager()), customXcodeResourceFoldersValue (settings, Ids::customXcodeResourceFolders, getUndoManager()),
customXcassetsFolderValue (settings, Ids::customXcassetsFolder, getUndoManager()), customXcassetsFolderValue (settings, Ids::customXcassetsFolder, getUndoManager()),
appSandboxValue (settings, Ids::appSandbox, getUndoManager()), appSandboxValue (settings, Ids::appSandbox, getUndoManager()),
@ -464,8 +465,35 @@ public:
return false; 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 void createExporterProperties (PropertyListBuilder& props) override
{ {
createIconComposerProperties (props);
if (iOS) if (iOS)
{ {
props.add (new TextPropertyComponent (customXcassetsFolderValue, "Custom Xcassets Folder", 128, false), props.add (new TextPropertyComponent (customXcassetsFolderValue, "Custom Xcassets Folder", 128, false),
@ -1219,6 +1247,31 @@ public:
kXPCServicesFolder = 16 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 struct XcodeTarget final : build_tools::ProjectType::Target
{ {
@ -1864,10 +1917,11 @@ public:
String gccVersion ("com.apple.compilers.llvm.clang.1_0"); 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) if (owner.iOS)
{ {
s.set ("ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
if (! owner.shouldAddStoryboardToProject()) if (! owner.shouldAddStoryboardToProject())
s.set ("ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage"); s.set ("ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
} }
@ -2424,6 +2478,17 @@ private:
resourceIDs.add (addBuildFile (FileOptions().withRelativePath (iconPath))); resourceIDs.add (addBuildFile (FileOptions().withRelativePath (iconPath)));
resourceFileRefs.add (createFileRefID (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 void addBuildConfigurations() const
@ -2722,7 +2787,7 @@ private:
if (! build_tools::asArray (icons).isEmpty()) if (! build_tools::asArray (icons).isEmpty())
{ {
iconFile = getTargetFolder().getChildFile ("Icon.icns"); iconFile = getTargetFolder().getChildFile (getAppIconNameOrElse ("AppIcon") + ".icns");
build_tools::writeMacIcon (icons, iconFile); build_tools::writeMacIcon (icons, iconFile);
} }
} }
@ -3820,7 +3885,8 @@ private:
{ {
const auto assetsPath = build_tools::createXcassetsFolderFromIcons (getIcons(), const auto assetsPath = build_tools::createXcassetsFolderFromIcons (getIcons(),
getTargetFolder(), getTargetFolder(),
project.getProjectFilenameRootString()); project.getProjectFilenameRootString(),
getAppIconNameOrElse ("AppIcon"));
addFileReference (assetsPath.toUnixStyle()); addFileReference (assetsPath.toUnixStyle());
resourceIDs.add (addBuildFile (FileOptions().withRelativePath (assetsPath))); resourceIDs.add (addBuildFile (FileOptions().withRelativePath (assetsPath)));
resourceFileRefs.add (createFileRefID (assetsPath)); resourceFileRefs.add (createFileRefID (assetsPath));
@ -3959,7 +4025,7 @@ private:
extraFrameworksValue, frameworkSearchPathsValue, extraCustomFrameworksValue, embeddedFrameworksValue, extraFrameworksValue, frameworkSearchPathsValue, extraCustomFrameworksValue, embeddedFrameworksValue,
postbuildCommandValue, prebuildCommandValue, postbuildCommandValue, prebuildCommandValue,
duplicateAppExResourcesFolderValue, iosDeviceFamilyValue, iPhoneScreenOrientationValue, duplicateAppExResourcesFolderValue, iosDeviceFamilyValue, iPhoneScreenOrientationValue,
iPadScreenOrientationValue, customXcodeResourceFoldersValue, customXcassetsFolderValue, iPadScreenOrientationValue, iconComposerIconValue, customXcodeResourceFoldersValue, customXcassetsFolderValue,
appSandboxValue, appSandboxInheritanceValue, appSandboxOptionsValue, appSandboxValue, appSandboxInheritanceValue, appSandboxOptionsValue,
appSandboxHomeDirROValue, appSandboxHomeDirRWValue, appSandboxAbsDirROValue, appSandboxAbsDirRWValue, appSandboxHomeDirROValue, appSandboxHomeDirRWValue, appSandboxAbsDirROValue, appSandboxAbsDirRWValue,
appSandboxExceptionIOKitValue, appSandboxExceptionIOKitValue,

View file

@ -159,6 +159,7 @@ namespace Ids
DECLARE_ID (msvcModuleDefinitionFile); DECLARE_ID (msvcModuleDefinitionFile);
DECLARE_ID (bigIcon); DECLARE_ID (bigIcon);
DECLARE_ID (smallIcon); DECLARE_ID (smallIcon);
DECLARE_ID (iconComposerIcon);
DECLARE_ID (prebuildCommand); DECLARE_ID (prebuildCommand);
DECLARE_ID (postbuildCommand); DECLARE_ID (postbuildCommand);
DECLARE_ID (useRuntimeLibDLL); DECLARE_ID (useRuntimeLibDLL);

View file

@ -364,7 +364,7 @@ void UpdateRegion::findRECTAndValidate (HWND windowHandle)
{ {
numRect = 0; numRect = 0;
auto regionHandle = CreateRectRgn (0, 0, 0, 0); auto* regionHandle = CreateRectRgn (0, 0, 0, 0);
if (regionHandle == nullptr) if (regionHandle == nullptr)
{ {
@ -372,33 +372,36 @@ void UpdateRegion::findRECTAndValidate (HWND windowHandle)
return; 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()) const auto* header = static_cast<RGNDATAHEADER const* const> (block.getData());
{
block.ensureSize (regionDataBytes);
regionDataBytes = GetRegionData (regionHandle, (DWORD) block.getSize(), (RGNDATA*) block.getData());
}
if (regionDataBytes > 0) if (header->iType != RDH_RECTANGLES)
{ return 0;
auto header = (RGNDATAHEADER const* const) block.getData();
if (header->iType == RDH_RECTANGLES) return header->nCount;
numRect = header->nCount; });
}
}
if (numRect > 0) if (numRect > 0)
ValidateRgn (windowHandle, regionHandle); ValidateRgn (windowHandle, regionHandle);
else else
ValidateRect (windowHandle, nullptr); ValidateRect (windowHandle, nullptr);
DeleteObject (regionHandle);
} }
//============================================================================== //==============================================================================

View file

@ -297,101 +297,13 @@ private:
}; };
//============================================================================== //==============================================================================
struct Direct2DHwndContext::HwndPimpl : public Direct2DGraphicsContext::Pimpl struct Direct2DHwndContext::HwndPimpl : public Pimpl
{ {
private: 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; HWND hwnd;
SwapChain swap; SwapChain swap;
ComSmartPtr<ID2D1DeviceContext1> deviceContext; ComSmartPtr<ID2D1DeviceContext1> deviceContext;
std::unique_ptr<SwapChainThread> swapChainThread;
std::optional<CompositionTree> compositionTree; std::optional<CompositionTree> compositionTree;
SwapchainDelegate& delegate;
// Areas that must be repainted during the next paint call, between startFrame/endFrame // Areas that must be repainted during the next paint call, between startFrame/endFrame
RectangleList<int> deferredRepaints; RectangleList<int> deferredRepaints;
@ -402,16 +314,6 @@ private:
std::vector<RECT> dirtyRectangles; std::vector<RECT> dirtyRectangles;
int64 lastFinishFrameTicks = 0; 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 bool prepare() override
{ {
const auto adapter = getDefaultAdapter(); const auto adapter = getDefaultAdapter();
@ -437,10 +339,6 @@ private:
return false; return false;
} }
if (swapChainThread == nullptr)
if (auto* e = swap.getEvent())
swapChainThread = std::make_unique<SwapChainThread> (*this, e->getHandle());
if (! compositionTree.has_value()) if (! compositionTree.has_value())
compositionTree = CompositionTree::create (adapter->dxgiDevice, hwnd, swap.getChain()); compositionTree = CompositionTree::create (adapter->dxgiDevice, hwnd, swap.getChain());
@ -453,7 +351,6 @@ private:
void teardown() override void teardown() override
{ {
compositionTree.reset(); compositionTree.reset();
swapChainThread = nullptr;
deviceContext = nullptr; deviceContext = nullptr;
swap = {}; swap = {};
@ -476,7 +373,6 @@ private:
bool ready = Pimpl::checkPaintReady(); bool ready = Pimpl::checkPaintReady();
ready &= swap.canPaint(); ready &= swap.canPaint();
ready &= compositionTree.has_value(); ready &= compositionTree.has_value();
ready &= swapEventReceived;
return ready; return ready;
} }
@ -484,10 +380,9 @@ private:
JUCE_DECLARE_WEAK_REFERENCEABLE (HwndPimpl) JUCE_DECLARE_WEAK_REFERENCEABLE (HwndPimpl)
public: public:
HwndPimpl (Direct2DHwndContext& ownerIn, HWND hwndIn, SwapchainDelegate& swapDelegate) HwndPimpl (Direct2DHwndContext& ownerIn, HWND hwndIn)
: Pimpl (ownerIn), : Pimpl (ownerIn),
hwnd (hwndIn), hwnd (hwndIn)
delegate (swapDelegate)
{ {
} }
@ -589,7 +484,7 @@ public:
{ {
JUCE_D2DMETRICS_SCOPED_ELAPSED_TIME (getMetrics(), present1Duration); JUCE_D2DMETRICS_SCOPED_ELAPSED_TIME (getMetrics(), present1Duration);
if (swap.getBuffer() == nullptr || dirtyRegionsInBackBuffer.isEmpty() || ! swapEventReceived) if (swap.getBuffer() == nullptr || dirtyRegionsInBackBuffer.isEmpty())
return; return;
auto const swapChainSize = swap.getSize(); auto const swapChainSize = swap.getSize();
@ -622,10 +517,6 @@ public:
if (FAILED (hr)) if (FAILED (hr))
return; 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. // There's nothing waiting to be displayed in the backbuffer.
dirtyRegionsInBackBuffer.clear(); dirtyRegionsInBackBuffer.clear();
@ -687,7 +578,7 @@ public:
}; };
//============================================================================== //==============================================================================
Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle, SwapchainDelegate& swapDelegate) Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle)
{ {
#if JUCE_DIRECT2D_METRICS #if JUCE_DIRECT2D_METRICS
metrics = new Direct2DMetrics { Direct2DMetricsHub::getInstance()->lock, metrics = new Direct2DMetrics { Direct2DMetricsHub::getInstance()->lock,
@ -696,7 +587,7 @@ Direct2DHwndContext::Direct2DHwndContext (HWND windowHandle, SwapchainDelegate&
Direct2DMetricsHub::getInstance()->add (metrics); Direct2DMetricsHub::getInstance()->add (metrics);
#endif #endif
pimpl = std::make_unique<HwndPimpl> (*this, windowHandle, swapDelegate); pimpl = std::make_unique<HwndPimpl> (*this, windowHandle);
} }
Direct2DHwndContext::~Direct2DHwndContext() Direct2DHwndContext::~Direct2DHwndContext()

View file

@ -38,13 +38,7 @@ namespace juce
class Direct2DHwndContext : public Direct2DGraphicsContext class Direct2DHwndContext : public Direct2DGraphicsContext
{ {
public: public:
struct SwapchainDelegate explicit Direct2DHwndContext (HWND windowHandle);
{
virtual ~SwapchainDelegate() = default;
virtual void onSwapchainEvent() = 0;
};
Direct2DHwndContext (HWND windowHandle, SwapchainDelegate& swapDelegate);
~Direct2DHwndContext() override; ~Direct2DHwndContext() override;
void handleShowWindow(); void handleShowWindow();

View file

@ -1268,7 +1268,6 @@ struct RenderContext
virtual void updateConstantAlpha() = 0; virtual void updateConstantAlpha() = 0;
virtual void handlePaintMessage() = 0; virtual void handlePaintMessage() = 0;
virtual void repaint (const Rectangle<int>& area) = 0; virtual void repaint (const Rectangle<int>& area) = 0;
virtual void dispatchDeferredRepaints() = 0;
virtual void performAnyPendingRepaintsNow() = 0; virtual void performAnyPendingRepaintsNow() = 0;
virtual void onVBlank() = 0; virtual void onVBlank() = 0;
virtual void handleShowWindow() = 0; virtual void handleShowWindow() = 0;
@ -1724,12 +1723,6 @@ public:
renderContext->repaint ((area.toDouble() * getPlatformScaleFactor()).getSmallestIntegerContainer()); renderContext->repaint ((area.toDouble() * getPlatformScaleFactor()).getSmallestIntegerContainer());
} }
void dispatchDeferredRepaints()
{
if (renderContext != nullptr)
renderContext->dispatchDeferredRepaints();
}
void performAnyPendingRepaintsNow() override void performAnyPendingRepaintsNow() override
{ {
if (renderContext != nullptr) if (renderContext != nullptr)
@ -1748,7 +1741,6 @@ public:
void onVBlank (double timestampSec) override void onVBlank (double timestampSec) override
{ {
callVBlankListeners (timestampSec); callVBlankListeners (timestampSec);
dispatchDeferredRepaints();
if (renderContext != nullptr) if (renderContext != nullptr)
renderContext->onVBlank(); renderContext->onVBlank();
@ -4779,23 +4771,12 @@ public:
deferredRepaints.add (area); 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 void performAnyPendingRepaintsNow() override
{ {
if (! peer.getComponent().isVisible()) if (! peer.getComponent().isVisible())
return; return;
dispatchDeferredRepaints(); onVBlank();
WeakReference localRef (&peer.getComponent()); WeakReference localRef (&peer.getComponent());
MSG m; MSG m;
@ -4815,7 +4796,16 @@ public:
: createSnapshotOfNormalWindow(); : 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 {} void handleShowWindow() override {}
@ -5057,8 +5047,7 @@ private:
RectangleList<int> deferredRepaints; RectangleList<int> deferredRepaints;
}; };
class D2DRenderContext : public RenderContext, class D2DRenderContext : public RenderContext
private Direct2DHwndContext::SwapchainDelegate
{ {
public: public:
static constexpr auto name = "Direct2D"; static constexpr auto name = "Direct2D";
@ -5077,7 +5066,7 @@ public:
if (transparent != direct2DContext->supportsTransparency()) if (transparent != direct2DContext->supportsTransparency())
{ {
direct2DContext.reset(); direct2DContext.reset();
direct2DContext = getContextForPeer (peer, *this); direct2DContext = getContextForPeer (peer);
} }
if (direct2DContext->supportsTransparency()) if (direct2DContext->supportsTransparency())
@ -5093,20 +5082,20 @@ public:
updateRegion.findRECTAndValidate (peer.getHWND()); updateRegion.findRECTAndValidate (peer.getHWND());
for (const auto& rect : updateRegion.getRects()) for (const auto& rect : updateRegion.getRects())
repaint (D2DUtilities::toRectangle (rect)); direct2DContext->addDeferredRepaint (D2DUtilities::toRectangle (rect));
#if JUCE_DIRECT2D_METRICS #if JUCE_DIRECT2D_METRICS
lastPaintStartTicks = paintStartTicks; lastPaintStartTicks = paintStartTicks;
#endif #endif
handleDirect2DPaint();
} }
void repaint (const Rectangle<int>& area) override void repaint (const Rectangle<int>& area) override
{ {
direct2DContext->addDeferredRepaint (area); deferredRepaints.add (area);
} }
void dispatchDeferredRepaints() override {}
void performAnyPendingRepaintsNow() override {} void performAnyPendingRepaintsNow() override {}
Image createSnapshot() override Image createSnapshot() override
@ -5116,7 +5105,13 @@ public:
void onVBlank() override void onVBlank() override
{ {
handleDirect2DPaint(); for (auto deferredRect : deferredRepaints)
{
auto r = D2DUtilities::toRECT (deferredRect);
InvalidateRect (peer.getHWND(), &r, FALSE);
}
deferredRepaints.clear();
} }
void handleShowWindow() override void handleShowWindow() override
@ -5126,11 +5121,6 @@ public:
} }
private: private:
void onSwapchainEvent() override
{
handleDirect2DPaint();
}
struct WrappedD2DHwndContextBase struct WrappedD2DHwndContextBase
{ {
virtual ~WrappedD2DHwndContextBase() = default; virtual ~WrappedD2DHwndContextBase() = default;
@ -5161,8 +5151,8 @@ private:
class WrappedD2DHwndContext : public WrappedD2DHwndContextBase class WrappedD2DHwndContext : public WrappedD2DHwndContextBase
{ {
public: public:
WrappedD2DHwndContext (HWND hwnd, SwapchainDelegate& swapDelegate) explicit WrappedD2DHwndContext (HWND hwnd)
: ctx (hwnd, swapDelegate) {} : ctx (hwnd) {}
void addDeferredRepaint (Rectangle<int> area) override void addDeferredRepaint (Rectangle<int> area) override
{ {
@ -5478,19 +5468,19 @@ private:
#endif #endif
} }
static std::unique_ptr<WrappedD2DHwndContextBase> getContextForPeer (HWNDComponentPeer& peer, static std::unique_ptr<WrappedD2DHwndContextBase> getContextForPeer (HWNDComponentPeer& peer)
SwapchainDelegate& delegate)
{ {
if (peer.getTransparencyKind() != HWNDComponentPeer::TransparencyKind::opaque) if (peer.getTransparencyKind() != HWNDComponentPeer::TransparencyKind::opaque)
return std::make_unique<WrappedD2DHwndContextTransparent> (peer); return std::make_unique<WrappedD2DHwndContextTransparent> (peer);
return std::make_unique<WrappedD2DHwndContext> (peer.getHWND(), delegate); return std::make_unique<WrappedD2DHwndContext> (peer.getHWND());
} }
HWNDComponentPeer& peer; HWNDComponentPeer& peer;
std::unique_ptr<WrappedD2DHwndContextBase> direct2DContext = getContextForPeer (peer, *this); std::unique_ptr<WrappedD2DHwndContextBase> direct2DContext = getContextForPeer (peer);
UpdateRegion updateRegion; UpdateRegion updateRegion;
RectangleList<int> deferredRepaints;
#if JUCE_ETW_TRACELOGGING #if JUCE_ETW_TRACELOGGING
struct ETWEventProvider struct ETWEventProvider

View file

@ -1332,9 +1332,8 @@ public:
g.fillAll (Colours::white); 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, CommandReceiver::sendCommand (outChannel,
@ -1374,7 +1373,7 @@ public:
}); });
auto& cb = evaluationCallbacks.front(); auto& cb = evaluationCallbacks.front();
cb (result); NullCheckedInvocation::invoke (cb, result);
evaluationCallbacks.pop_front(); evaluationCallbacks.pop_front();
} }