diff --git a/examples/DemoRunner/Builds/MacOSX/Info-App.plist b/examples/DemoRunner/Builds/MacOSX/Info-App.plist index bce688bec3..aa1ff3067d 100644 --- a/examples/DemoRunner/Builds/MacOSX/Info-App.plist +++ b/examples/DemoRunner/Builds/MacOSX/Info-App.plist @@ -3,6 +3,10 @@ + NSMicrophoneUsageDescription + This app requires requires audio input. If you do not have an audio interface connected it will use the built-in microphone. + NSCameraUsageDescription + This app requires access to the camera function correctly. CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile diff --git a/examples/DemoRunner/Builds/iOS/Info-App.plist b/examples/DemoRunner/Builds/iOS/Info-App.plist index 72a50cf557..b2f4466571 100644 --- a/examples/DemoRunner/Builds/iOS/Info-App.plist +++ b/examples/DemoRunner/Builds/iOS/Info-App.plist @@ -3,12 +3,12 @@ + NSMicrophoneUsageDescription + This app requires requires audio input. If you do not have an audio interface connected it will use the built-in microphone. + NSCameraUsageDescription + This app requires access to the camera function correctly. LSRequiresIPhoneOS - NSMicrophoneUsageDescription - This is an audio app which requires audio input. If you do not have a USB audio interface connected it will use the microphone. - NSCameraUsageDescription - This app requires camera usage to function properly. UIViewControllerBasedStatusBarAppearance CFBundleExecutable diff --git a/examples/DemoRunner/DemoRunner.jucer b/examples/DemoRunner/DemoRunner.jucer index fb99259b80..d0c76f7105 100644 --- a/examples/DemoRunner/DemoRunner.jucer +++ b/examples/DemoRunner/DemoRunner.jucer @@ -31,7 +31,8 @@ + customXcodeResourceFolders="../Audio ../BLOCKS ../DSP ../GUI ../Utilities" + microphonePermissionNeeded="1" cameraPermissionNeeded="1"> diff --git a/extras/AudioPluginHost/AudioPluginHost.jucer b/extras/AudioPluginHost/AudioPluginHost.jucer index 97830c7728..f7be833608 100644 --- a/extras/AudioPluginHost/AudioPluginHost.jucer +++ b/extras/AudioPluginHost/AudioPluginHost.jucer @@ -8,7 +8,7 @@ + smallIcon="c97aUr" bigIcon="c97aUr" microphonePermissionNeeded="1"> diff --git a/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj index 980d9afd3d..6a38474a1c 100644 --- a/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj +++ b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj @@ -792,7 +792,7 @@ ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( - "../../../../modules/juce_audio_processors/format_types/VST3_SDK", + "$(HOME)/SDKs/VST_SDK/VST3_SDK", "../../JuceLibraryCode", "../../../../modules", "$(inherited)", @@ -839,7 +839,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( - "../../../../modules/juce_audio_processors/format_types/VST3_SDK", + "$(HOME)/SDKs/VST_SDK/VST3_SDK", "../../JuceLibraryCode", "../../../../modules", "$(inherited)", diff --git a/extras/AudioPluginHost/Builds/MacOSX/Info-App.plist b/extras/AudioPluginHost/Builds/MacOSX/Info-App.plist index bc0a892855..a4a8bf50b8 100644 --- a/extras/AudioPluginHost/Builds/MacOSX/Info-App.plist +++ b/extras/AudioPluginHost/Builds/MacOSX/Info-App.plist @@ -3,6 +3,8 @@ + NSMicrophoneUsageDescription + This app requires requires audio input. If you do not have an audio interface connected it will use the built-in microphone. CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile diff --git a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj index 58d5b27d7b..002803758f 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj @@ -71,7 +71,7 @@ Disabled ProgramDatabase - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -113,7 +113,7 @@ Full - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj index 54cf3dc29d..3d9ac012d8 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj @@ -71,7 +71,7 @@ Disabled ProgramDatabase - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -112,7 +112,7 @@ Full - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj index 217bc75afd..95815b832f 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj @@ -71,7 +71,7 @@ Disabled ProgramDatabase - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -113,7 +113,7 @@ Full - ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj index 349d1ce32e..a47c9df05b 100644 --- a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj +++ b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj @@ -794,7 +794,7 @@ ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( - "../../../../modules/juce_audio_processors/format_types/VST3_SDK", + "$(HOME)/SDKs/VST_SDK/VST3_SDK", "../../JuceLibraryCode", "../../../../modules", "$(inherited)", @@ -839,7 +839,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( - "../../../../modules/juce_audio_processors/format_types/VST3_SDK", + "$(HOME)/SDKs/VST_SDK/VST3_SDK", "../../JuceLibraryCode", "../../../../modules", "$(inherited)", diff --git a/extras/AudioPluginHost/Builds/iOS/Info-App.plist b/extras/AudioPluginHost/Builds/iOS/Info-App.plist index 209e253f24..d0194d14b1 100644 --- a/extras/AudioPluginHost/Builds/iOS/Info-App.plist +++ b/extras/AudioPluginHost/Builds/iOS/Info-App.plist @@ -3,10 +3,10 @@ + NSMicrophoneUsageDescription + This app requires requires audio input. If you do not have an audio interface connected it will use the built-in microphone. LSRequiresIPhoneOS - NSMicrophoneUsageDescription - This is an audio app which requires audio input. If you do not have a USB audio interface connected it will use the microphone. UIViewControllerBasedStatusBarAppearance CFBundleExecutable diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h index 136a781944..490c686840 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h @@ -75,10 +75,10 @@ public: customXcassetsFolderValue (settings, Ids::customXcassetsFolder, getUndoManager()), microphonePermissionNeededValue (settings, Ids::microphonePermissionNeeded, getUndoManager()), microphonePermissionsTextValue (settings, Ids::microphonePermissionsText, getUndoManager(), - "This is an audio app which requires audio input. If you do not have a USB audio interface connected it will use the microphone."), + "This app requires requires audio input. If you do not have an audio interface connected it will use the built-in microphone."), cameraPermissionNeededValue (settings, Ids::cameraPermissionNeeded, getUndoManager()), cameraPermissionTextValue (settings, Ids::cameraPermissionText, getUndoManager(), - "This app requires camera usage to function properly."), + "This app requires access to the camera function correctly."), uiFileSharingEnabledValue (settings, Ids::UIFileSharingEnabled, getUndoManager()), uiSupportsDocumentBrowserValue (settings, Ids::UISupportsDocumentBrowser, getUndoManager()), uiStatusBarHiddenValue (settings, Ids::UIStatusBarHidden, getUndoManager()), @@ -241,22 +241,6 @@ public: props.add (new ChoicePropertyComponent (uiStatusBarHiddenValue, "Status Bar Hidden"), "Enable this to disable the status bar in your app."); - - props.add (new ChoicePropertyComponent (microphonePermissionNeededValue, "Microphone Access"), - "Enable this to allow your app to use the microphone. " - "The user of your app will be prompted to grant microphone access permissions."); - - props.add (new TextPropertyComponentWithEnablement (microphonePermissionsTextValue, microphonePermissionNeededValue, - "Microphone Access Text", 1024, false), - "A short description of why your app requires microphone access."); - - props.add (new ChoicePropertyComponent (cameraPermissionNeededValue, "Camera Access"), - "Enable this to allow your app to use the camera. " - "The user of your app will be prompted to grant camera access permissions."); - - props.add (new TextPropertyComponentWithEnablement (cameraPermissionTextValue, cameraPermissionNeededValue, - "Camera Access Text", 1024, false), - "A short description of why your app requires camera access."); } else if (projectType.isGUIApplication()) { @@ -265,6 +249,22 @@ public: "Using a leading '.' is optional, and the extensions are not case-sensitive."); } + props.add (new ChoicePropertyComponent (microphonePermissionNeededValue, "Microphone Access"), + "Enable this to allow your app to use the microphone. " + "The user of your app will be prompted to grant microphone access permissions."); + + props.add (new TextPropertyComponentWithEnablement (microphonePermissionsTextValue, microphonePermissionNeededValue, + "Microphone Access Text", 1024, false), + "A short description of why your app requires microphone access."); + + props.add (new ChoicePropertyComponent (cameraPermissionNeededValue, "Camera Access"), + "Enable this to allow your app to use the camera. " + "The user of your app will be prompted to grant camera access permissions."); + + props.add (new TextPropertyComponentWithEnablement (cameraPermissionTextValue, cameraPermissionNeededValue, + "Camera Access Text", 1024, false), + "A short description of why your app requires camera access."); + props.add (new ChoicePropertyComponent (iosInAppPurchasesValue, "In-App Purchases Capability"), "Enable this to grant your app the capability for in-app purchases. " "This option requires that you specify a valid Development Team ID."); @@ -1345,16 +1345,16 @@ public: if (dict == nullptr) dict = plist->createNewChildElement ("dict"); + if (owner.isMicrophonePermissionEnabled()) + addPlistDictionaryKey (dict, "NSMicrophoneUsageDescription", owner.getMicrophonePermissionsTextString()); + + if (owner.isCameraPermissionEnabled()) + addPlistDictionaryKey (dict, "NSCameraUsageDescription", owner.getCameraPermissionTextString()); + if (owner.iOS) { addPlistDictionaryKeyBool (dict, "LSRequiresIPhoneOS", true); - if (owner.isMicrophonePermissionEnabled()) - addPlistDictionaryKey (dict, "NSMicrophoneUsageDescription", owner.getMicrophonePermissionsTextString()); - - if (owner.isCameraPermissionEnabled()) - addPlistDictionaryKey (dict, "NSCameraUsageDescription", owner.getCameraPermissionTextString()); - if (type != AudioUnitv3PlugIn) addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false); }