diff --git a/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj
index 4b5ea8a346..609e21aee8 100644
--- a/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj
+++ b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj
@@ -745,7 +745,7 @@
9ABBEEC4C47DAD09F4B221C1, ); runOnlyForDeploymentPostprocessing = 0; };
CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = (
1F4A8812AAE49E02F3215F48, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth - Shared Code"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productType = "com.apple.product-type.library.static"; };
- D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };73F4C13CDCAC7EE5914F2E61 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };386D3CCDC878EC299C56FB39 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };D493488C4B5B9D9B5990FEE2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 73F4C13CDCAC7EE5914F2E61, 386D3CCDC878EC299C56FB39, 7A046597FDDDB82B78C64AAC, D493488C4B5B9D9B5990FEE2, CD6892FED0DB19C0DDD9AD37); };
+ D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };73F4C13CDCAC7EE5914F2E61 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };386D3CCDC878EC299C56FB39 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };D493488C4B5B9D9B5990FEE2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 73F4C13CDCAC7EE5914F2E61, 386D3CCDC878EC299C56FB39, 7A046597FDDDB82B78C64AAC, D493488C4B5B9D9B5990FEE2, CD6892FED0DB19C0DDD9AD37); };
};
rootObject = D0E003364F0BE3205BD9243E;
}
diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj b/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj
index 2b52917402..40cded1eff 100644
--- a/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj
+++ b/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj
@@ -582,7 +582,7 @@
9ABBEEC4C47DAD09F4B221C1, ); runOnlyForDeploymentPostprocessing = 0; };
CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = (
1F4A8812AAE49E02F3215F48, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth - Shared Code"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productType = "com.apple.product-type.library.static"; };
- D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };D493488C4B5B9D9B5990FEE2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 7A046597FDDDB82B78C64AAC, D493488C4B5B9D9B5990FEE2, CD6892FED0DB19C0DDD9AD37); };
+ D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };D493488C4B5B9D9B5990FEE2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 7A046597FDDDB82B78C64AAC, D493488C4B5B9D9B5990FEE2, CD6892FED0DB19C0DDD9AD37); };
};
rootObject = D0E003364F0BE3205BD9243E;
}
diff --git a/examples/AnalyticsCollection/Builds/Android/app/src/main/java/com/yourcompany/analyticscollection/AnalyticsCollection.java b/examples/AnalyticsCollection/Builds/Android/app/src/main/java/com/yourcompany/analyticscollection/AnalyticsCollection.java
index ad3029234b..332bffe462 100644
--- a/examples/AnalyticsCollection/Builds/Android/app/src/main/java/com/yourcompany/analyticscollection/AnalyticsCollection.java
+++ b/examples/AnalyticsCollection/Builds/Android/app/src/main/java/com/yourcompany/analyticscollection/AnalyticsCollection.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class AnalyticsCollection extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/AnalyticsCollection/Builds/MacOSX/AnalyticsCollection.xcodeproj/project.pbxproj b/examples/AnalyticsCollection/Builds/MacOSX/AnalyticsCollection.xcodeproj/project.pbxproj
index 999a8abbc9..c922fe2912 100644
--- a/examples/AnalyticsCollection/Builds/MacOSX/AnalyticsCollection.xcodeproj/project.pbxproj
+++ b/examples/AnalyticsCollection/Builds/MacOSX/AnalyticsCollection.xcodeproj/project.pbxproj
@@ -245,7 +245,7 @@
9DE971716CBA79E89467EFD0,
A01C1A7AFBB72E638096E0BA,
32F46511CABBD859FD1D427D, ); buildRules = ( ); dependencies = ( ); name = "AnalyticsCollection - App"; productName = AnalyticsCollection; productReference = 707149C59A1AF9752E428B97; productType = "com.apple.product-type.application"; };
- 8C6201B9CB81795542E3302D = {isa = PBXProject; buildConfigurationList = 65535D1056F6B2C9C545923E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 3195ADB3A101AAE977C998D2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5CB45B3816ED17D0620DDEBF; projectDirPath = ""; projectRoot = ""; targets = (3195ADB3A101AAE977C998D2); };
+ 8C6201B9CB81795542E3302D = {isa = PBXProject; buildConfigurationList = 65535D1056F6B2C9C545923E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 3195ADB3A101AAE977C998D2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5CB45B3816ED17D0620DDEBF; projectDirPath = ""; projectRoot = ""; targets = (3195ADB3A101AAE977C998D2); };
};
rootObject = 8C6201B9CB81795542E3302D;
}
diff --git a/examples/AnalyticsCollection/Builds/iOS/AnalyticsCollection.xcodeproj/project.pbxproj b/examples/AnalyticsCollection/Builds/iOS/AnalyticsCollection.xcodeproj/project.pbxproj
index 3086450b1b..5875947fd9 100644
--- a/examples/AnalyticsCollection/Builds/iOS/AnalyticsCollection.xcodeproj/project.pbxproj
+++ b/examples/AnalyticsCollection/Builds/iOS/AnalyticsCollection.xcodeproj/project.pbxproj
@@ -259,7 +259,7 @@
9DE971716CBA79E89467EFD0,
A01C1A7AFBB72E638096E0BA,
32F46511CABBD859FD1D427D, ); buildRules = ( ); dependencies = ( ); name = "AnalyticsCollection - App"; productName = AnalyticsCollection; productReference = 707149C59A1AF9752E428B97; productType = "com.apple.product-type.application"; };
- 8C6201B9CB81795542E3302D = {isa = PBXProject; buildConfigurationList = 65535D1056F6B2C9C545923E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 3195ADB3A101AAE977C998D2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5CB45B3816ED17D0620DDEBF; projectDirPath = ""; projectRoot = ""; targets = (3195ADB3A101AAE977C998D2); };
+ 8C6201B9CB81795542E3302D = {isa = PBXProject; buildConfigurationList = 65535D1056F6B2C9C545923E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 3195ADB3A101AAE977C998D2 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5CB45B3816ED17D0620DDEBF; projectDirPath = ""; projectRoot = ""; targets = (3195ADB3A101AAE977C998D2); };
};
rootObject = 8C6201B9CB81795542E3302D;
}
diff --git a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj
index 3362ef0f1e..b03d1a6db0 100644
--- a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj
+++ b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj
@@ -323,7 +323,7 @@
6DD59723DA58F112C3C6F427,
2CCE82C7290D2D226DD34C0B,
4516F5A575174EF76FEAD8B3, ); buildRules = ( ); dependencies = ( ); name = "AnimationAppExample - App"; productName = AnimationAppExample; productReference = CBF69B3CBCD089CD7DC8343C; productType = "com.apple.product-type.application"; };
- AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); };
+ AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); };
};
rootObject = AEF97977FF56185DB5E0C493;
}
diff --git a/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj b/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj
index c0b7dcff5a..0eb9f9a02a 100644
--- a/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj
+++ b/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj
@@ -1640,6 +1640,9 @@
true
+
+ true
+
true
@@ -2271,6 +2274,7 @@
+
diff --git a/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj.filters b/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj.filters
index 2b43085d33..dc87996608 100644
--- a/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj.filters
+++ b/examples/AnimationAppExample/Builds/VisualStudio2017/AnimationAppExample_App.vcxproj.filters
@@ -1936,6 +1936,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3714,6 +3717,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj
index 61e6a0f237..0a36b68357 100644
--- a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj
+++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj
@@ -333,7 +333,7 @@
6DD59723DA58F112C3C6F427,
2CCE82C7290D2D226DD34C0B,
4516F5A575174EF76FEAD8B3, ); buildRules = ( ); dependencies = ( ); name = "AnimationAppExample - App"; productName = AnimationAppExample; productReference = CBF69B3CBCD089CD7DC8343C; productType = "com.apple.product-type.application"; };
- AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); };
+ AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); };
};
rootObject = AEF97977FF56185DB5E0C493;
}
diff --git a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj
index 88639ece13..b427025023 100644
--- a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj
+++ b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj
@@ -333,7 +333,7 @@
3602833D915A2AC7C25F537F,
BC3ECD5BCB6580E951083B7E,
C9974DDFB456D5307D4C29F3, ); buildRules = ( ); dependencies = ( ); name = "AudioAppExample - App"; productName = AudioAppExample; productReference = 9C71E9533EDADF610F789D88; productType = "com.apple.product-type.application"; };
- 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); };
+ 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); };
};
rootObject = 0E00FEF4A999DE35888889AE;
}
diff --git a/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj b/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj
index 71a35cadec..7546992c4f 100644
--- a/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj
+++ b/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj
@@ -1688,6 +1688,9 @@
true
+
+ true
+
true
@@ -2333,6 +2336,7 @@
+
diff --git a/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj.filters b/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj.filters
index 34ef2125ff..07ee12a706 100644
--- a/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj.filters
+++ b/examples/AudioAppExample/Builds/VisualStudio2017/AudioAppExample_App.vcxproj.filters
@@ -2014,6 +2014,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3834,6 +3837,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj
index 304836941b..fab5533028 100644
--- a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj
+++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj
@@ -343,7 +343,7 @@
3602833D915A2AC7C25F537F,
BC3ECD5BCB6580E951083B7E,
C9974DDFB456D5307D4C29F3, ); buildRules = ( ); dependencies = ( ); name = "AudioAppExample - App"; productName = AudioAppExample; productReference = 9C71E9533EDADF610F789D88; productType = "com.apple.product-type.application"; };
- 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); };
+ 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); };
};
rootObject = 0E00FEF4A999DE35888889AE;
}
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj
index 27cae28a25..7307867a4f 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj
@@ -319,7 +319,7 @@
B64F4B6419098A6C579D0EDB,
6F1EAB6EC19EDAB88EF14DE0,
704E8CB52C968D24DAE2ABD5, ); buildRules = ( ); dependencies = ( ); name = "BlocksDrawing - App"; productName = BlocksDrawing; productReference = 7A425A86C84D843976582BAF; productType = "com.apple.product-type.application"; };
- 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
+ 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
};
rootObject = 46C68557D30B3B44D3FE037B;
}
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj
index e6159f3396..1b68588203 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj
+++ b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj
@@ -1685,6 +1685,9 @@
true
+
+ true
+
true
@@ -2338,6 +2341,7 @@
+
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj.filters b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj.filters
index 81a0d039fc..f6cd110260 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3864,6 +3867,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj
index 6f15edfbf9..07a9411678 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj
+++ b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj
@@ -1685,6 +1685,9 @@
true
+
+ true
+
true
@@ -2338,6 +2341,7 @@
+
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj.filters b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj.filters
index 20f0b92391..3ccfbe2dfc 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2017/BlocksDrawing_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3864,6 +3867,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj
index 2ee5260521..b6bd748c58 100644
--- a/examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj
@@ -333,7 +333,7 @@
B64F4B6419098A6C579D0EDB,
6F1EAB6EC19EDAB88EF14DE0,
704E8CB52C968D24DAE2ABD5, ); buildRules = ( ); dependencies = ( ); name = "BlocksDrawing - App"; productName = BlocksDrawing; productReference = 7A425A86C84D843976582BAF; productType = "com.apple.product-type.application"; };
- 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
+ 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
};
rootObject = 46C68557D30B3B44D3FE037B;
}
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj
index e779c4c13d..5cf0c7b4ad 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj
@@ -315,7 +315,7 @@
D08BB290D5F778E1450AD3F3,
9C2AF708958E95C688544D95,
2410311707C8C7B9E6CFE23D, ); buildRules = ( ); dependencies = ( ); name = "BlocksMonitor - App"; productName = BlocksMonitor; productReference = 00558AF4AA37DD00B15B21A8; productType = "com.apple.product-type.application"; };
- B42B7651E1352BD7921E5754 = {isa = PBXProject; buildConfigurationList = 61CDB68D74329CF066EA57D6; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 9C6BA11D1261B15A2F52EB60 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5D6DAC6A0A862ED325F1DB34; projectDirPath = ""; projectRoot = ""; targets = (9C6BA11D1261B15A2F52EB60); };
+ B42B7651E1352BD7921E5754 = {isa = PBXProject; buildConfigurationList = 61CDB68D74329CF066EA57D6; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 9C6BA11D1261B15A2F52EB60 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5D6DAC6A0A862ED325F1DB34; projectDirPath = ""; projectRoot = ""; targets = (9C6BA11D1261B15A2F52EB60); };
};
rootObject = B42B7651E1352BD7921E5754;
}
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj
index 77a1d74d9b..f190d2dcac 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj
+++ b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj
@@ -1684,6 +1684,9 @@
true
+
+ true
+
true
@@ -2337,6 +2340,7 @@
+
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj.filters b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj.filters
index d38f1f2e47..40fed62c91 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor_App.vcxproj.filters
@@ -2002,6 +2002,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3861,6 +3864,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj
index d73badfafe..a98b8bd778 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj
+++ b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj
@@ -1684,6 +1684,9 @@
true
+
+ true
+
true
@@ -2337,6 +2340,7 @@
+
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj.filters b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj.filters
index a1aabb8ff4..bc27fe9de9 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2017/BlocksMonitor_App.vcxproj.filters
@@ -2002,6 +2002,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3861,6 +3864,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksMonitor/Builds/iOS/BlocksMonitor.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksMonitor/Builds/iOS/BlocksMonitor.xcodeproj/project.pbxproj
index 49c7ecf6ff..5ff1081540 100644
--- a/examples/BLOCKS/BlocksMonitor/Builds/iOS/BlocksMonitor.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksMonitor/Builds/iOS/BlocksMonitor.xcodeproj/project.pbxproj
@@ -329,7 +329,7 @@
D08BB290D5F778E1450AD3F3,
9C2AF708958E95C688544D95,
2410311707C8C7B9E6CFE23D, ); buildRules = ( ); dependencies = ( ); name = "BlocksMonitor - App"; productName = BlocksMonitor; productReference = 00558AF4AA37DD00B15B21A8; productType = "com.apple.product-type.application"; };
- B42B7651E1352BD7921E5754 = {isa = PBXProject; buildConfigurationList = 61CDB68D74329CF066EA57D6; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 9C6BA11D1261B15A2F52EB60 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5D6DAC6A0A862ED325F1DB34; projectDirPath = ""; projectRoot = ""; targets = (9C6BA11D1261B15A2F52EB60); };
+ B42B7651E1352BD7921E5754 = {isa = PBXProject; buildConfigurationList = 61CDB68D74329CF066EA57D6; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 9C6BA11D1261B15A2F52EB60 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5D6DAC6A0A862ED325F1DB34; projectDirPath = ""; projectRoot = ""; targets = (9C6BA11D1261B15A2F52EB60); };
};
rootObject = B42B7651E1352BD7921E5754;
}
diff --git a/examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj
index dfb0e1624d..ae66d73d9d 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj
@@ -321,7 +321,7 @@
B62995CCD71EBA82C2BC1692,
C8A1585A07BDCD77C240ECAA,
1EFBDD8D783B94E754626B32, ); buildRules = ( ); dependencies = ( ); name = "BlocksSynth - App"; productName = BlocksSynth; productReference = D778C2ED7EA9D5EDCFBA1507; productType = "com.apple.product-type.application"; };
- C28D173095C609C48901860E = {isa = PBXProject; buildConfigurationList = F2BDE5D743A9870C169E5CC8; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 0B9ADB15A71FB90DD6919895 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0F4E2B72B683E9B48DF13DDB; projectDirPath = ""; projectRoot = ""; targets = (0B9ADB15A71FB90DD6919895); };
+ C28D173095C609C48901860E = {isa = PBXProject; buildConfigurationList = F2BDE5D743A9870C169E5CC8; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 0B9ADB15A71FB90DD6919895 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0F4E2B72B683E9B48DF13DDB; projectDirPath = ""; projectRoot = ""; targets = (0B9ADB15A71FB90DD6919895); };
};
rootObject = C28D173095C609C48901860E;
}
diff --git a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj
index d23ae37c8a..a28c42f13a 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj
+++ b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj
@@ -1684,6 +1684,9 @@
true
+
+ true
+
true
@@ -2339,6 +2342,7 @@
+
diff --git a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj.filters b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj.filters
index 54bc2bc9fd..1554f2014b 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3870,6 +3873,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj
index 8b2d0b6d50..2776efbe94 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj
+++ b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj
@@ -1684,6 +1684,9 @@
true
+
+ true
+
true
@@ -2339,6 +2342,7 @@
+
diff --git a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj.filters b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj.filters
index a525f9d359..f540674cee 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj.filters
+++ b/examples/BLOCKS/BlocksSynth/Builds/VisualStudio2017/BlocksSynth_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3870,6 +3873,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BLOCKS/BlocksSynth/Builds/iOS/BlocksSynth.xcodeproj/project.pbxproj b/examples/BLOCKS/BlocksSynth/Builds/iOS/BlocksSynth.xcodeproj/project.pbxproj
index 04bf245152..7e41b09ec1 100644
--- a/examples/BLOCKS/BlocksSynth/Builds/iOS/BlocksSynth.xcodeproj/project.pbxproj
+++ b/examples/BLOCKS/BlocksSynth/Builds/iOS/BlocksSynth.xcodeproj/project.pbxproj
@@ -335,7 +335,7 @@
B62995CCD71EBA82C2BC1692,
C8A1585A07BDCD77C240ECAA,
1EFBDD8D783B94E754626B32, ); buildRules = ( ); dependencies = ( ); name = "BlocksSynth - App"; productName = BlocksSynth; productReference = D778C2ED7EA9D5EDCFBA1507; productType = "com.apple.product-type.application"; };
- C28D173095C609C48901860E = {isa = PBXProject; buildConfigurationList = F2BDE5D743A9870C169E5CC8; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 0B9ADB15A71FB90DD6919895 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0F4E2B72B683E9B48DF13DDB; projectDirPath = ""; projectRoot = ""; targets = (0B9ADB15A71FB90DD6919895); };
+ C28D173095C609C48901860E = {isa = PBXProject; buildConfigurationList = F2BDE5D743A9870C169E5CC8; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 0B9ADB15A71FB90DD6919895 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0F4E2B72B683E9B48DF13DDB; projectDirPath = ""; projectRoot = ""; targets = (0B9ADB15A71FB90DD6919895); };
};
rootObject = C28D173095C609C48901860E;
}
diff --git a/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj b/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj
index d7120316ba..3caf9e33cb 100644
--- a/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj
+++ b/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj
@@ -323,7 +323,7 @@
9DB3F429F51E36C0D0BA23BE,
61103B6693CEFBD075D35197,
7F8CC4D24837DC0A20E4755D, ); buildRules = ( ); dependencies = ( ); name = "BouncingBallWavetableDemo - App"; productName = BouncingBallWavetableDemo; productReference = 4AAB1224C8A731A6994D74CE; productType = "com.apple.product-type.application"; };
- 974612E740A911D4EF4009DB = {isa = PBXProject; buildConfigurationList = 188D4D6EAB63E875595F6B81; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 17E038E1F4CB0730CD868712 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3F698ABD99D14CCA53BFAF17; projectDirPath = ""; projectRoot = ""; targets = (17E038E1F4CB0730CD868712); };
+ 974612E740A911D4EF4009DB = {isa = PBXProject; buildConfigurationList = 188D4D6EAB63E875595F6B81; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 17E038E1F4CB0730CD868712 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3F698ABD99D14CCA53BFAF17; projectDirPath = ""; projectRoot = ""; targets = (17E038E1F4CB0730CD868712); };
};
rootObject = 974612E740A911D4EF4009DB;
}
diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj
index b16f484e6a..dc144ebe1f 100644
--- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj
+++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj
@@ -1688,6 +1688,9 @@
true
+
+ true
+
true
@@ -2302,6 +2305,7 @@
+
diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj.filters b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj.filters
index f64b17614b..7f26d245b5 100644
--- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj.filters
+++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo_App.vcxproj.filters
@@ -1999,6 +1999,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3783,6 +3786,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj
index d4ec0457df..f8c30de7f6 100644
--- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj
+++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj
@@ -1688,6 +1688,9 @@
true
+
+ true
+
true
@@ -2302,6 +2305,7 @@
+
diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj.filters b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj.filters
index 002f39396b..5e615adb3f 100644
--- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj.filters
+++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2017/BouncingBallWavetableDemo_App.vcxproj.filters
@@ -1999,6 +1999,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3783,6 +3786,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj
index 85abfdcd52..aa1cf6e5e1 100644
--- a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj
+++ b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj
@@ -255,7 +255,7 @@
7065518BA4A719BD600955DB,
A0BD0396A9AB3F7FCF37AD62,
8F57F6817BE0F4126A95541F, ); buildRules = ( ); dependencies = ( ); name = "ComponentTutorialExample - App"; productName = ComponentTutorialExample; productReference = 48DBB774ADD58780B75FD130; productType = "com.apple.product-type.application"; };
- 3B89677F666BF40854CDE8D3 = {isa = PBXProject; buildConfigurationList = D2C0D08571281A97A8437C77; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { FDDAB81F5F4DA48E7807E65A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D0953BB62CDDA1D6C60E6893; projectDirPath = ""; projectRoot = ""; targets = (FDDAB81F5F4DA48E7807E65A); };
+ 3B89677F666BF40854CDE8D3 = {isa = PBXProject; buildConfigurationList = D2C0D08571281A97A8437C77; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { FDDAB81F5F4DA48E7807E65A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D0953BB62CDDA1D6C60E6893; projectDirPath = ""; projectRoot = ""; targets = (FDDAB81F5F4DA48E7807E65A); };
};
rootObject = 3B89677F666BF40854CDE8D3;
}
diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj
index eeb74f3470..2c8c24c708 100644
--- a/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj
+++ b/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj
@@ -1247,6 +1247,9 @@
true
+
+ true
+
true
@@ -1650,6 +1653,7 @@
+
diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj.filters
index f796d33622..d0fc8a4ba9 100644
--- a/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj.filters
+++ b/examples/ComponentTutorialExample/Builds/VisualStudio2015/ComponentTutorialExample_App.vcxproj.filters
@@ -1378,6 +1378,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2544,6 +2547,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj
index 4442426eb4..ba81fff776 100644
--- a/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj
+++ b/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj
@@ -1247,6 +1247,9 @@
true
+
+ true
+
true
@@ -1650,6 +1653,7 @@
+
diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj.filters
index e4ecd253d3..c73376cf37 100644
--- a/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj.filters
+++ b/examples/ComponentTutorialExample/Builds/VisualStudio2017/ComponentTutorialExample_App.vcxproj.filters
@@ -1378,6 +1378,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2544,6 +2547,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/DSP module plugin demo/Builds/MacOSX/DSPModulePluginDemo.xcodeproj/project.pbxproj b/examples/DSP module plugin demo/Builds/MacOSX/DSPModulePluginDemo.xcodeproj/project.pbxproj
index 1c08edf6aa..87c8ef7b2f 100644
--- a/examples/DSP module plugin demo/Builds/MacOSX/DSPModulePluginDemo.xcodeproj/project.pbxproj
+++ b/examples/DSP module plugin demo/Builds/MacOSX/DSPModulePluginDemo.xcodeproj/project.pbxproj
@@ -675,7 +675,7 @@
86F6C3A56C105C073BB092F1, ); runOnlyForDeploymentPostprocessing = 0; };
A30546CFCA3EA66EFAAC54C5 = {isa = PBXNativeTarget; buildConfigurationList = 79CC111AC4AEED4F1E0183D0; buildPhases = (
1A37B519984DDAC95B63EC0B, ); buildRules = ( ); dependencies = ( ); name = "DSPModulePluginDemo - Shared Code"; productName = DSPModulePluginDemo; productReference = 5851FAC11BC7A9A306A2115C; productType = "com.apple.product-type.library.static"; };
- 9B15633865DEF3A67BBB1C13 = {isa = PBXProject; buildConfigurationList = 6AFDEF8F97D7784BB718E1E3; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { B3AD49039F07F0B263CB1277 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };FECB9DBD99B278AD9BFEAA6E = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };ED8E2267C127411F4D89FF15 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };00F5BDE9EF0B2F51F43FF2EE = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };A30546CFCA3EA66EFAAC54C5 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C9207BAC9FE8B3F8C8FFA4AF; projectDirPath = ""; projectRoot = ""; targets = (B3AD49039F07F0B263CB1277, FECB9DBD99B278AD9BFEAA6E, ED8E2267C127411F4D89FF15, 00F5BDE9EF0B2F51F43FF2EE, A30546CFCA3EA66EFAAC54C5); };
+ 9B15633865DEF3A67BBB1C13 = {isa = PBXProject; buildConfigurationList = 6AFDEF8F97D7784BB718E1E3; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { B3AD49039F07F0B263CB1277 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };FECB9DBD99B278AD9BFEAA6E = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };ED8E2267C127411F4D89FF15 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };00F5BDE9EF0B2F51F43FF2EE = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };A30546CFCA3EA66EFAAC54C5 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C9207BAC9FE8B3F8C8FFA4AF; projectDirPath = ""; projectRoot = ""; targets = (B3AD49039F07F0B263CB1277, FECB9DBD99B278AD9BFEAA6E, ED8E2267C127411F4D89FF15, 00F5BDE9EF0B2F51F43FF2EE, A30546CFCA3EA66EFAAC54C5); };
};
rootObject = 9B15633865DEF3A67BBB1C13;
}
diff --git a/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj b/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj
index 82bd98b8a8..67ad6e99b3 100644
--- a/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj
+++ b/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj
@@ -1796,6 +1796,9 @@
true
+
+ true
+
true
@@ -2505,6 +2508,7 @@
+
diff --git a/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj.filters b/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj.filters
index 3afd4da8d9..4946449cad 100644
--- a/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj.filters
+++ b/examples/DSP module plugin demo/Builds/VisualStudio2015/DSPModulePluginDemo_SharedCode.vcxproj.filters
@@ -2149,6 +2149,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4176,6 +4179,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj b/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj
index e314811eee..a11e5ead12 100644
--- a/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj
+++ b/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj
@@ -1797,6 +1797,9 @@
true
+
+ true
+
true
@@ -2506,6 +2509,7 @@
+
diff --git a/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj.filters b/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj.filters
index 5c502d210d..1c0fb2d988 100644
--- a/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj.filters
+++ b/examples/DSP module plugin demo/Builds/VisualStudio2017/DSPModulePluginDemo_SharedCode.vcxproj.filters
@@ -2149,6 +2149,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4176,6 +4179,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/DSPDemo/Builds/MacOSX/DSPDemo.xcodeproj/project.pbxproj b/examples/DSPDemo/Builds/MacOSX/DSPDemo.xcodeproj/project.pbxproj
index d59f8b300d..3b2a4f9c83 100644
--- a/examples/DSPDemo/Builds/MacOSX/DSPDemo.xcodeproj/project.pbxproj
+++ b/examples/DSPDemo/Builds/MacOSX/DSPDemo.xcodeproj/project.pbxproj
@@ -365,7 +365,7 @@
BED42A90D1C7884760EE4C47,
5EBE0F675FD5F7A6E27DDE6F,
F866D841CA0AD769D1DD706C, ); buildRules = ( ); dependencies = ( ); name = "DSPDemo - App"; productName = DSPDemo; productReference = E65A292C57D74320DBADF3E2; productType = "com.apple.product-type.application"; };
- C80D6F4D84A23D8254630291 = {isa = PBXProject; buildConfigurationList = EA0FBD36E6392D1EACC6E6D0; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { F242499B02B0F20F4BC2A204 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 58576490CB5917F924F77F96; projectDirPath = ""; projectRoot = ""; targets = (F242499B02B0F20F4BC2A204); };
+ C80D6F4D84A23D8254630291 = {isa = PBXProject; buildConfigurationList = EA0FBD36E6392D1EACC6E6D0; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { F242499B02B0F20F4BC2A204 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 58576490CB5917F924F77F96; projectDirPath = ""; projectRoot = ""; targets = (F242499B02B0F20F4BC2A204); };
};
rootObject = C80D6F4D84A23D8254630291;
}
diff --git a/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj b/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj
index 577da3d6eb..992a466c13 100644
--- a/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj
+++ b/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj
@@ -1733,6 +1733,9 @@
true
+
+ true
+
true
@@ -2365,6 +2368,7 @@
+
diff --git a/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj.filters b/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj.filters
index 05c604593c..2e8ef0dcfb 100644
--- a/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj.filters
+++ b/examples/DSPDemo/Builds/VisualStudio2017/DSPDemo_App.vcxproj.filters
@@ -2068,6 +2068,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3921,6 +3924,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/Demo/Builds/Android/app/CMakeLists.txt b/examples/Demo/Builds/Android/app/CMakeLists.txt
index 3228698b21..027df66bd6 100644
--- a/examples/Demo/Builds/Android/app/CMakeLists.txt
+++ b/examples/Demo/Builds/Android/app/CMakeLists.txt
@@ -1283,6 +1283,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1310,6 +1311,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2603,6 +2605,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2630,6 +2633,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/Demo/Builds/Android/app/src/main/java/com/yourcompany/jucedemo/JuceDemo.java b/examples/Demo/Builds/Android/app/src/main/java/com/yourcompany/jucedemo/JuceDemo.java
index 04b10fd5e7..8113e1f019 100644
--- a/examples/Demo/Builds/Android/app/src/main/java/com/yourcompany/jucedemo/JuceDemo.java
+++ b/examples/Demo/Builds/Android/app/src/main/java/com/yourcompany/jucedemo/JuceDemo.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class JuceDemo extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj
index c3e3e9982c..e0a9d55437 100644
--- a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj
+++ b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj
@@ -545,7 +545,7 @@
8A0460E8E406AB26F4BA09A8,
DB71CE9A0FCC9F1D4DB88011,
8B042CD6831F0E9BD5C0815E, ); buildRules = ( ); dependencies = ( ); name = "JuceDemo - App"; productName = JuceDemo; productReference = 90B1185950EF7670F87EAA3F; productType = "com.apple.product-type.application"; };
- A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); };
+ A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); };
};
rootObject = A97F75347E57A9C1AF731F1D;
}
diff --git a/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj b/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj
index f188b00d18..b93b84dde8 100644
--- a/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj
+++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj
@@ -1871,6 +1871,9 @@
true
+
+ true
+
true
@@ -2571,6 +2574,7 @@
+
diff --git a/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj.filters b/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj.filters
index ae87cc728e..5f3e093461 100644
--- a/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj.filters
+++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo_App.vcxproj.filters
@@ -2311,6 +2311,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4296,6 +4299,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj b/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj
index d68c6501e1..9fe85cc954 100644
--- a/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj
+++ b/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj
@@ -1871,6 +1871,9 @@
true
+
+ true
+
true
@@ -2571,6 +2574,7 @@
+
diff --git a/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj.filters b/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj.filters
index 193295e986..e296fbb97a 100644
--- a/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj.filters
+++ b/examples/Demo/Builds/VisualStudio2015/JuceDemo_App.vcxproj.filters
@@ -2311,6 +2311,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4296,6 +4299,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj b/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj
index 434bda3c68..7d7b89870a 100644
--- a/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj
+++ b/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj
@@ -1871,6 +1871,9 @@
true
+
+ true
+
true
@@ -2571,6 +2574,7 @@
+
diff --git a/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj.filters b/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj.filters
index 5e4357f7f5..33ff505362 100644
--- a/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj.filters
+++ b/examples/Demo/Builds/VisualStudio2017/JuceDemo_App.vcxproj.filters
@@ -2311,6 +2311,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4296,6 +4299,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj
index 190a046e88..4bf15279bc 100644
--- a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj
+++ b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj
@@ -555,7 +555,7 @@
8A0460E8E406AB26F4BA09A8,
DB71CE9A0FCC9F1D4DB88011,
8B042CD6831F0E9BD5C0815E, ); buildRules = ( ); dependencies = ( ); name = "JuceDemo - App"; productName = JuceDemo; productReference = 90B1185950EF7670F87EAA3F; productType = "com.apple.product-type.application"; };
- A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); };
+ A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); };
};
rootObject = A97F75347E57A9C1AF731F1D;
}
diff --git a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj
index 0478dc8577..cd63d58c64 100644
--- a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj
+++ b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj
@@ -251,7 +251,7 @@
026F69AE2DD97CA7C9006986,
C39352E04613E968B30D0584,
CD0E71EFDCF3177FCE405E9D, ); buildRules = ( ); dependencies = ( ); name = "HelloWorld - App"; productName = HelloWorld; productReference = 630E0739D24A3C9E99CD4592; productType = "com.apple.product-type.application"; };
- E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); };
+ E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); };
};
rootObject = E34D5B980741D93050D0BB6B;
}
diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj
index b28734ac94..9775bc76a5 100644
--- a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj
+++ b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj
@@ -1247,6 +1247,9 @@
true
+
+ true
+
true
@@ -1648,6 +1651,7 @@
+
diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj.filters
index 346b50630f..f6462d0b43 100644
--- a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj.filters
+++ b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld_App.vcxproj.filters
@@ -1378,6 +1378,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2538,6 +2541,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj b/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj
index 1bea8af823..fbcabd7474 100644
--- a/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj
+++ b/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj
@@ -1247,6 +1247,9 @@
true
+
+ true
+
true
@@ -1648,6 +1651,7 @@
+
diff --git a/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj.filters
index f21a17df5e..96c33f6742 100644
--- a/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj.filters
+++ b/examples/HelloWorld/Builds/VisualStudio2017/HelloWorld_App.vcxproj.filters
@@ -1378,6 +1378,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2538,6 +2541,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj
index 6fa277bfb3..a4f14bd769 100644
--- a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj
+++ b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj
@@ -261,7 +261,7 @@
026F69AE2DD97CA7C9006986,
C39352E04613E968B30D0584,
CD0E71EFDCF3177FCE405E9D, ); buildRules = ( ); dependencies = ( ); name = "HelloWorld - App"; productName = HelloWorld; productReference = 630E0739D24A3C9E99CD4592; productType = "com.apple.product-type.application"; };
- E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); };
+ E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); };
};
rootObject = E34D5B980741D93050D0BB6B;
}
diff --git a/examples/InAppPurchase/Builds/Android/app/CMakeLists.txt b/examples/InAppPurchase/Builds/Android/app/CMakeLists.txt
index e8b3f21041..b90b828e4f 100644
--- a/examples/InAppPurchase/Builds/Android/app/CMakeLists.txt
+++ b/examples/InAppPurchase/Builds/Android/app/CMakeLists.txt
@@ -1158,6 +1158,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1185,6 +1186,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2395,6 +2397,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2422,6 +2425,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/InAppPurchase/Builds/Android/app/src/main/java/com/roli/juceinapppurchasesample/InAppPurchase.java b/examples/InAppPurchase/Builds/Android/app/src/main/java/com/roli/juceinapppurchasesample/InAppPurchase.java
index 0984ee12c9..30ba61e64e 100644
--- a/examples/InAppPurchase/Builds/Android/app/src/main/java/com/roli/juceinapppurchasesample/InAppPurchase.java
+++ b/examples/InAppPurchase/Builds/Android/app/src/main/java/com/roli/juceinapppurchasesample/InAppPurchase.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class InAppPurchase extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/InAppPurchase/Builds/MacOSX/InAppPurchase.xcodeproj/project.pbxproj b/examples/InAppPurchase/Builds/MacOSX/InAppPurchase.xcodeproj/project.pbxproj
index 1782923413..dfc83b8331 100644
--- a/examples/InAppPurchase/Builds/MacOSX/InAppPurchase.xcodeproj/project.pbxproj
+++ b/examples/InAppPurchase/Builds/MacOSX/InAppPurchase.xcodeproj/project.pbxproj
@@ -384,7 +384,7 @@
BFF2EB37A2D5F01B426D07EA,
1C07E2DC3F7DE233F9641F84,
B50D9D46D6C2BE3393758F4F, ); buildRules = ( ); dependencies = ( ); name = "InAppPurchase - App"; productName = InAppPurchase; productReference = 2F3D7DB7AC87E3233938D392; productType = "com.apple.product-type.application"; };
- 66C8FC6F4B36193FCAB3E896 = {isa = PBXProject; buildConfigurationList = A70E95856B781E1B86D0B31E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { A76C77BF453794B916526154 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 1; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 45141DDCB203B1BF5610629C; projectDirPath = ""; projectRoot = ""; targets = (A76C77BF453794B916526154); };
+ 66C8FC6F4B36193FCAB3E896 = {isa = PBXProject; buildConfigurationList = A70E95856B781E1B86D0B31E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { A76C77BF453794B916526154 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 1; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 45141DDCB203B1BF5610629C; projectDirPath = ""; projectRoot = ""; targets = (A76C77BF453794B916526154); };
};
rootObject = 66C8FC6F4B36193FCAB3E896;
}
diff --git a/examples/InAppPurchase/Builds/iOS/InAppPurchase.xcodeproj/project.pbxproj b/examples/InAppPurchase/Builds/iOS/InAppPurchase.xcodeproj/project.pbxproj
index 8463ca7ecc..3c4223b3c2 100644
--- a/examples/InAppPurchase/Builds/iOS/InAppPurchase.xcodeproj/project.pbxproj
+++ b/examples/InAppPurchase/Builds/iOS/InAppPurchase.xcodeproj/project.pbxproj
@@ -403,7 +403,7 @@
BFF2EB37A2D5F01B426D07EA,
1C07E2DC3F7DE233F9641F84,
B50D9D46D6C2BE3393758F4F, ); buildRules = ( ); dependencies = ( ); name = "InAppPurchase - App"; productName = InAppPurchase; productReference = 2F3D7DB7AC87E3233938D392; productType = "com.apple.product-type.application"; };
- 66C8FC6F4B36193FCAB3E896 = {isa = PBXProject; buildConfigurationList = A70E95856B781E1B86D0B31E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { A76C77BF453794B916526154 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 1; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 45141DDCB203B1BF5610629C; projectDirPath = ""; projectRoot = ""; targets = (A76C77BF453794B916526154); };
+ 66C8FC6F4B36193FCAB3E896 = {isa = PBXProject; buildConfigurationList = A70E95856B781E1B86D0B31E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { A76C77BF453794B916526154 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 1; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 45141DDCB203B1BF5610629C; projectDirPath = ""; projectRoot = ""; targets = (A76C77BF453794B916526154); };
};
rootObject = 66C8FC6F4B36193FCAB3E896;
}
diff --git a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj
index fe93d43fdd..05dcf471ea 100644
--- a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj
+++ b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj
@@ -341,7 +341,7 @@
518008B4BCAC2EDE2921458A,
EF758DF42F97B8D22FD35F80,
AF94D754542EEF998EE0EF72, ); buildRules = ( ); dependencies = ( ); name = "MPETest - App"; productName = MPETest; productReference = BCC50B48B1A4B967949B2DB2; productType = "com.apple.product-type.application"; };
- 9606743A47FFF871B775B1AB = {isa = PBXProject; buildConfigurationList = CC7502C8943D2FC599DFC557; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 0DF05A38ED8E8BF6EB7D9C5C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9F958921F12E7C784E909D34; projectDirPath = ""; projectRoot = ""; targets = (0DF05A38ED8E8BF6EB7D9C5C); };
+ 9606743A47FFF871B775B1AB = {isa = PBXProject; buildConfigurationList = CC7502C8943D2FC599DFC557; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 0DF05A38ED8E8BF6EB7D9C5C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9F958921F12E7C784E909D34; projectDirPath = ""; projectRoot = ""; targets = (0DF05A38ED8E8BF6EB7D9C5C); };
};
rootObject = 9606743A47FFF871B775B1AB;
}
diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj b/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj
index 75eafae860..ef775d4c96 100644
--- a/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj
+++ b/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj
@@ -1687,6 +1687,9 @@
true
+
+ true
+
true
@@ -2338,6 +2341,7 @@
+
diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj.filters b/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj.filters
index c0f7cf54e2..1cdc266211 100644
--- a/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj.filters
+++ b/examples/MPETest/Builds/VisualStudio2015/MPETest_App.vcxproj.filters
@@ -2011,6 +2011,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3849,6 +3852,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj b/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj
index d70756a7d7..97b23a7ca0 100644
--- a/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj
+++ b/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj
@@ -1687,6 +1687,9 @@
true
+
+ true
+
true
@@ -2338,6 +2341,7 @@
+
diff --git a/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj.filters b/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj.filters
index 77cdf0fb89..73bce6f8d9 100644
--- a/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj.filters
+++ b/examples/MPETest/Builds/VisualStudio2017/MPETest_App.vcxproj.filters
@@ -2011,6 +2011,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3849,6 +3852,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/MidiTest/Builds/Android/app/CMakeLists.txt b/examples/MidiTest/Builds/Android/app/CMakeLists.txt
index bc12abc848..2f94932bae 100644
--- a/examples/MidiTest/Builds/Android/app/CMakeLists.txt
+++ b/examples/MidiTest/Builds/Android/app/CMakeLists.txt
@@ -1119,6 +1119,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1146,6 +1147,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2264,6 +2266,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2291,6 +2294,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/MidiTest/Builds/Android/app/src/main/java/com/yourcompany/miditest/MidiTest.java b/examples/MidiTest/Builds/Android/app/src/main/java/com/yourcompany/miditest/MidiTest.java
index 1b63100e6d..a60f2d1a51 100644
--- a/examples/MidiTest/Builds/Android/app/src/main/java/com/yourcompany/miditest/MidiTest.java
+++ b/examples/MidiTest/Builds/Android/app/src/main/java/com/yourcompany/miditest/MidiTest.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,13 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceError;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -2348,6 +2357,111 @@ public class MidiTest extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedError (long host, WebView view, WebResourceRequest request, WebResourceError error); private native void webViewReceivedHttpError (long host, WebView view, WebResourceRequest request, WebResourceResponse errorResponse); private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onReceivedError (WebView view, WebResourceRequest request, WebResourceError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedError (host, view, request, error);
+ }
+
+ @Override
+ public void onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedHttpError (host, view, request, errorResponse);
+ }
+
+ @Override
+ public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
+ {
+ synchronized (hostLock)
+ {
+ if (host != 0)
+ {
+ boolean shouldLoad = webViewPageLoadStarted (host, view, request.getUrl().toString());
+
+ if (shouldLoad)
+ return null;
+ }
+ }
+
+ return new WebResourceResponse ("text/html", null, null);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj
index 611b7dac71..e91c8ed187 100644
--- a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj
+++ b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj
@@ -303,7 +303,7 @@
A1114FDF6F871F83BAF3B6B8,
80C515E0387A6AF48C93D08C,
AADBC72B2C7030FAD1D8CAF8, ); buildRules = ( ); dependencies = ( ); name = "MidiTest - App"; productName = MidiTest; productReference = AB7855931CA983F4EE039617; productType = "com.apple.product-type.application"; };
- 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); };
+ 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); };
};
rootObject = 08CC3758D6C29BD07C86A240;
}
diff --git a/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj b/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj
index 244f32f007..238f06dc1a 100644
--- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj
+++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj
@@ -1667,6 +1667,9 @@
true
+
+ true
+
true
@@ -2264,6 +2267,7 @@
+
diff --git a/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj.filters b/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj.filters
index 8accedbc74..5a80ba8f1d 100644
--- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj.filters
+++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest_App.vcxproj.filters
@@ -1954,6 +1954,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3702,6 +3705,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj b/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj
index a4c447fce3..e60b8ba94f 100644
--- a/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj
+++ b/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj
@@ -1667,6 +1667,9 @@
true
+
+ true
+
true
@@ -2264,6 +2267,7 @@
+
diff --git a/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj.filters b/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj.filters
index 019f46d463..e6707e8b05 100644
--- a/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj.filters
+++ b/examples/MidiTest/Builds/VisualStudio2017/MidiTest_App.vcxproj.filters
@@ -1954,6 +1954,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3702,6 +3705,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj
index d20d967bb9..50a04f2594 100644
--- a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj
+++ b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj
@@ -315,7 +315,7 @@
A1114FDF6F871F83BAF3B6B8,
80C515E0387A6AF48C93D08C,
AADBC72B2C7030FAD1D8CAF8, ); buildRules = ( ); dependencies = ( ); name = "MidiTest - App"; productName = MidiTest; productReference = AB7855931CA983F4EE039617; productType = "com.apple.product-type.application"; };
- 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); };
+ 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); };
};
rootObject = 08CC3758D6C29BD07C86A240;
}
diff --git a/examples/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/examples/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
index ce6754cecf..9cddfefe45 100644
--- a/examples/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
+++ b/examples/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
@@ -1137,6 +1137,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1164,6 +1165,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2357,6 +2359,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2384,6 +2387,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/NetworkGraphicsDemo/Builds/Android/app/src/main/java/com/juce/networkgraphicsdemo/JUCENetworkGraphicsDemo.java b/examples/NetworkGraphicsDemo/Builds/Android/app/src/main/java/com/juce/networkgraphicsdemo/JUCENetworkGraphicsDemo.java
index b46f89cb19..3cca4d4ba8 100644
--- a/examples/NetworkGraphicsDemo/Builds/Android/app/src/main/java/com/juce/networkgraphicsdemo/JUCENetworkGraphicsDemo.java
+++ b/examples/NetworkGraphicsDemo/Builds/Android/app/src/main/java/com/juce/networkgraphicsdemo/JUCENetworkGraphicsDemo.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class JUCENetworkGraphicsDemo extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj b/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
index 7bceb5c494..2e1b8e9f21 100644
--- a/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
+++ b/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
@@ -337,7 +337,7 @@
714944DB86A4D402E7FA269E,
C2977559BF9148DB70CA10AE,
865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo - App"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; productType = "com.apple.product-type.application"; };
- A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); };
+ A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); };
};
rootObject = A5398ADB6F5B128C00EB935C;
}
diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj
index 5c44aa4dfa..1f09293585 100644
--- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj
+++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj
@@ -1687,6 +1687,9 @@
true
+
+ true
+
true
@@ -2355,6 +2358,7 @@
+
diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj.filters b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj.filters
index b571390122..a07a82441f 100644
--- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj.filters
+++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3855,6 +3858,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj b/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj
index 3f471387b1..ef1cba53ec 100644
--- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj
+++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj
@@ -1687,6 +1687,9 @@
true
+
+ true
+
true
@@ -2355,6 +2358,7 @@
+
diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj.filters b/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj.filters
index 06405074e7..f50499801a 100644
--- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj.filters
+++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2017/JUCE Network Graphics Demo_App.vcxproj.filters
@@ -2005,6 +2005,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3855,6 +3858,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
index a408de8cc9..061820e0d2 100644
--- a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
+++ b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj
@@ -351,7 +351,7 @@
714944DB86A4D402E7FA269E,
C2977559BF9148DB70CA10AE,
865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo - App"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; productType = "com.apple.product-type.application"; };
- A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); };
+ A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); };
};
rootObject = A5398ADB6F5B128C00EB935C;
}
diff --git a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj
index eedd0637c8..320487b77e 100644
--- a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj
+++ b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj
@@ -329,7 +329,7 @@
5EAEC7382D18903A6CC34743,
F3B61DF6E57FDFD6B2F506F2,
F246BDBFC565CFD500CC8D8B, ); buildRules = ( ); dependencies = ( ); name = "OSCMonitor - App"; productName = OSCMonitor; productReference = 1997CE41947A0FA3AE6FD84C; productType = "com.apple.product-type.application"; };
- 6AEE7D5FA068DDF4AE3BC412 = {isa = PBXProject; buildConfigurationList = 167C45A180F421917A997478; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { CE4CE10FF3A0FD3AA7FF7605 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 6A9D07656A985D7935C7FE29; projectDirPath = ""; projectRoot = ""; targets = (CE4CE10FF3A0FD3AA7FF7605); };
+ 6AEE7D5FA068DDF4AE3BC412 = {isa = PBXProject; buildConfigurationList = 167C45A180F421917A997478; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { CE4CE10FF3A0FD3AA7FF7605 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 6A9D07656A985D7935C7FE29; projectDirPath = ""; projectRoot = ""; targets = (CE4CE10FF3A0FD3AA7FF7605); };
};
rootObject = 6AEE7D5FA068DDF4AE3BC412;
}
diff --git a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj
index 63f1c98214..e3ec3fc9ec 100644
--- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj
+++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj
@@ -1639,6 +1639,9 @@
true
+
+ true
+
true
@@ -2300,6 +2303,7 @@
+
diff --git a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj.filters b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj.filters
index b093ff6dc4..13d20876c2 100644
--- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj.filters
+++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor_App.vcxproj.filters
@@ -1939,6 +1939,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3753,6 +3756,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj b/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj
index a8ff31ee35..0755973122 100644
--- a/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj
+++ b/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj
@@ -1639,6 +1639,9 @@
true
+
+ true
+
true
@@ -2300,6 +2303,7 @@
+
diff --git a/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj.filters b/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj.filters
index 519d2d6fc4..1bd2a8da09 100644
--- a/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj.filters
+++ b/examples/OSCMonitor/Builds/VisualStudio2017/OSCMonitor_App.vcxproj.filters
@@ -1939,6 +1939,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3753,6 +3756,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/OSCReceiver/Builds/Android/app/CMakeLists.txt b/examples/OSCReceiver/Builds/Android/app/CMakeLists.txt
index 349195d086..4b1c0dc3c6 100644
--- a/examples/OSCReceiver/Builds/Android/app/CMakeLists.txt
+++ b/examples/OSCReceiver/Builds/Android/app/CMakeLists.txt
@@ -789,6 +789,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -816,6 +817,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -1620,6 +1622,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -1647,6 +1650,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/OSCReceiver/Builds/Android/app/src/main/java/com/yourcompany/oscreceiver/OSCReceiver.java b/examples/OSCReceiver/Builds/Android/app/src/main/java/com/yourcompany/oscreceiver/OSCReceiver.java
index 4318245ee5..7534402824 100644
--- a/examples/OSCReceiver/Builds/Android/app/src/main/java/com/yourcompany/oscreceiver/OSCReceiver.java
+++ b/examples/OSCReceiver/Builds/Android/app/src/main/java/com/yourcompany/oscreceiver/OSCReceiver.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class OSCReceiver extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj
index 06f9591511..4094a393aa 100644
--- a/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj
+++ b/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj
@@ -259,7 +259,7 @@
2EA5C343F865CED412BD5E20,
E95E181406F96A95EF81C474,
98DB1513FFCA4DC380991BE7, ); buildRules = ( ); dependencies = ( ); name = "OSCReceiver - App"; productName = OSCReceiver; productReference = 0AB2F0BDAF44CF1FE7BA007A; productType = "com.apple.product-type.application"; };
- 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 5E1B6101A5D94EDEE60C306A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = (5E1B6101A5D94EDEE60C306A); };
+ 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 5E1B6101A5D94EDEE60C306A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = (5E1B6101A5D94EDEE60C306A); };
};
rootObject = 9CDCD4F1CF6D5405D574A953;
}
diff --git a/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj b/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj
index 0f8d906b38..31747680e3 100644
--- a/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj
+++ b/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj
@@ -1267,6 +1267,9 @@
true
+
+ true
+
true
@@ -1704,6 +1707,7 @@
+
diff --git a/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj.filters b/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj.filters
index 64aa19d925..2e9f1ca059 100644
--- a/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj.filters
+++ b/examples/OSCReceiver/Builds/VisualStudio2015/OSCReceiver_App.vcxproj.filters
@@ -1414,6 +1414,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2628,6 +2631,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj b/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj
index ca8ad61efa..6af9c397aa 100644
--- a/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj
+++ b/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj
@@ -1267,6 +1267,9 @@
true
+
+ true
+
true
@@ -1704,6 +1707,7 @@
+
diff --git a/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj.filters b/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj.filters
index b25821c222..e0dd69c0ff 100644
--- a/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj.filters
+++ b/examples/OSCReceiver/Builds/VisualStudio2017/OSCReceiver_App.vcxproj.filters
@@ -1414,6 +1414,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -2628,6 +2631,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj
index 0281d2fb3c..dbfb089f53 100644
--- a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj
+++ b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj
@@ -269,7 +269,7 @@
2EA5C343F865CED412BD5E20,
E95E181406F96A95EF81C474,
98DB1513FFCA4DC380991BE7, ); buildRules = ( ); dependencies = ( ); name = "OSCReceiver - App"; productName = OSCReceiver; productReference = 0AB2F0BDAF44CF1FE7BA007A; productType = "com.apple.product-type.application"; };
- 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 5E1B6101A5D94EDEE60C306A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = (5E1B6101A5D94EDEE60C306A); };
+ 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 5E1B6101A5D94EDEE60C306A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = (5E1B6101A5D94EDEE60C306A); };
};
rootObject = 9CDCD4F1CF6D5405D574A953;
}
diff --git a/examples/OSCSender/Builds/Android/app/src/main/java/com/yourcompany/oscsender/OSCSender.java b/examples/OSCSender/Builds/Android/app/src/main/java/com/yourcompany/oscsender/OSCSender.java
index b30e46b333..ffa6ffa62f 100644
--- a/examples/OSCSender/Builds/Android/app/src/main/java/com/yourcompany/oscsender/OSCSender.java
+++ b/examples/OSCSender/Builds/Android/app/src/main/java/com/yourcompany/oscsender/OSCSender.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,10 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -1419,6 +1425,83 @@ public class OSCSender extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onPageStarted (WebView view, String url, Bitmap favicon)
+ {
+ if (host != 0)
+ webViewPageLoadStarted (host, view, url);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj
index 67075bcf11..1ca69d1200 100644
--- a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj
+++ b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj
@@ -243,7 +243,7 @@
1E9F219D82037569524E98CF,
CDCF3ED48FB54EFBE0DD9046,
53E02F5676BF451851C9C06E, ); buildRules = ( ); dependencies = ( ); name = "OSCSender - App"; productName = OSCSender; productReference = E6F7F38EEF1BA55231F5B1D4; productType = "com.apple.product-type.application"; };
- 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); };
+ 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); };
};
rootObject = 9CD8E1E30EDAF4E86990F260;
}
diff --git a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj
index d28a7f88f0..105891f7f8 100644
--- a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj
+++ b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj
@@ -257,7 +257,7 @@
1E9F219D82037569524E98CF,
CDCF3ED48FB54EFBE0DD9046,
53E02F5676BF451851C9C06E, ); buildRules = ( ); dependencies = ( ); name = "OSCSender - App"; productName = OSCSender; productReference = E6F7F38EEF1BA55231F5B1D4; productType = "com.apple.product-type.application"; };
- 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); };
+ 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); };
};
rootObject = 9CD8E1E30EDAF4E86990F260;
}
diff --git a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj
index e26937308f..32b1ac17ac 100644
--- a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj
+++ b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj
@@ -335,7 +335,7 @@
56C1AB4D5E9F6E55C4A4D18C,
9C76B98AD0B6E256C4C90D77,
9CAA70AAF55A5D696C59AA51, ); buildRules = ( ); dependencies = ( ); name = "OpenGLAppExample - App"; productName = OpenGLAppExample; productReference = 7451C664E0B1FF42F028813E; productType = "com.apple.product-type.application"; };
- 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); };
+ 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); };
};
rootObject = 92078120DD024E75D724B8AB;
}
diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj b/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj
index af5a884ce7..7640fee31e 100644
--- a/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj
+++ b/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj
@@ -1640,6 +1640,9 @@
true
+
+ true
+
true
@@ -2273,6 +2276,7 @@
+
diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj.filters b/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj.filters
index 06c59a5032..cfc1eed7a7 100644
--- a/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj.filters
+++ b/examples/OpenGLAppExample/Builds/VisualStudio2017/OpenGLAppExample_App.vcxproj.filters
@@ -1939,6 +1939,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3723,6 +3726,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj
index 272fd3d48f..e247804ac6 100644
--- a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj
+++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj
@@ -345,7 +345,7 @@
56C1AB4D5E9F6E55C4A4D18C,
9C76B98AD0B6E256C4C90D77,
9CAA70AAF55A5D696C59AA51, ); buildRules = ( ); dependencies = ( ); name = "OpenGLAppExample - App"; productName = OpenGLAppExample; productReference = 7451C664E0B1FF42F028813E; productType = "com.apple.product-type.application"; };
- 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); };
+ 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); };
};
rootObject = 92078120DD024E75D724B8AB;
}
diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj
index 9224833536..88aa47ad2c 100644
--- a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj
+++ b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj
@@ -301,7 +301,7 @@
28277E0496F9A366F1E8A121,
5EDB4F61A6B9E9073901673E,
922CC2B83A0B55C36D188E46, ); buildRules = ( ); dependencies = ( ); name = "PluckedStringsDemo - App"; productName = PluckedStringsDemo; productReference = 3A8608CBA979E2BD17B50D0E; productType = "com.apple.product-type.application"; };
- 209D68C0E5F80B54B99D6435 = {isa = PBXProject; buildConfigurationList = DE12D5F044F75EB7B3CF17BB; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { B15B6C659E27D8982A94F805 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = B4D11720461A13D5D9F3E047; projectDirPath = ""; projectRoot = ""; targets = (B15B6C659E27D8982A94F805); };
+ 209D68C0E5F80B54B99D6435 = {isa = PBXProject; buildConfigurationList = DE12D5F044F75EB7B3CF17BB; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { B15B6C659E27D8982A94F805 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = B4D11720461A13D5D9F3E047; projectDirPath = ""; projectRoot = ""; targets = (B15B6C659E27D8982A94F805); };
};
rootObject = 209D68C0E5F80B54B99D6435;
}
diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj
index 53fe24f0ed..6a88aa0cb6 100644
--- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj
+++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj
@@ -1666,6 +1666,9 @@
true
+
+ true
+
true
@@ -2265,6 +2268,7 @@
+
diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj.filters b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj.filters
index ca2e8a094e..60d4554197 100644
--- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj.filters
+++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo_App.vcxproj.filters
@@ -1951,6 +1951,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3705,6 +3708,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj b/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj
index fc39b2541f..84a0ecc30c 100644
--- a/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj
+++ b/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj
@@ -1666,6 +1666,9 @@
true
+
+ true
+
true
@@ -2265,6 +2268,7 @@
+
diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj.filters b/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj.filters
index 842349cc50..78d2d40b53 100644
--- a/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj.filters
+++ b/examples/PluckedStringsDemo/Builds/VisualStudio2017/PluckedStringsDemo_App.vcxproj.filters
@@ -1951,6 +1951,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3705,6 +3708,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj
index e671958a19..5b28df31bf 100644
--- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj
@@ -566,7 +566,7 @@
2B8F857D37C80F13FC988EB2, ); runOnlyForDeploymentPostprocessing = 0; };
319717B733C323BE76160BD4 = {isa = PBXNativeTarget; buildConfigurationList = AFF7B7B2889999928579D32F; buildPhases = (
1CDAF3706AC2D6D164846859, ); buildRules = ( ); dependencies = ( ); name = "Arpeggiator - Shared Code"; productName = Arpeggiator; productReference = 6C612817F52B969A5F16CE94; productType = "com.apple.product-type.library.static"; };
- 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 08D74DB290FCD09A8D4810BB = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };892A28E616D56F05C8C11049 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };07D9D33E3466A8A497086BEE = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };319717B733C323BE76160BD4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = (08D74DB290FCD09A8D4810BB, 892A28E616D56F05C8C11049, 07D9D33E3466A8A497086BEE, 319717B733C323BE76160BD4); };
+ 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 08D74DB290FCD09A8D4810BB = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };892A28E616D56F05C8C11049 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };07D9D33E3466A8A497086BEE = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };319717B733C323BE76160BD4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = (08D74DB290FCD09A8D4810BB, 892A28E616D56F05C8C11049, 07D9D33E3466A8A497086BEE, 319717B733C323BE76160BD4); };
};
rootObject = 4A5323BE8842B95E4FCCD6ED;
}
diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj
index f8cba1dfff..65148a6eba 100644
--- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj
+++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj
@@ -1717,6 +1717,9 @@
true
+
+ true
+
true
@@ -2395,6 +2398,7 @@
+
diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj.filters b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj.filters
index 7a97f0190b..eecbc73934 100644
--- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj
index 4bea0f0025..eaec2c53d0 100644
--- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj
+++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2389,6 +2392,7 @@
+
diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj.filters b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj.filters
index b104478222..0b4d8ca4bc 100644
--- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2017/Arpeggiator_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj
index 3ef214dd1a..36177922c3 100644
--- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj
@@ -679,7 +679,7 @@
E7EDCC066F7BFE33413D78FE, ); runOnlyForDeploymentPostprocessing = 0; };
EF7E12AA943CABF4C9ACE9FC = {isa = PBXNativeTarget; buildConfigurationList = 2D1D1BFA76D5FF752D06187F; buildPhases = (
E57E58AA3A8632B697CF894F, ); buildRules = ( ); dependencies = ( ); name = "GainPlugIn - Shared Code"; productName = GainPlugIn; productReference = 074F1E0FAFBD4B127B869BC2; productType = "com.apple.product-type.library.static"; };
- 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 67946078D4B1207C2A6BDB4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BBE761975F619DAA1B4D0F57 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8777AC1501FECCF360363C10 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };95B232D53C8384ECDA8C519B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };EF7E12AA943CABF4C9ACE9FC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = (67946078D4B1207C2A6BDB4F, BBE761975F619DAA1B4D0F57, 8777AC1501FECCF360363C10, 95B232D53C8384ECDA8C519B, EF7E12AA943CABF4C9ACE9FC); };
+ 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 67946078D4B1207C2A6BDB4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BBE761975F619DAA1B4D0F57 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8777AC1501FECCF360363C10 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };95B232D53C8384ECDA8C519B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };EF7E12AA943CABF4C9ACE9FC = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = (67946078D4B1207C2A6BDB4F, BBE761975F619DAA1B4D0F57, 8777AC1501FECCF360363C10, 95B232D53C8384ECDA8C519B, EF7E12AA943CABF4C9ACE9FC); };
};
rootObject = 14B1FDE882BA4A9678780A26;
}
diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj
index 86a9adad83..27ba8281a0 100644
--- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj
+++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj
@@ -1717,6 +1717,9 @@
true
+
+ true
+
true
@@ -2395,6 +2398,7 @@
+
diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj.filters b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj.filters
index b4009b0a63..7b851cc2cf 100644
--- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj
index 9c0f685ac1..6b1285593b 100644
--- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj
+++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2389,6 +2392,7 @@
+
diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj.filters b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj.filters
index b46ac29193..3ddab40ee4 100644
--- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2017/GainPlugIn_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/InterAppAudioEffect/Builds/iOS/InterAppAudioEffect.xcodeproj/project.pbxproj b/examples/PlugInSamples/InterAppAudioEffect/Builds/iOS/InterAppAudioEffect.xcodeproj/project.pbxproj
index cc7e372051..945fa1b448 100644
--- a/examples/PlugInSamples/InterAppAudioEffect/Builds/iOS/InterAppAudioEffect.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/InterAppAudioEffect/Builds/iOS/InterAppAudioEffect.xcodeproj/project.pbxproj
@@ -472,7 +472,7 @@
FAC41C26E955C024553DC96C, ); runOnlyForDeploymentPostprocessing = 0; };
A3401CC1AC6C5B89EFBAEF01 = {isa = PBXNativeTarget; buildConfigurationList = AA6F190D4FECB06C7A7A0658; buildPhases = (
177DC2A7A303F23EDDE5183A, ); buildRules = ( ); dependencies = ( ); name = "InterAppAudioEffect - Shared Code"; productName = InterAppAudioEffect; productReference = 873711620EC157BCCFFF80B1; productType = "com.apple.product-type.library.static"; };
- DF3D0C1B88ADC0274AE6BD73 = {isa = PBXProject; buildConfigurationList = 016ACE6B9EC6F47020502F4F; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 03BD5476C606A5BA65CD4FDF = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };51FB6E6A2D0998D38E999826 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 1; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };A3401CC1AC6C5B89EFBAEF01 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = EC01685A042C62251C5AF093; projectDirPath = ""; projectRoot = ""; targets = (03BD5476C606A5BA65CD4FDF, 51FB6E6A2D0998D38E999826, A3401CC1AC6C5B89EFBAEF01); };
+ DF3D0C1B88ADC0274AE6BD73 = {isa = PBXProject; buildConfigurationList = 016ACE6B9EC6F47020502F4F; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 03BD5476C606A5BA65CD4FDF = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };51FB6E6A2D0998D38E999826 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 1; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };A3401CC1AC6C5B89EFBAEF01 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = EC01685A042C62251C5AF093; projectDirPath = ""; projectRoot = ""; targets = (03BD5476C606A5BA65CD4FDF, 51FB6E6A2D0998D38E999826, A3401CC1AC6C5B89EFBAEF01); };
};
rootObject = DF3D0C1B88ADC0274AE6BD73;
}
diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj
index 6a8bd328b8..396fc5f870 100644
--- a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj
@@ -804,7 +804,7 @@
46A39F2ED379F6CA576517EC, ); runOnlyForDeploymentPostprocessing = 0; };
744AC9FB5FF46367E6EAB865 = {isa = PBXNativeTarget; buildConfigurationList = 73259124A13B6ED37AC0BCEF; buildPhases = (
6EE42F29415E0C1BCA23ACEE, ); buildRules = ( ); dependencies = ( ); name = "MultiOutSynth - Shared Code"; productName = MultiOutSynth; productReference = 03B7AAA7C11BC7F21B857177; productType = "com.apple.product-type.library.static"; };
- BEAECE0013C448921D99879E = {isa = PBXProject; buildConfigurationList = 7D1924CF413FEA0C1FCDF335; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { F142F5144E24B9733BC560AA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };B377E1482A96692F10D48B50 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };2CFA1B5A759BEA36D2129738 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };78448B618A99813B399CCE6A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };D7588383E404F0E9A3C21185 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };744AC9FB5FF46367E6EAB865 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = FB6D20503B6A21E15DD99922; projectDirPath = ""; projectRoot = ""; targets = (F142F5144E24B9733BC560AA, B377E1482A96692F10D48B50, 2CFA1B5A759BEA36D2129738, 78448B618A99813B399CCE6A, D7588383E404F0E9A3C21185, 744AC9FB5FF46367E6EAB865); };
+ BEAECE0013C448921D99879E = {isa = PBXProject; buildConfigurationList = 7D1924CF413FEA0C1FCDF335; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { F142F5144E24B9733BC560AA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };B377E1482A96692F10D48B50 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };2CFA1B5A759BEA36D2129738 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };78448B618A99813B399CCE6A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };D7588383E404F0E9A3C21185 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };744AC9FB5FF46367E6EAB865 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = FB6D20503B6A21E15DD99922; projectDirPath = ""; projectRoot = ""; targets = (F142F5144E24B9733BC560AA, B377E1482A96692F10D48B50, 2CFA1B5A759BEA36D2129738, 78448B618A99813B399CCE6A, D7588383E404F0E9A3C21185, 744AC9FB5FF46367E6EAB865); };
};
rootObject = BEAECE0013C448921D99879E;
}
diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj
index f2e99ba689..e23fd038cd 100644
--- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj
+++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj
@@ -1717,6 +1717,9 @@
true
+
+ true
+
true
@@ -2396,6 +2399,7 @@
+
diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj.filters b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj.filters
index d94d233adc..2f35f5b91f 100644
--- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth_SharedCode.vcxproj.filters
@@ -2032,6 +2032,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3954,6 +3957,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj
index 362ff0c04b..5f0fc2eae3 100644
--- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj
+++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2390,6 +2393,7 @@
+
diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj.filters b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj.filters
index 375ec22b18..9c4bb69eee 100644
--- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2017/MultiOutSynth_SharedCode.vcxproj.filters
@@ -2032,6 +2032,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3954,6 +3957,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj
index 747783dc62..a0669a46aa 100644
--- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj
@@ -794,7 +794,7 @@
9417CBFA63740D17BE2F6288, ); runOnlyForDeploymentPostprocessing = 0; };
C6A39FF70BF77051D89E2CE4 = {isa = PBXNativeTarget; buildConfigurationList = 17413E5C8ECD089086907FAE; buildPhases = (
61132FB6D58EDB3690AECF80, ); buildRules = ( ); dependencies = ( ); name = "NoiseGate - Shared Code"; productName = NoiseGate; productReference = B15F50973CE5D365D77D282B; productType = "com.apple.product-type.library.static"; };
- BAD3113DEB12EFF472860A51 = {isa = PBXProject; buildConfigurationList = 1283F0CE36BC5AD8241EC08A; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { BE96E7C5FAB338297CC69BA9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };89095DFC434F1A8EB6368E3A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };822408E00D8E4658EE40468E = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C31F9AF2D73B265832C65F18 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };5B796CD6929336C2CDEDBCD1 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6A39FF70BF77051D89E2CE4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 1E8CE067EFE6F03AB97CACC0; projectDirPath = ""; projectRoot = ""; targets = (BE96E7C5FAB338297CC69BA9, 89095DFC434F1A8EB6368E3A, 822408E00D8E4658EE40468E, C31F9AF2D73B265832C65F18, 5B796CD6929336C2CDEDBCD1, C6A39FF70BF77051D89E2CE4); };
+ BAD3113DEB12EFF472860A51 = {isa = PBXProject; buildConfigurationList = 1283F0CE36BC5AD8241EC08A; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { BE96E7C5FAB338297CC69BA9 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };89095DFC434F1A8EB6368E3A = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };822408E00D8E4658EE40468E = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C31F9AF2D73B265832C65F18 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };5B796CD6929336C2CDEDBCD1 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6A39FF70BF77051D89E2CE4 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 1E8CE067EFE6F03AB97CACC0; projectDirPath = ""; projectRoot = ""; targets = (BE96E7C5FAB338297CC69BA9, 89095DFC434F1A8EB6368E3A, 822408E00D8E4658EE40468E, C31F9AF2D73B265832C65F18, 5B796CD6929336C2CDEDBCD1, C6A39FF70BF77051D89E2CE4); };
};
rootObject = BAD3113DEB12EFF472860A51;
}
diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj
index 00e1030966..21ea6123eb 100644
--- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj
+++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj
@@ -1717,6 +1717,9 @@
true
+
+ true
+
true
@@ -2395,6 +2398,7 @@
+
diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj.filters b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj.filters
index efc990bd57..40228e48da 100644
--- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj
index 282fb45e2a..85a0f61276 100644
--- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj
+++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2389,6 +2392,7 @@
+
diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj.filters b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj.filters
index 45adbb981a..2a41e2ae43 100644
--- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2017/NoiseGate_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3948,6 +3951,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj
index 5ac441c6f8..90b26103bc 100644
--- a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj
+++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj
@@ -806,7 +806,7 @@
56CD31005B93225A3BA73ADE, ); runOnlyForDeploymentPostprocessing = 0; };
ECF21C83A6EB88D73C09E713 = {isa = PBXNativeTarget; buildConfigurationList = 2027B4509482C03CE7628088; buildPhases = (
533BEF452ABC455670C57273, ); buildRules = ( ); dependencies = ( ); name = "Surround - Shared Code"; productName = Surround; productReference = ED7C79D32D589E0F8123BB6A; productType = "com.apple.product-type.library.static"; };
- 1350D0395A6BD8D60471CF92 = {isa = PBXProject; buildConfigurationList = B617DCD972781EFAD4370890; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 662E24C61A67634787C1DDDA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BCE8135290C1E3CF37F2E6EA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };050134A7A9B0AD26AD788AB7 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };1406423C2E104DB2C01413A8 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };3DE552C28C67B3599B47F6D5 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };ECF21C83A6EB88D73C09E713 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C16B685A8A4A888CBFC241D5; projectDirPath = ""; projectRoot = ""; targets = (662E24C61A67634787C1DDDA, BCE8135290C1E3CF37F2E6EA, 050134A7A9B0AD26AD788AB7, 1406423C2E104DB2C01413A8, 3DE552C28C67B3599B47F6D5, ECF21C83A6EB88D73C09E713); };
+ 1350D0395A6BD8D60471CF92 = {isa = PBXProject; buildConfigurationList = B617DCD972781EFAD4370890; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 662E24C61A67634787C1DDDA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BCE8135290C1E3CF37F2E6EA = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };050134A7A9B0AD26AD788AB7 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };1406423C2E104DB2C01413A8 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };3DE552C28C67B3599B47F6D5 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };ECF21C83A6EB88D73C09E713 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C16B685A8A4A888CBFC241D5; projectDirPath = ""; projectRoot = ""; targets = (662E24C61A67634787C1DDDA, BCE8135290C1E3CF37F2E6EA, 050134A7A9B0AD26AD788AB7, 1406423C2E104DB2C01413A8, 3DE552C28C67B3599B47F6D5, ECF21C83A6EB88D73C09E713); };
};
rootObject = 1350D0395A6BD8D60471CF92;
}
diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj
index 9f6e918be6..73f416aa7c 100644
--- a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj
+++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2390,6 +2393,7 @@
+
diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj.filters b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj.filters
index b60239b86f..70ce4dd8b7 100644
--- a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3951,6 +3954,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj b/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj
index a22343ef6e..1476aab637 100644
--- a/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj
+++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj
@@ -1711,6 +1711,9 @@
true
+
+ true
+
true
@@ -2390,6 +2393,7 @@
+
diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj.filters b/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj.filters
index 1a55903cc7..3cd26af7cc 100644
--- a/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj.filters
+++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2017/Surround_SharedCode.vcxproj.filters
@@ -2029,6 +2029,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3951,6 +3954,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PushNotificationsDemo/Builds/Android/app/CMakeLists.txt b/examples/PushNotificationsDemo/Builds/Android/app/CMakeLists.txt
index a9b3132d64..8fe944a30e 100644
--- a/examples/PushNotificationsDemo/Builds/Android/app/CMakeLists.txt
+++ b/examples/PushNotificationsDemo/Builds/Android/app/CMakeLists.txt
@@ -1120,6 +1120,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1147,6 +1148,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2302,6 +2304,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2329,6 +2332,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/PushNotificationsDemo/Builds/Android/app/src/main/java/com/juce/pushnotificationsdemo/PushNotificationsDemo.java b/examples/PushNotificationsDemo/Builds/Android/app/src/main/java/com/juce/pushnotificationsdemo/PushNotificationsDemo.java
index 90d3c52c76..fe846ebc5e 100644
--- a/examples/PushNotificationsDemo/Builds/Android/app/src/main/java/com/juce/pushnotificationsdemo/PushNotificationsDemo.java
+++ b/examples/PushNotificationsDemo/Builds/Android/app/src/main/java/com/juce/pushnotificationsdemo/PushNotificationsDemo.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,13 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceError;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -2348,6 +2357,111 @@ public class PushNotificationsDemo extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedError (long host, WebView view, WebResourceRequest request, WebResourceError error); private native void webViewReceivedHttpError (long host, WebView view, WebResourceRequest request, WebResourceResponse errorResponse); private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onReceivedError (WebView view, WebResourceRequest request, WebResourceError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedError (host, view, request, error);
+ }
+
+ @Override
+ public void onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedHttpError (host, view, request, errorResponse);
+ }
+
+ @Override
+ public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
+ {
+ synchronized (hostLock)
+ {
+ if (host != 0)
+ {
+ boolean shouldLoad = webViewPageLoadStarted (host, view, request.getUrl().toString());
+
+ if (shouldLoad)
+ return null;
+ }
+ }
+
+ return new WebResourceResponse ("text/html", null, null);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/PushNotificationsDemo/Builds/MacOSX/PushNotificationsDemo.xcodeproj/project.pbxproj b/examples/PushNotificationsDemo/Builds/MacOSX/PushNotificationsDemo.xcodeproj/project.pbxproj
index 4dac55f6ce..b7401f4c14 100644
--- a/examples/PushNotificationsDemo/Builds/MacOSX/PushNotificationsDemo.xcodeproj/project.pbxproj
+++ b/examples/PushNotificationsDemo/Builds/MacOSX/PushNotificationsDemo.xcodeproj/project.pbxproj
@@ -359,7 +359,7 @@
E7F21000BAE43EE2C27B118F,
627CF54E723F7183D553D95D,
66A35D349B59508A0E2A8BCF, ); buildRules = ( ); dependencies = ( ); name = "PushNotificationsDemo - App"; productName = PushNotificationsDemo; productReference = 49780B4714C19DCE9EC9012D; productType = "com.apple.product-type.application"; };
- 84BAB813E5482CE31314F6CD = {isa = PBXProject; buildConfigurationList = 681FA1A1638927EA96D44D7E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 5DA4352D4ADD33CF21895F9F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 38775C0754A977E01F939DE6; projectDirPath = ""; projectRoot = ""; targets = (5DA4352D4ADD33CF21895F9F); };
+ 84BAB813E5482CE31314F6CD = {isa = PBXProject; buildConfigurationList = 681FA1A1638927EA96D44D7E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 5DA4352D4ADD33CF21895F9F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 38775C0754A977E01F939DE6; projectDirPath = ""; projectRoot = ""; targets = (5DA4352D4ADD33CF21895F9F); };
};
rootObject = 84BAB813E5482CE31314F6CD;
}
diff --git a/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj b/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj
index fd513fac79..2ccbb1a7d1 100644
--- a/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj
+++ b/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj
@@ -1640,6 +1640,9 @@
true
+
+ true
+
true
@@ -2263,6 +2266,7 @@
+
diff --git a/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj.filters b/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj.filters
index f58f031300..34c37fc772 100644
--- a/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj.filters
+++ b/examples/PushNotificationsDemo/Builds/VisualStudio2015/PushNotificationsDemo_App.vcxproj.filters
@@ -1933,6 +1933,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3702,6 +3705,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/PushNotificationsDemo/Builds/iOS/PushNotificationsDemo.xcodeproj/project.pbxproj b/examples/PushNotificationsDemo/Builds/iOS/PushNotificationsDemo.xcodeproj/project.pbxproj
index a4fbbd2e99..d0627b14d8 100644
--- a/examples/PushNotificationsDemo/Builds/iOS/PushNotificationsDemo.xcodeproj/project.pbxproj
+++ b/examples/PushNotificationsDemo/Builds/iOS/PushNotificationsDemo.xcodeproj/project.pbxproj
@@ -389,7 +389,7 @@
E7F21000BAE43EE2C27B118F,
627CF54E723F7183D553D95D,
66A35D349B59508A0E2A8BCF, ); buildRules = ( ); dependencies = ( ); name = "PushNotificationsDemo - App"; productName = PushNotificationsDemo; productReference = 49780B4714C19DCE9EC9012D; productType = "com.apple.product-type.application"; };
- 84BAB813E5482CE31314F6CD = {isa = PBXProject; buildConfigurationList = 681FA1A1638927EA96D44D7E; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 5DA4352D4ADD33CF21895F9F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 1; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 38775C0754A977E01F939DE6; projectDirPath = ""; projectRoot = ""; targets = (5DA4352D4ADD33CF21895F9F); };
+ 84BAB813E5482CE31314F6CD = {isa = PBXProject; buildConfigurationList = 681FA1A1638927EA96D44D7E; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = ""; TargetAttributes = { 5DA4352D4ADD33CF21895F9F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 1; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 38775C0754A977E01F939DE6; projectDirPath = ""; projectRoot = ""; targets = (5DA4352D4ADD33CF21895F9F); };
};
rootObject = 84BAB813E5482CE31314F6CD;
}
diff --git a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj
index 99b47286a4..292aef3cf3 100644
--- a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj
+++ b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj
@@ -303,7 +303,7 @@
48322B9DE3337E69E96F7551,
69128EEF3B23EA7E960EBE08,
B8B3353D164D52CC62A584F2, ); buildRules = ( ); dependencies = ( ); name = "SimpleFFTExample - App"; productName = SimpleFFTExample; productReference = 8D8ED3E7474D65E7177750A8; productType = "com.apple.product-type.application"; };
- CF307CC82EF6FB552266854D = {isa = PBXProject; buildConfigurationList = C877108FC7BF2DA280A51F46; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { D0E4014BABB86AAE963C0EC0 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4DB04A617E8DFE6D06731154; projectDirPath = ""; projectRoot = ""; targets = (D0E4014BABB86AAE963C0EC0); };
+ CF307CC82EF6FB552266854D = {isa = PBXProject; buildConfigurationList = C877108FC7BF2DA280A51F46; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { D0E4014BABB86AAE963C0EC0 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4DB04A617E8DFE6D06731154; projectDirPath = ""; projectRoot = ""; targets = (D0E4014BABB86AAE963C0EC0); };
};
rootObject = CF307CC82EF6FB552266854D;
}
diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj
index 5814676532..9dcfc03bd5 100644
--- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj
+++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj
@@ -1723,6 +1723,9 @@
true
+
+ true
+
true
@@ -2352,6 +2355,7 @@
+
diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj.filters b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj.filters
index 063992b55f..0f8c7b691e 100644
--- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj.filters
+++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample_App.vcxproj.filters
@@ -2032,6 +2032,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3876,6 +3879,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj b/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj
index ecd021e215..0f59a41c0c 100644
--- a/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj
+++ b/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj
@@ -1723,6 +1723,9 @@
true
+
+ true
+
true
@@ -2352,6 +2355,7 @@
+
diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj.filters b/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj.filters
index b7ce88396c..dc52bce88a 100644
--- a/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj.filters
+++ b/examples/SimpleFFTExample/Builds/VisualStudio2017/SimpleFFTExample_App.vcxproj.filters
@@ -2032,6 +2032,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3876,6 +3879,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/audio plugin demo/Builds/Android/app/CMakeLists.txt b/examples/audio plugin demo/Builds/Android/app/CMakeLists.txt
index 562bcc46df..22cfd0e356 100644
--- a/examples/audio plugin demo/Builds/Android/app/CMakeLists.txt
+++ b/examples/audio plugin demo/Builds/Android/app/CMakeLists.txt
@@ -1219,6 +1219,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1246,6 +1247,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2466,6 +2468,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2493,6 +2496,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/examples/audio plugin demo/Builds/Android/app/src/main/AndroidManifest.xml b/examples/audio plugin demo/Builds/Android/app/src/main/AndroidManifest.xml
index ce3b014024..b8d2c47e1c 100644
--- a/examples/audio plugin demo/Builds/Android/app/src/main/AndroidManifest.xml
+++ b/examples/audio plugin demo/Builds/Android/app/src/main/AndroidManifest.xml
@@ -12,7 +12,7 @@
+ android:screenOrientation="userLandscape" android:launchMode="singleTask">
diff --git a/examples/audio plugin demo/Builds/Android/app/src/main/java/com/juce/jucedemoplugin/JuceDemoPlugin.java b/examples/audio plugin demo/Builds/Android/app/src/main/java/com/juce/jucedemoplugin/JuceDemoPlugin.java
index 9b079d8fa4..a0f702a18f 100644
--- a/examples/audio plugin demo/Builds/Android/app/src/main/java/com/juce/jucedemoplugin/JuceDemoPlugin.java
+++ b/examples/audio plugin demo/Builds/Android/app/src/main/java/com/juce/jucedemoplugin/JuceDemoPlugin.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,13 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceError;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -2348,6 +2357,111 @@ public class JuceDemoPlugin extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedError (long host, WebView view, WebResourceRequest request, WebResourceError error); private native void webViewReceivedHttpError (long host, WebView view, WebResourceRequest request, WebResourceResponse errorResponse); private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onReceivedError (WebView view, WebResourceRequest request, WebResourceError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedError (host, view, request, error);
+ }
+
+ @Override
+ public void onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedHttpError (host, view, request, errorResponse);
+ }
+
+ @Override
+ public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
+ {
+ synchronized (hostLock)
+ {
+ if (host != 0)
+ {
+ boolean shouldLoad = webViewPageLoadStarted (host, view, request.getUrl().toString());
+
+ if (shouldLoad)
+ return null;
+ }
+ }
+
+ return new WebResourceResponse ("text/html", null, null);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
index 2313bbfe1a..c7d424a17d 100644
--- a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
+++ b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
@@ -751,7 +751,7 @@
80AB3252A67CCE24226B54A2, ); runOnlyForDeploymentPostprocessing = 0; };
C3F206BB3277FBADE3BD615B = {isa = PBXNativeTarget; buildConfigurationList = 08D73ACBC0F6E2A4747629EE; buildPhases = (
4E087312D44130771EB1E9C2, ); buildRules = ( ); dependencies = ( ); name = "JuceDemoPlugin - Shared Code"; productName = JuceDemoPlugin; productReference = 4D6248E85C22578615FA809C; productType = "com.apple.product-type.library.static"; };
- 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { D4A200CA175E6673EB359B63 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };921CB4BBA34ADBC5270F81EF = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };71E1E34CFC671ACBBCE0726C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6D88D358CA321193FD3CC4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };F2918F451F1385B37AF4A6ED = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C3F206BB3277FBADE3BD615B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = (D4A200CA175E6673EB359B63, 921CB4BBA34ADBC5270F81EF, 71E1E34CFC671ACBBCE0726C, C6D88D358CA321193FD3CC4F, F2918F451F1385B37AF4A6ED, C3F206BB3277FBADE3BD615B); };
+ 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { D4A200CA175E6673EB359B63 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };921CB4BBA34ADBC5270F81EF = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };71E1E34CFC671ACBBCE0726C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6D88D358CA321193FD3CC4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };F2918F451F1385B37AF4A6ED = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C3F206BB3277FBADE3BD615B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = (D4A200CA175E6673EB359B63, 921CB4BBA34ADBC5270F81EF, 71E1E34CFC671ACBBCE0726C, C6D88D358CA321193FD3CC4F, F2918F451F1385B37AF4A6ED, C3F206BB3277FBADE3BD615B); };
};
rootObject = 85250052F3E019894332668E;
}
diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj
index 31b03f3cd7..f1ef188efb 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj
+++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj
@@ -1739,6 +1739,9 @@
true
+
+ true
+
true
@@ -2385,6 +2388,7 @@
+
diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj.filters
index f15f916c40..c2f031bc53 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj.filters
+++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin_SharedCode.vcxproj.filters
@@ -2047,6 +2047,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3942,6 +3945,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj
index 88ff59f462..c7f71377c8 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj
+++ b/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj
@@ -1739,6 +1739,9 @@
true
+
+ true
+
true
@@ -2385,6 +2388,7 @@
+
diff --git a/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj.filters
index 7914bb8d59..22084f85fa 100644
--- a/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj.filters
+++ b/examples/audio plugin demo/Builds/VisualStudio2017/JuceDemoPlugin_SharedCode.vcxproj.filters
@@ -2047,6 +2047,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3942,6 +3945,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/audio plugin demo/Builds/iOS/JuceDemoPlugin.xcodeproj/project.pbxproj b/examples/audio plugin demo/Builds/iOS/JuceDemoPlugin.xcodeproj/project.pbxproj
index f2c5a48f37..a3045a5838 100644
--- a/examples/audio plugin demo/Builds/iOS/JuceDemoPlugin.xcodeproj/project.pbxproj
+++ b/examples/audio plugin demo/Builds/iOS/JuceDemoPlugin.xcodeproj/project.pbxproj
@@ -561,7 +561,7 @@
80AB3252A67CCE24226B54A2, ); runOnlyForDeploymentPostprocessing = 0; };
C3F206BB3277FBADE3BD615B = {isa = PBXNativeTarget; buildConfigurationList = 08D73ACBC0F6E2A4747629EE; buildPhases = (
4E087312D44130771EB1E9C2, ); buildRules = ( ); dependencies = ( ); name = "JuceDemoPlugin - Shared Code"; productName = JuceDemoPlugin; productReference = 4D6248E85C22578615FA809C; productType = "com.apple.product-type.library.static"; };
- 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { D4A200CA175E6673EB359B63 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6D88D358CA321193FD3CC4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };F2918F451F1385B37AF4A6ED = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C3F206BB3277FBADE3BD615B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = (D4A200CA175E6673EB359B63, C6D88D358CA321193FD3CC4F, F2918F451F1385B37AF4A6ED, C3F206BB3277FBADE3BD615B); };
+ 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { D4A200CA175E6673EB359B63 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6D88D358CA321193FD3CC4F = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };F2918F451F1385B37AF4A6ED = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C3F206BB3277FBADE3BD615B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = (D4A200CA175E6673EB359B63, C6D88D358CA321193FD3CC4F, F2918F451F1385B37AF4A6ED, C3F206BB3277FBADE3BD615B); };
};
rootObject = 85250052F3E019894332668E;
}
diff --git a/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
index e1c8e8ade4..b12b4511e3 100644
--- a/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
+++ b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj
@@ -369,7 +369,7 @@
2429BB4D705CC57F49418CFB,
E8E94B3C187DA578BFCBDA98,
C515A1FE1A53D3968C22FAEF, ); buildRules = ( ); dependencies = ( ); name = "Plugin Host - App"; productName = "Plugin Host"; productReference = 8D8BBC353637DA442C5575DA; productType = "com.apple.product-type.application"; };
- ADE6E539DB98A302483A82D0 = {isa = PBXProject; buildConfigurationList = 493C2C5E457692E5149C5525; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { DE12B7643D374BFF7E4FEB1C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 65BEFC705A89E5C8A9E35C97; projectDirPath = ""; projectRoot = ""; targets = (DE12B7643D374BFF7E4FEB1C); };
+ ADE6E539DB98A302483A82D0 = {isa = PBXProject; buildConfigurationList = 493C2C5E457692E5149C5525; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { DE12B7643D374BFF7E4FEB1C = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 65BEFC705A89E5C8A9E35C97; projectDirPath = ""; projectRoot = ""; targets = (DE12B7643D374BFF7E4FEB1C); };
};
rootObject = ADE6E539DB98A302483A82D0;
}
diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj
index 159ac25ee1..79d8209317 100644
--- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj
@@ -1692,6 +1692,9 @@
true
+
+ true
+
true
@@ -2343,6 +2346,7 @@
+
diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj.filters
index 6d07606e09..0f59b79582 100644
--- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj.filters
+++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host_App.vcxproj.filters
@@ -2023,6 +2023,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3861,6 +3864,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj
index 6270d9164e..ad18556753 100644
--- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj
@@ -1692,6 +1692,9 @@
true
+
+ true
+
true
@@ -2343,6 +2346,7 @@
+
diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj.filters
index 6609efc85b..b6d8976de1 100644
--- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj.filters
+++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host_App.vcxproj.filters
@@ -2023,6 +2023,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3861,6 +3864,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj b/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj
index 2cd44a7d60..a344bb4ce7 100644
--- a/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj
+++ b/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj
@@ -1692,6 +1692,9 @@
true
+
+ true
+
true
@@ -2343,6 +2346,7 @@
+
diff --git a/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj.filters
index 98c8d6c0dc..4325cf08dc 100644
--- a/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj.filters
+++ b/examples/audio plugin host/Builds/VisualStudio2017/Plugin Host_App.vcxproj.filters
@@ -2023,6 +2023,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3861,6 +3864,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
index 113c69a4b1..825da9d2cd 100644
--- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
+++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
@@ -1118,6 +1118,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"
"../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"
"../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"
+ "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"
"../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h"
@@ -1145,6 +1146,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"
"../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"
+ "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp"
"../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"
"../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp"
@@ -2263,6 +2265,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/j
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
@@ -2290,6 +2293,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_Sys
set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
diff --git a/extras/AudioPerformanceTest/Builds/Android/app/src/main/java/com/juce/audioperformancetest/AudioPerformanceTest.java b/extras/AudioPerformanceTest/Builds/Android/app/src/main/java/com/juce/audioperformancetest/AudioPerformanceTest.java
index 3858b4f3a5..dd09d14b5f 100644
--- a/extras/AudioPerformanceTest/Builds/Android/app/src/main/java/com/juce/audioperformancetest/AudioPerformanceTest.java
+++ b/extras/AudioPerformanceTest/Builds/Android/app/src/main/java/com/juce/audioperformancetest/AudioPerformanceTest.java
@@ -30,10 +30,12 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.net.http.SslError;
import android.net.Uri;
import android.os.Bundle;
import android.os.Looper;
import android.os.Handler;
+import android.os.Message;
import android.os.ParcelUuid;
import android.os.Environment;
import android.view.*;
@@ -47,6 +49,13 @@ import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceError;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
import java.lang.Runnable;
import java.lang.ref.WeakReference;
import java.lang.reflect.*;
@@ -2348,6 +2357,111 @@ public class AudioPerformanceTest extends Activity
startActivity (new Intent (Intent.ACTION_VIEW, Uri.parse (url)));
}
+ private native boolean webViewPageLoadStarted (long host, WebView view, String url);
+ private native void webViewPageLoadFinished (long host, WebView view, String url);
+ private native void webViewReceivedError (long host, WebView view, WebResourceRequest request, WebResourceError error); private native void webViewReceivedHttpError (long host, WebView view, WebResourceRequest request, WebResourceResponse errorResponse); private native void webViewReceivedSslError (long host, WebView view, SslErrorHandler handler, SslError error);
+ private native void webViewCloseWindowRequest (long host, WebView view);
+ private native void webViewCreateWindowRequest (long host, WebView view);
+
+ //==============================================================================
+ public class JuceWebViewClient extends WebViewClient
+ {
+ public JuceWebViewClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ public void hostDeleted()
+ {
+ synchronized (hostLock)
+ {
+ host = 0;
+ }
+ }
+
+ @Override
+ public void onPageFinished (WebView view, String url)
+ {
+ if (host == 0)
+ return;
+
+ webViewPageLoadFinished (host, view, url);
+ }
+
+ @Override
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedSslError (host, view, handler, error);
+ }
+
+ @Override
+ public void onReceivedError (WebView view, WebResourceRequest request, WebResourceError error)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedError (host, view, request, error);
+ }
+
+ @Override
+ public void onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
+ {
+ if (host == 0)
+ return;
+
+ webViewReceivedHttpError (host, view, request, errorResponse);
+ }
+
+ @Override
+ public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
+ {
+ synchronized (hostLock)
+ {
+ if (host != 0)
+ {
+ boolean shouldLoad = webViewPageLoadStarted (host, view, request.getUrl().toString());
+
+ if (shouldLoad)
+ return null;
+ }
+ }
+
+ return new WebResourceResponse ("text/html", null, null);
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ public class JuceWebChromeClient extends WebChromeClient
+ {
+ public JuceWebChromeClient (long hostToUse)
+ {
+ host = hostToUse;
+ }
+
+ @Override
+ public void onCloseWindow (WebView window)
+ {
+ webViewCloseWindowRequest (host, window);
+ }
+
+ @Override
+ public boolean onCreateWindow (WebView view, boolean isDialog,
+ boolean isUserGesture, Message resultMsg)
+ {
+ webViewCreateWindowRequest (host, view);
+ return false;
+ }
+
+ private long host;
+ private final Object hostLock = new Object();
+ }
+
+ //==============================================================================
public static final String getLocaleValue (boolean isRegion)
{
java.util.Locale locale = java.util.Locale.getDefault();
diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj
index bd9c194167..a3fbd23d2a 100644
--- a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj
+++ b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj
@@ -297,7 +297,7 @@
C86DD529EC94922C2AB61742,
6C2BE2DE2ECC96615ED827AB,
409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest - App"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; productType = "com.apple.product-type.application"; };
- 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); };
+ 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); };
};
rootObject = 9CE2A44801B5B4BE7A9667DA;
}
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj
index e06dcf6855..542518050d 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj
@@ -1666,6 +1666,9 @@
true
+
+ true
+
true
@@ -2263,6 +2266,7 @@
+
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj.filters
index 7d5f092477..25d5d9adef 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj.filters
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest_App.vcxproj.filters
@@ -1951,6 +1951,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3699,6 +3702,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj
index 41d850d5d5..a247b187f1 100644
--- a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj
+++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj
@@ -311,7 +311,7 @@
C86DD529EC94922C2AB61742,
6C2BE2DE2ECC96615ED827AB,
409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest - App"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; productType = "com.apple.product-type.application"; };
- 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); };
+ 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); };
};
rootObject = 9CE2A44801B5B4BE7A9667DA;
}
diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj
index 6a57c2af03..dd322c6155 100644
--- a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj
+++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj
@@ -991,7 +991,7 @@
C262D0F297DDE25326F5AC81,
5CB869A8DA78BE6FA2757034,
D150288A32EE596408C2B99F, ); buildRules = ( ); dependencies = ( ); name = "Projucer - App"; productName = Projucer; productReference = 09DE066936CF037E9709ADB1; productType = "com.apple.product-type.application"; };
- 74EA481348A24104E6ACE009 = {isa = PBXProject; buildConfigurationList = F90407F24422C589DA251604; attributes = { LastUpgradeCheck = 0830; TargetAttributes = { 0039FE1A254FE518518BF8B8 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3CC531922CC2D398E283A845; projectDirPath = ""; projectRoot = ""; targets = (0039FE1A254FE518518BF8B8); };
+ 74EA481348A24104E6ACE009 = {isa = PBXProject; buildConfigurationList = F90407F24422C589DA251604; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; TargetAttributes = { 0039FE1A254FE518518BF8B8 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3CC531922CC2D398E283A845; projectDirPath = ""; projectRoot = ""; targets = (0039FE1A254FE518518BF8B8); };
};
rootObject = 74EA481348A24104E6ACE009;
}
diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj
index aa9dec52c2..1b9a27302c 100644
--- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj
+++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj
@@ -1362,6 +1362,9 @@
true
+
+ true
+
true
@@ -1945,6 +1948,7 @@
+
diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters
index 63d86df63c..67ac36f1a7 100644
--- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters
+++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters
@@ -1678,6 +1678,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3384,6 +3387,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj
index 194010458d..2464b071be 100644
--- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj
+++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj
@@ -1362,6 +1362,9 @@
true
+
+ true
+
true
@@ -1945,6 +1948,7 @@
+
diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters
index c7b851af10..33faafd3b5 100644
--- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters
+++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters
@@ -1678,6 +1678,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3384,6 +3387,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj
index a234bb29c7..42d6320ed0 100644
--- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj
+++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj
@@ -1362,6 +1362,9 @@
true
+
+ true
+
true
@@ -1945,6 +1948,7 @@
+
diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters
index c81bbc828c..8a54c47c53 100644
--- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters
+++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters
@@ -1678,6 +1678,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3384,6 +3387,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj
index 21f06a8902..6e24f85440 100644
--- a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj
+++ b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj
@@ -357,7 +357,7 @@
DD4C62A6EA1FD3497B42CDB0,
E8585DDC9F9A0EE2FB82FA52,
136E27FD16209F9868093A6C, ); buildRules = ( ); dependencies = ( ); name = "UnitTestRunner - ConsoleApp"; productName = UnitTestRunner; productReference = 080EAB9CF5AB2BD6B2BBB173; productType = "com.apple.product-type.tool"; };
- E1E93F2B4B2D17E011395520 = {isa = PBXProject; buildConfigurationList = 18FC121B1014F7999CD135D3; attributes = { LastUpgradeCheck = 0830; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 99F3717D3FEAFDCA3C22E868; projectDirPath = ""; projectRoot = ""; targets = (B0D62ED1051EE9DFD49F6321); };
+ E1E93F2B4B2D17E011395520 = {isa = PBXProject; buildConfigurationList = 18FC121B1014F7999CD135D3; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 99F3717D3FEAFDCA3C22E868; projectDirPath = ""; projectRoot = ""; targets = (B0D62ED1051EE9DFD49F6321); };
};
rootObject = E1E93F2B4B2D17E011395520;
}
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
index 5989490265..cce4d554a0 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
@@ -1776,6 +1776,9 @@
true
+
+ true
+
true
@@ -2533,6 +2536,7 @@
+
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
index fdfe88cf2f..ba7d7f7109 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -2167,6 +2167,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -4230,6 +4233,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding
diff --git a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
index 06622a1123..4cff0bf48e 100644
--- a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
+++ b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
@@ -197,7 +197,7 @@
4F5C64675AD3AC67829798FF,
A69CF4AD8F7015A8D3228FDE,
2722C90F3B5DAD661891FDF4, ); buildRules = ( ); dependencies = ( ); name = "BinaryBuilder - ConsoleApp"; productName = BinaryBuilder; productReference = 799073185F72F5FAD05253C3; productType = "com.apple.product-type.tool"; };
- 36B6F402BC83F21646259DEF = {isa = PBXProject; buildConfigurationList = E4C85B0464A93027D035AA1F; attributes = { LastUpgradeCheck = 0830; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C18D022743CF5BD14D6A6A9E; projectDirPath = ""; projectRoot = ""; targets = (80B70DE094998C267F152DD5); };
+ 36B6F402BC83F21646259DEF = {isa = PBXProject; buildConfigurationList = E4C85B0464A93027D035AA1F; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "ROLI Ltd."; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C18D022743CF5BD14D6A6A9E; projectDirPath = ""; projectRoot = ""; targets = (80B70DE094998C267F152DD5); };
};
rootObject = 36B6F402BC83F21646259DEF;
}
diff --git a/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj b/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj
index a1f0d8cc10..318bb5532e 100644
--- a/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj
+++ b/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj
@@ -1686,6 +1686,9 @@
true
+
+ true
+
true
@@ -2331,6 +2334,7 @@
+
diff --git a/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj.filters b/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj.filters
index 41f6e7225b..f714b287cc 100644
--- a/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj.filters
+++ b/extras/windows dll/Builds/VisualStudio2017/juce_dll_StaticLibrary.vcxproj.filters
@@ -2002,6 +2002,9 @@
Juce Modules\juce_gui_extra\native
+
+ Juce Modules\juce_gui_extra\native
+
Juce Modules\juce_gui_extra\native
@@ -3822,6 +3825,9 @@
Juce Modules\juce_gui_extra\embedding
+
+ Juce Modules\juce_gui_extra\embedding
+
Juce Modules\juce_gui_extra\embedding