Browse Source

Refresh juce-current patches

tags/2020-12-27
falkTX 3 years ago
parent
commit
39afc6f636
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
31 changed files with 782 additions and 3416 deletions
  1. +1
    -1
      libs/juce-current/patches/01_audiodevicemanager-prefer-jack-over-alsa.patch
  2. +0
    -0
      libs/juce-current/patches/02_flac-assume-sse-present.patch
  3. +1
    -1
      libs/juce-current/patches/03_fix-midi-message-constness.patch
  4. +238
    -161
      libs/juce-current/patches/04_vst2-interface.patch
  5. +58
    -0
      libs/juce-current/patches/05_mingw-fixes.patch
  6. +307
    -0
      libs/juce-current/patches/06_old-compiler-compatibility.patch
  7. +2
    -2
      libs/juce-current/patches/07_allow-local-ladspa.patch
  8. +63
    -9
      libs/juce-current/patches/08_remove-splashscreen.patch
  9. +1
    -1
      libs/juce-current/patches/09_proper-getExecutableFile.patch
  10. +6
    -6
      libs/juce-current/patches/10_fix-fork-exec-usage.patch
  11. +22
    -22
      libs/juce-current/patches/11_childprocess-getPID.patch
  12. +4
    -4
      libs/juce-current/patches/12_linux-filechooser-needs-modal-loops.patch
  13. +8
    -8
      libs/juce-current/patches/13_dialogwindow-allow-native-titlebar.patch
  14. +2
    -2
      libs/juce-current/patches/14_fix-x11-temporary-windows.patch
  15. +1
    -1
      libs/juce-current/patches/15_fix-linux-thread-prio.patch
  16. +10
    -2
      libs/juce-current/patches/16_lv2-definitions.patch
  17. +14
    -0
      libs/juce-current/patches/17_allow-vst2-without-audio.patch
  18. +13
    -0
      libs/juce-current/patches/17_dynamic-vst2-plugin-name.patch
  19. +10
    -8
      libs/juce-current/patches/18_fix-vst2-linux-gui-init.patch
  20. +3
    -3
      libs/juce-current/patches/19_messagemanager-dispatch-public.patch
  21. +18
    -18
      libs/juce-current/patches/20_audioprocessor-no-gui.patch
  22. +0
    -12
      libs/juce-current/patches/audioprocessors_lv2type.patch
  23. +0
    -54
      libs/juce-current/patches/audioprocessors_no-splash-screen_pt2.patch
  24. +0
    -2991
      libs/juce-current/patches/juce_vst_interface.patch
  25. +0
    -0
      libs/juce-current/patches/maybe-not-needed/_haiku.patch
  26. +0
    -0
      libs/juce-current/patches/maybe-not-needed/vst2-linux-fix-scale-factor.patch
  27. +0
    -0
      libs/juce-current/patches/maybe-not-needed/vst3-linux-fix-scale-factor.patch
  28. +0
    -14
      libs/juce-current/patches/mingw-fixes_pt1.patch
  29. +0
    -15
      libs/juce-current/patches/use-mingw-std-threads.patch
  30. +0
    -47
      libs/juce-current/patches/vst2-support_pt2.patch
  31. +0
    -34
      libs/juce-current/patches/vstwrapper-fixes.patch

libs/juce-current/patches/audiodevicemanager_prefer-jack-over-alsa.patch → libs/juce-current/patches/01_audiodevicemanager-prefer-jack-over-alsa.patch View File

@@ -1,5 +1,5 @@
diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp
index 823a1b209..eff47377b 100644
index dc2ad8e3b..1f03bc047 100644
--- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp
+++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp
@@ -184,8 +184,8 @@ void AudioDeviceManager::createAudioDeviceTypes (OwnedArray<AudioIODeviceType>&

libs/juce-current/patches/flac-assume-sse.patch → libs/juce-current/patches/02_flac-assume-sse-present.patch View File


libs/juce-current/patches/fix-midi-message-constness.patch → libs/juce-current/patches/03_fix-midi-message-constness.patch View File

@@ -1,5 +1,5 @@
diff --git a/modules/juce_audio_basics/midi/juce_MidiMessage.h b/modules/juce_audio_basics/midi/juce_MidiMessage.h
index 5628c3ae9..207bb9a0b 100644
index 2d9e5adf0..30a609cec 100644
--- a/modules/juce_audio_basics/midi/juce_MidiMessage.h
+++ b/modules/juce_audio_basics/midi/juce_MidiMessage.h
@@ -945,7 +945,7 @@ private:

libs/juce-current/patches/04_vst2-interface.patch
File diff suppressed because it is too large
View File


+ 58
- 0
libs/juce-current/patches/05_mingw-fixes.patch View File

@@ -0,0 +1,58 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index 1543af1ba..c5e96d204 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -61,7 +61,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996 4100)
#define PRAGMA_ALIGN_SUPPORTED 1
#endif
-#ifndef _MSC_VER
+#if ! JUCE_WINDOWS
#define __cdecl
#endif
diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
index 6bea84307..baaa59f06 100644
--- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
+++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
@@ -73,11 +73,6 @@
#define JucePlugin_Build_RTAS 0
#endif
-#if ! (defined (_MSC_VER) || defined (__APPLE_CPP__) || defined (__APPLE_CC__) || defined (LINUX) || defined (__linux__))
- #undef JucePlugin_Build_VST3
- #define JucePlugin_Build_VST3 0
-#endif
-
//==============================================================================
#if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
#error "You need to define the JucePlugin_LV2URI value!"
diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
index e32d01ed0..c473fb85d 100644
--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
@@ -61,9 +61,6 @@ JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4355)
#ifndef WM_APPCOMMAND
#define WM_APPCOMMAND 0x0319
#endif
-
- extern "C" void _fpreset();
- extern "C" void _clearfp();
#elif ! JUCE_WINDOWS
static void _fpreset() {}
static void _clearfp() {}
diff --git a/modules/juce_core/threads/juce_WaitableEvent.h b/modules/juce_core/threads/juce_WaitableEvent.h
index 52269f706..670903653 100644
--- a/modules/juce_core/threads/juce_WaitableEvent.h
+++ b/modules/juce_core/threads/juce_WaitableEvent.h
@@ -20,6 +20,10 @@
==============================================================================
*/
+#if JUCE_MINGW && !defined(_GLIBCXX_HAS_GTHREADS)
+#include "mingw-std-threads/mingw.condition_variable.h"
+#endif
+
namespace juce
{

+ 307
- 0
libs/juce-current/patches/06_old-compiler-compatibility.patch View File

@@ -0,0 +1,307 @@
diff --git a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h
index 656ab3321..c40e854aa 100644
--- a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h
+++ b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h
@@ -20,6 +20,11 @@
==============================================================================
*/
+#ifndef __clang__
+// GCC4 compatibility
+namespace std { using ::max_align_t; }
+#endif
+
namespace juce
{
diff --git a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h
index ac5ce32da..f0cd938ae 100644
--- a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h
+++ b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h
@@ -236,8 +236,10 @@ private:
{ kAudioChannelLayoutTag_AAC_6_0, { centre, left, right, leftSurround, rightSurround, centreSurround } },
{ kAudioChannelLayoutTag_AAC_6_1, { centre, left, right, leftSurround, rightSurround, centreSurround, LFE } },
{ kAudioChannelLayoutTag_AAC_7_0, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } },
+#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
{ kAudioChannelLayoutTag_AAC_7_1_B, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, LFE } },
{ kAudioChannelLayoutTag_AAC_7_1_C, { centre, left, right, leftSurround, rightSurround, LFE, topFrontLeft, topFrontRight } },
+#endif
{ kAudioChannelLayoutTag_AAC_Octagonal, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, centreSurround } },
{ kAudioChannelLayoutTag_TMH_10_2_std, { left, right, centre, topFrontCentre, leftSurroundSide, rightSurroundSide, leftSurround, rightSurround, topFrontLeft, topFrontRight, wideLeft, wideRight, topRearCentre, centreSurround, LFE, LFE2 } },
{ kAudioChannelLayoutTag_AC3_1_0_1, { centre, LFE } },
diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
index 892312098..411bf2097 100644
--- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
+++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
@@ -58,6 +58,10 @@
namespace juce
{
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_8
+static const uint32 kAudioUnitType_MIDIProcessor = 'aumi';
+#endif
+
// Change this to disable logging of various activities
#ifndef AU_LOGGING
#define AU_LOGGING 1
@@ -274,7 +278,7 @@ namespace AudioUnitFormatHelpers
NSBundle* bundle = [[NSBundle alloc] initWithPath: (NSString*) fileOrIdentifier.toCFString()];
NSArray* audioComponents = [bundle objectForInfoDictionaryKey: @"AudioComponents"];
- NSDictionary* dict = audioComponents[0];
+ NSDictionary* dict = [audioComponents objectAtIndex: 0];
desc.componentManufacturer = stringToOSType (nsStringToJuce ((NSString*) [dict valueForKey: @"manufacturer"]));
desc.componentType = stringToOSType (nsStringToJuce ((NSString*) [dict valueForKey: @"type"]));
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
index 02c3de12e..ae60fde15 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
@@ -1184,7 +1184,7 @@ public:
String xMeterID, yMeterID;
};
- virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return {}; }
+ virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return CurveData(); }
//==============================================================================
/** Not for public use - this is called before deleting an editor component. */
diff --git a/modules/juce_core/native/juce_osx_ObjCHelpers.h b/modules/juce_core/native/juce_osx_ObjCHelpers.h
index 407d263d0..f2dc28e36 100644
--- a/modules/juce_core/native/juce_osx_ObjCHelpers.h
+++ b/modules/juce_core/native/juce_osx_ObjCHelpers.h
@@ -71,7 +71,7 @@ inline NSArray* varArrayToNSArray (const var& varToParse);
inline NSDictionary* varObjectToNSDictionary (const var& varToParse)
{
- auto dictionary = [NSMutableDictionary dictionary];
+ NSDictionary* dictionary = [NSMutableDictionary dictionary];
if (varToParse.isObject())
{
@@ -118,7 +118,7 @@ inline NSArray* varArrayToNSArray (const var& varToParse)
const auto* varArray = varToParse.getArray();
- auto array = [NSMutableArray arrayWithCapacity: (NSUInteger) varArray->size()];
+ NSArray* array = [NSMutableArray arrayWithCapacity: (NSUInteger) varArray->size()];
for (const auto& aVar : *varArray)
{
@@ -152,7 +152,8 @@ inline var nsDictionaryToVar (NSDictionary* dictionary)
DynamicObject::Ptr dynamicObject (new DynamicObject());
for (NSString* key in dictionary)
- dynamicObject->setProperty (nsStringToJuce (key), nsObjectToVar (dictionary[key]));
+ dynamicObject->setProperty (nsStringToJuce (key),
+ nsObjectToVar ([dictionary objectForKey: key]));
return var (dynamicObject.get());
}
diff --git a/modules/juce_core/system/juce_CompilerSupport.h b/modules/juce_core/system/juce_CompilerSupport.h
index e4d87ab97..ddeef94a5 100644
--- a/modules/juce_core/system/juce_CompilerSupport.h
+++ b/modules/juce_core/system/juce_CompilerSupport.h
@@ -92,7 +92,7 @@
//==============================================================================
// C++ library
-#if (defined (__GLIBCXX__) && __GLIBCXX__ < 20130322) || (defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION < 3700))
+#if (defined (__GLIBCXX__) && __GLIBCXX__ < 20130322)
#error "JUCE requires a C++ library containing std::atomic"
#endif
diff --git a/modules/juce_core/system/juce_PlatformDefs.h b/modules/juce_core/system/juce_PlatformDefs.h
index 52db7c6d6..96ce314d8 100644
--- a/modules/juce_core/system/juce_PlatformDefs.h
+++ b/modules/juce_core/system/juce_PlatformDefs.h
@@ -99,11 +99,7 @@ namespace juce
deliberately and want to ignore the warning.
*/
#if JUCE_CLANG
- #if __has_cpp_attribute(clang::fallthrough)
- #define JUCE_FALLTHROUGH [[clang::fallthrough]];
- #else
- #define JUCE_FALLTHROUGH
- #endif
+ #define JUCE_FALLTHROUGH [[clang::fallthrough]];
#elif JUCE_GCC
#if __GNUC__ >= 7
#define JUCE_FALLTHROUGH [[gnu::fallthrough]];
diff --git a/modules/juce_core/system/juce_TargetPlatform.h b/modules/juce_core/system/juce_TargetPlatform.h
index cf610da9a..9173cc34d 100644
--- a/modules/juce_core/system/juce_TargetPlatform.h
+++ b/modules/juce_core/system/juce_TargetPlatform.h
@@ -144,8 +144,8 @@
#endif
#if JUCE_MAC
- #if ! defined (MAC_OS_X_VERSION_10_11)
- #error "The 10.11 SDK (Xcode 7.3.1+) is required to build JUCE apps. You can create apps that run on macOS 10.7+ by changing the deployment target."
+ #if ! defined (MAC_OS_X_VERSION_10_8)
+ #error "The 10.8 SDK is required to build JUCE apps. You can create apps that run on macOS 10.7+ by changing the deployment target."
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
#error "Building for OSX 10.6 is no longer supported!"
#endif
diff --git a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm
index 37bf13094..60467ef61 100644
--- a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm
+++ b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm
@@ -26,6 +26,10 @@
namespace juce
{
+#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_8
+ #define __nullable
+#endif
+
//==============================================================================
// This class has been renamed from CoreGraphicsImage to avoid a symbol
// collision in Pro Tools 2019.12 and possibly 2020 depending on the Pro Tools
diff --git a/modules/juce_graphics/native/juce_mac_Fonts.mm b/modules/juce_graphics/native/juce_mac_Fonts.mm
index b6a918ce1..65b094343 100644
--- a/modules/juce_graphics/native/juce_mac_Fonts.mm
+++ b/modules/juce_graphics/native/juce_mac_Fonts.mm
@@ -362,20 +362,20 @@ namespace CoreTextTypeLayout
auto verticalJustification = text.getJustification().getOnlyVerticalFlags();
- auto ctFrameArea = [area, minCTFrameHeight, verticalJustification]
+ const Rectangle<float> ctFrameArea = [area, minCTFrameHeight, verticalJustification]
{
if (minCTFrameHeight < area.getHeight())
- return area;
+ return Rectangle<float> (area);
if (verticalJustification == Justification::verticallyCentred)
return area.withSizeKeepingCentre (area.getWidth(), minCTFrameHeight);
- auto frameArea = area.withHeight (minCTFrameHeight);
+ const Rectangle<float> frameArea = area.withHeight (minCTFrameHeight);
if (verticalJustification == Justification::bottom)
return frameArea.withBottomY (area.getBottom());
- return frameArea;
+ return Rectangle<float> (frameArea);
}();
auto frame = createCTFrame (framesetter, CGRectMake ((CGFloat) ctFrameArea.getX(), flipHeight - (CGFloat) ctFrameArea.getBottom(),
diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
index 7adb2a869..48ae2951b 100644
--- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
+++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
@@ -1528,17 +1528,21 @@ private:
case NSEventTypeSystemDefined:
case NSEventTypeApplicationDefined:
case NSEventTypePeriodic:
+ #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
case NSEventTypeGesture:
+ #endif
case NSEventTypeMagnify:
case NSEventTypeSwipe:
case NSEventTypeRotate:
case NSEventTypeBeginGesture:
case NSEventTypeEndGesture:
case NSEventTypeQuickLook:
- #if JUCE_64BIT
+ #if JUCE_64BIT
case NSEventTypeSmartMagnify:
+ #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
case NSEventTypePressure:
#endif
+ #endif
#if defined (MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12
#if JUCE_64BIT
case NSEventTypeDirectTouch:
diff --git a/modules/juce_gui_basics/native/juce_mac_Windowing.mm b/modules/juce_gui_basics/native/juce_mac_Windowing.mm
index 5ffbe393c..ddb5aedc5 100644
--- a/modules/juce_gui_basics/native/juce_mac_Windowing.mm
+++ b/modules/juce_gui_basics/native/juce_mac_Windowing.mm
@@ -309,7 +309,7 @@ bool DragAndDropContainer::performExternalDragDropOfFiles (const StringArray& fi
for (auto& filename : files)
{
auto* nsFilename = juceStringToNS (filename);
- auto fileURL = [NSURL fileURLWithPath: nsFilename];
+ NSURL* fileURL = [NSURL fileURLWithPath: nsFilename];
auto dragItem = [[NSDraggingItem alloc] initWithPasteboardWriter: fileURL];
auto eventPos = [event locationInWindow];
diff --git a/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp b/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
index cf8df3b72..6f8417340 100644
--- a/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
+++ b/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
@@ -3054,7 +3054,7 @@ void XWindowSystem::handleButtonPressEvent (LinuxComponentPeer<::Window>* peer,
peer->toFront (true);
peer->handleMouseEvent (MouseInputSource::InputSourceType::mouse, getLogicalMousePos (buttonPressEvent, peer->getPlatformScaleFactor()),
ModifierKeys::currentModifiers, MouseInputSource::invalidPressure,
- MouseInputSource::invalidOrientation, getEventTime (buttonPressEvent), {});
+ MouseInputSource::invalidOrientation, getEventTime (buttonPressEvent));
}
void XWindowSystem::handleButtonPressEvent (LinuxComponentPeer<::Window>* peer, const XButtonPressedEvent& buttonPressEvent) const
diff --git a/modules/juce_gui_basics/windows/juce_ComponentPeer.h b/modules/juce_gui_basics/windows/juce_ComponentPeer.h
index 3dacc095a..820987e94 100644
--- a/modules/juce_gui_basics/windows/juce_ComponentPeer.h
+++ b/modules/juce_gui_basics/windows/juce_ComponentPeer.h
@@ -314,7 +314,7 @@ public:
//==============================================================================
void handleMouseEvent (MouseInputSource::InputSourceType type, Point<float> positionWithinPeer, ModifierKeys newMods, float pressure,
- float orientation, int64 time, PenDetails pen = {}, int touchIndex = 0);
+ float orientation, int64 time, PenDetails pen = PenDetails(), int touchIndex = 0);
void handleMouseWheel (MouseInputSource::InputSourceType type, Point<float> positionWithinPeer,
int64 time, const MouseWheelDetails&, int touchIndex = 0);
diff --git a/modules/juce_gui_extra/juce_gui_extra.cpp b/modules/juce_gui_extra/juce_gui_extra.cpp
index d4ebed7fd..df48cceaf 100644
--- a/modules/juce_gui_extra/juce_gui_extra.cpp
+++ b/modules/juce_gui_extra/juce_gui_extra.cpp
@@ -142,7 +142,9 @@
#include "misc/juce_PushNotifications.cpp"
#include "misc/juce_RecentlyOpenedFilesList.cpp"
#include "misc/juce_SplashScreen.cpp"
+#if !JUCE_MAC || MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
#include "misc/juce_SystemTrayIconComponent.cpp"
+#endif
#include "misc/juce_LiveConstantEditor.cpp"
#include "misc/juce_AnimatedAppComponent.cpp"
@@ -154,7 +156,9 @@
#if JUCE_MAC
#include "native/juce_mac_NSViewComponent.mm"
#include "native/juce_mac_AppleRemote.mm"
- #include "native/juce_mac_SystemTrayIcon.cpp"
+ #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
+ #include "native/juce_mac_SystemTrayIcon.cpp"
+ #endif
#endif
#if JUCE_IOS
diff --git a/modules/juce_gui_extra/juce_gui_extra.h b/modules/juce_gui_extra/juce_gui_extra.h
index 822c1885e..77e78c87a 100644
--- a/modules/juce_gui_extra/juce_gui_extra.h
+++ b/modules/juce_gui_extra/juce_gui_extra.h
@@ -115,7 +115,9 @@
#include "misc/juce_PushNotifications.h"
#include "misc/juce_RecentlyOpenedFilesList.h"
#include "misc/juce_SplashScreen.h"
+#if !JUCE_MAC || MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
#include "misc/juce_SystemTrayIconComponent.h"
+#endif
#include "misc/juce_WebBrowserComponent.h"
#include "misc/juce_LiveConstantEditor.h"
#include "misc/juce_AnimatedAppComponent.h"
diff --git a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp
index 9786c0875..34695b5e1 100644
--- a/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp
+++ b/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp
@@ -157,7 +157,7 @@ void RecentlyOpenedFilesList::forgetRecentFileNatively (const File& file)
// from the recent list, so we clear them all and add them back excluding
// the specified file
- auto sharedDocController = [NSDocumentController sharedDocumentController];
+ NSDocumentController* sharedDocController = [NSDocumentController sharedDocumentController];
auto recentDocumentURLs = [sharedDocController recentDocumentURLs];
[sharedDocController clearRecentDocuments: nil];

libs/juce-current/patches/local-ladspa.patch → libs/juce-current/patches/07_allow-local-ladspa.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp
index d65642de6..050941c6c 100644
index 19f1d7ac7..8ffe16b06 100644
--- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp
+++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp
@@ -18,7 +18,7 @@
@@ -25,7 +25,7 @@
#if JUCE_PLUGINHOST_LADSPA && JUCE_LINUX

libs/juce-current/patches/audioprocessors_no-splash-screen.patch → libs/juce-current/patches/08_remove-splashscreen.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp
index b9df89ed9..1f40e3eaa 100644
index 6a84b4eaf..670cb3969 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp
@@ -33,8 +33,6 @@ AudioProcessorEditor::AudioProcessorEditor (AudioProcessor* p) noexcept : proce
@@ -40,8 +40,6 @@ AudioProcessorEditor::AudioProcessorEditor (AudioProcessor* p) noexcept : proce
AudioProcessorEditor::~AudioProcessorEditor()
{
@@ -11,7 +11,7 @@ index b9df89ed9..1f40e3eaa 100644
// if this fails, then the wrapper hasn't called editorBeingDeleted() on the
// filter for some reason..
jassert (processor.getActiveEditor() != this);
@@ -49,23 +47,6 @@ void AudioProcessorEditor::hostMIDIControllerIsAvailable (bool) {
@@ -56,23 +54,6 @@ void AudioProcessorEditor::hostMIDIControllerIsAvailable (bool) {
void AudioProcessorEditor::initialise()
{
@@ -36,10 +36,10 @@ index b9df89ed9..1f40e3eaa 100644
attachConstrainer (&defaultConstrainer);
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h
index 847707ea8..c33cbe73d 100644
index ff694b78f..07d3765f4 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h
@@ -199,7 +199,6 @@ private:
@@ -206,7 +206,6 @@ private:
bool resizable;
ComponentBoundsConstrainer defaultConstrainer;
ComponentBoundsConstrainer* constrainer = {};
@@ -48,10 +48,10 @@ index 847707ea8..c33cbe73d 100644
JUCE_DECLARE_NON_COPYABLE (AudioProcessorEditor)
diff --git a/modules/juce_gui_basics/juce_gui_basics.cpp b/modules/juce_gui_basics/juce_gui_basics.cpp
index 7c6273a54..ca0c5e227 100644
index 056ff591b..a4d798606 100644
--- a/modules/juce_gui_basics/juce_gui_basics.cpp
+++ b/modules/juce_gui_basics/juce_gui_basics.cpp
@@ -211,7 +211,6 @@ namespace juce
@@ -218,7 +218,6 @@ namespace juce
#include "application/juce_Application.cpp"
#include "misc/juce_BubbleComponent.cpp"
#include "misc/juce_DropShadower.cpp"
@@ -60,10 +60,10 @@ index 7c6273a54..ca0c5e227 100644
#include "layout/juce_FlexBox.cpp"
#include "layout/juce_GridItem.cpp"
diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h
index 8085c6eae..038f679fd 100644
index fc4acbd6b..d20a707a3 100644
--- a/modules/juce_gui_basics/juce_gui_basics.h
+++ b/modules/juce_gui_basics/juce_gui_basics.h
@@ -243,7 +243,6 @@ namespace juce
@@ -250,7 +250,6 @@ namespace juce
#include "menus/juce_BurgerMenuComponent.h"
#include "buttons/juce_ToolbarButton.h"
#include "misc/juce_DropShadower.h"
@@ -71,3 +71,57 @@ index 8085c6eae..038f679fd 100644
#include "widgets/juce_TreeView.h"
#include "windows/juce_TopLevelWindow.h"
#include "windows/juce_AlertWindow.h"
diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
index e78d4d330..d1d20d6c7 100644
--- a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
+++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
@@ -41,8 +41,6 @@ ResizableWindow::ResizableWindow (const String& name, Colour bkgnd, bool shouldA
ResizableWindow::~ResizableWindow()
{
- splashScreen.deleteAndZero();
-
// Don't delete or remove the resizer components yourself! They're managed by the
// ResizableWindow, and you should leave them alone! You may have deleted them
// accidentally by careless use of deleteAllChildren()..?
@@ -60,27 +58,6 @@ ResizableWindow::~ResizableWindow()
void ResizableWindow::initialise (const bool shouldAddToDesktop)
{
- /*
- ==========================================================================
-
- In accordance with the terms of the JUCE 5 End-Use License Agreement, the
- JUCE Code in SECTION A cannot be removed, changed or otherwise rendered
- ineffective unless you have a JUCE Indie or Pro license, or are using
- JUCE under the GPL v3 license.
-
- End User License Agreement: www.juce.com/juce-5-licence
-
- ==========================================================================
- */
-
- // BEGIN SECTION A
-
- #if ! JucePlugin_Build_Standalone
- splashScreen = new JUCESplashScreen (*this);
- #endif
-
- // END SECTION A
-
defaultConstrainer.setMinimumOnscreenAmounts (0x10000, 16, 24, 16);
lastNonFullScreenPos.setBounds (50, 50, 256, 256);
diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.h b/modules/juce_gui_basics/windows/juce_ResizableWindow.h
index d67303595..e59f620c1 100644
--- a/modules/juce_gui_basics/windows/juce_ResizableWindow.h
+++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.h
@@ -383,7 +383,7 @@ protected:
private:
//==============================================================================
- Component::SafePointer<Component> contentComponent, splashScreen;
+ Component::SafePointer<Component> contentComponent;
bool ownsContentComponent = false, resizeToFitContent = false, fullscreen = false, canDrag = true, dragStarted = false;
ComponentDragger dragger;
Rectangle<int> lastNonFullScreenPos;

libs/juce-current/patches/proper-posix-getExecutableFile.patch → libs/juce-current/patches/09_proper-getExecutableFile.patch View File

@@ -1,5 +1,5 @@
diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h
index 1fc1f00b7..2b0e16844 100644
index 982db865b..cfdd2d1cd 100644
--- a/modules/juce_core/native/juce_posix_SharedCode.h
+++ b/modules/juce_core/native/juce_posix_SharedCode.h
@@ -590,12 +590,39 @@ File juce_getExecutableFile()

libs/juce-current/patches/use-vfork+consistency.patch → libs/juce-current/patches/10_fix-fork-exec-usage.patch View File

@@ -1,5 +1,5 @@
diff --git a/modules/juce_core/native/juce_linux_Files.cpp b/modules/juce_core/native/juce_linux_Files.cpp
index e794447c3..4f8918375 100644
index d2a302e3e..3dc4602ce 100644
--- a/modules/juce_core/native/juce_linux_Files.cpp
+++ b/modules/juce_core/native/juce_linux_Files.cpp
@@ -211,15 +211,21 @@ bool Process::openDocument (const String& fileName, const String& parameters)
@@ -28,7 +28,7 @@ index e794447c3..4f8918375 100644
return cpid >= 0;
diff --git a/modules/juce_core/native/juce_mac_Files.mm b/modules/juce_core/native/juce_mac_Files.mm
index 73ed29f4e..d6c4fcf3e 100644
index d26443079..616677e1f 100644
--- a/modules/juce_core/native/juce_mac_Files.mm
+++ b/modules/juce_core/native/juce_mac_Files.mm
@@ -92,23 +92,22 @@ namespace MacFileHelpers
@@ -65,10 +65,10 @@ index 73ed29f4e..d6c4fcf3e 100644
#endif
}
diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h
index 2b0e16844..fc04da66a 100644
index cfdd2d1cd..332a64959 100644
--- a/modules/juce_core/native/juce_posix_SharedCode.h
+++ b/modules/juce_core/native/juce_posix_SharedCode.h
@@ -1090,7 +1090,18 @@ public:
@@ -1092,7 +1092,18 @@ public:
if (pipe (pipeHandles) == 0)
{
@@ -88,7 +88,7 @@ index 2b0e16844..fc04da66a 100644
if (result < 0)
{
@@ -1099,6 +1110,7 @@ public:
@@ -1101,6 +1112,7 @@ public:
}
else if (result == 0)
{
@@ -96,7 +96,7 @@ index 2b0e16844..fc04da66a 100644
// we're the child process..
close (pipeHandles[0]); // close the read handle
@@ -1113,17 +1125,10 @@ public:
@@ -1115,17 +1127,10 @@ public:
dup2 (open ("/dev/null", O_WRONLY), STDERR_FILENO);
close (pipeHandles[1]);

libs/juce-current/patches/childprocess_getpid.patch → libs/juce-current/patches/11_childprocess-getPID.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h
index ea007b1..f6faa5b 100644
--- a/modules/juce_core/native/juce_posix_SharedCode.h
+++ b/modules/juce_core/native/juce_posix_SharedCode.h
@@ -1234,6 +1234,11 @@ public:
diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h
index 332a64959..c6d95a93a 100644
--- a/modules/juce_core/native/juce_posix_SharedCode.h
+++ b/modules/juce_core/native/juce_posix_SharedCode.h
@@ -1227,6 +1227,11 @@ public:
return 0;
}
@@ -14,11 +14,11 @@ index ea007b1..f6faa5b 100644
int childPID = 0;
int pipeHandle = 0;
int exitCode = -1;
diff --git a/modules/juce_core/native/juce_win32_Threads.cpp b/modules/juce_core/native/juce_win32_Threads.cpp
index 68d891f..d38b733 100644
--- a/modules/juce_core/native/juce_win32_Threads.cpp
+++ b/modules/juce_core/native/juce_win32_Threads.cpp
@@ -488,6 +488,11 @@ public:
diff --git a/modules/juce_core/native/juce_win32_Threads.cpp b/modules/juce_core/native/juce_win32_Threads.cpp
index dbe0c6b5d..098416bd9 100644
--- a/modules/juce_core/native/juce_win32_Threads.cpp
+++ b/modules/juce_core/native/juce_win32_Threads.cpp
@@ -477,6 +477,11 @@ public:
return (uint32) exitCode;
}
@@ -30,27 +30,27 @@ index 68d891f..d38b733 100644
bool ok;
private:
diff --git a/modules/juce_core/threads/juce_ChildProcess.cpp b/modules/juce_core/threads/juce_ChildProcess.cpp
index 5648c5d..262882b 100644
--- a/modules/juce_core/threads/juce_ChildProcess.cpp
+++ b/modules/juce_core/threads/juce_ChildProcess.cpp
@@ -75,6 +75,11 @@ String ChildProcess::readAllProcessOutput()
return result.toString();
diff --git a/modules/juce_core/threads/juce_ChildProcess.cpp b/modules/juce_core/threads/juce_ChildProcess.cpp
index 3b284c25a..31e9c8d94 100644
--- a/modules/juce_core/threads/juce_ChildProcess.cpp
+++ b/modules/juce_core/threads/juce_ChildProcess.cpp
@@ -81,6 +81,11 @@ String ChildProcess::readAllProcessOutput()
}
+uint32 ChildProcess::getPID() const noexcept
+{
+ return activeProcess != nullptr ? activeProcess->getPID() : 0;
+}
+
//==============================================================================
//==============================================================================
#if JUCE_UNIT_TESTS
diff --git a/modules/juce_core/threads/juce_ChildProcess.h b/modules/juce_core/threads/juce_ChildProcess.h
index b2bd0e1..cbc380d 100644
--- a/modules/juce_core/threads/juce_ChildProcess.h
+++ b/modules/juce_core/threads/juce_ChildProcess.h
@@ -99,6 +99,8 @@ public:
diff --git a/modules/juce_core/threads/juce_ChildProcess.h b/modules/juce_core/threads/juce_ChildProcess.h
index 47a26281b..74dbb11ab 100644
--- a/modules/juce_core/threads/juce_ChildProcess.h
+++ b/modules/juce_core/threads/juce_ChildProcess.h
@@ -101,6 +101,8 @@ public:
*/
bool kill();

libs/juce-current/patches/no-linux-native-dialog-without-modal-loops.patch → libs/juce-current/patches/12_linux-filechooser-needs-modal-loops.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp b/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp
index 62a1e8454..778168fc7 100644
index 780716a80..2e2d51b76 100644
--- a/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp
+++ b/modules/juce_gui_basics/native/juce_linux_FileChooser.cpp
@@ -19,6 +19,7 @@
@@ -26,6 +26,7 @@
namespace juce
{
@@ -10,7 +10,7 @@ index 62a1e8454..778168fc7 100644
static bool exeIsAvailable (const char* const executable)
{
ChildProcess child;
@@ -233,10 +234,11 @@ private:
@@ -240,10 +241,11 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Native)
};
@@ -23,7 +23,7 @@ index 62a1e8454..778168fc7 100644
return false;
#else
static bool canUseNativeBox = exeIsAvailable ("zenity") || exeIsAvailable ("kdialog");
@@ -246,7 +248,11 @@ bool FileChooser::isPlatformDialogAvailable()
@@ -253,7 +255,11 @@ bool FileChooser::isPlatformDialogAvailable()
FileChooser::Pimpl* FileChooser::showPlatformDialog (FileChooser& owner, int flags, FilePreviewComponent*)
{

libs/juce-current/patches/dialogwindow_allow-native-titlebar.patch → libs/juce-current/patches/13_dialogwindow-allow-native-titlebar.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_gui_basics/windows/juce_DialogWindow.cpp b/modules/juce_gui_basics/windows/juce_DialogWindow.cpp
index 2b2345cdb..30c611fa7 100644
index ea2675d59..92bf09e16 100644
--- a/modules/juce_gui_basics/windows/juce_DialogWindow.cpp
+++ b/modules/juce_gui_basics/windows/juce_DialogWindow.cpp
@@ -124,7 +124,8 @@ void DialogWindow::showDialog (const String& dialogTitle,
@@ -131,7 +131,8 @@ void DialogWindow::showDialog (const String& dialogTitle,
Colour backgroundColour,
const bool escapeKeyTriggersCloseButton,
const bool resizable,
@@ -12,7 +12,7 @@ index 2b2345cdb..30c611fa7 100644
{
LaunchOptions o;
o.dialogTitle = dialogTitle;
@@ -132,9 +133,9 @@ void DialogWindow::showDialog (const String& dialogTitle,
@@ -139,9 +140,9 @@ void DialogWindow::showDialog (const String& dialogTitle,
o.componentToCentreAround = componentToCentreAround;
o.dialogBackgroundColour = backgroundColour;
o.escapeKeyTriggersCloseButton = escapeKeyTriggersCloseButton;
@@ -23,7 +23,7 @@ index 2b2345cdb..30c611fa7 100644
o.launchAsync();
}
@@ -146,7 +147,8 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
@@ -153,7 +154,8 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
Colour backgroundColour,
const bool escapeKeyTriggersCloseButton,
const bool resizable,
@@ -33,7 +33,7 @@ index 2b2345cdb..30c611fa7 100644
{
LaunchOptions o;
o.dialogTitle = dialogTitle;
@@ -154,9 +156,9 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
@@ -161,9 +163,9 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
o.componentToCentreAround = componentToCentreAround;
o.dialogBackgroundColour = backgroundColour;
o.escapeKeyTriggersCloseButton = escapeKeyTriggersCloseButton;
@@ -45,10 +45,10 @@ index 2b2345cdb..30c611fa7 100644
return o.runModal();
}
diff --git a/modules/juce_gui_basics/windows/juce_DialogWindow.h b/modules/juce_gui_basics/windows/juce_DialogWindow.h
index 231168d0c..8c9f32957 100644
index a10211525..de9ef2f4b 100644
--- a/modules/juce_gui_basics/windows/juce_DialogWindow.h
+++ b/modules/juce_gui_basics/windows/juce_DialogWindow.h
@@ -186,7 +186,8 @@ public:
@@ -193,7 +193,8 @@ public:
Colour backgroundColour,
bool escapeKeyTriggersCloseButton,
bool shouldBeResizable = false,
@@ -58,7 +58,7 @@ index 231168d0c..8c9f32957 100644
#if JUCE_MODAL_LOOPS_PERMITTED || DOXYGEN
/** Easy way of quickly showing a dialog box containing a given component.
@@ -232,7 +233,8 @@ public:
@@ -239,7 +240,8 @@ public:
Colour backgroundColour,
bool escapeKeyTriggersCloseButton,
bool shouldBeResizable = false,

libs/juce-current/patches/fix-for-temporary-windows.patch → libs/juce-current/patches/14_fix-x11-temporary-windows.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp b/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
index 6d23372d9..32e159cf6 100644
index 6f8417340..5e8603833 100644
--- a/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
+++ b/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
@@ -2542,8 +2542,9 @@ void XWindowSystem::setWindowType (::Window windowH, int styleFlags) const
@@ -2561,8 +2561,9 @@ void XWindowSystem::setWindowType (::Window windowH, int styleFlags) const
Atom netHints [2];

libs/juce-current/patches/fix-linux-thread-priorities.patch → libs/juce-current/patches/15_fix-linux-thread-prio.patch View File

@@ -1,5 +1,5 @@
diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h
index fc04da66a..b83efeac8 100644
index c6d95a93a..9c9053ac4 100644
--- a/modules/juce_core/native/juce_posix_SharedCode.h
+++ b/modules/juce_core/native/juce_posix_SharedCode.h
@@ -977,7 +977,11 @@ bool Thread::setThreadPriority (void* handle, int priority)

libs/juce-current/patches/audioprocessors_lv2-string-state.patch → libs/juce-current/patches/16_lv2-definitions.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
index 5e538d5e1..626c5d182 100644
index ae60fde15..dbad562ef 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
@@ -1109,6 +1109,11 @@ public:
@@ -1116,6 +1116,11 @@ public:
/** This method is called when the layout of the audio processor changes. */
virtual void processorLayoutsChanged();
@@ -14,3 +14,11 @@ index 5e538d5e1..626c5d182 100644
//==============================================================================
/** Adds a listener that will be called when an aspect of this processor changes. */
virtual void addListener (AudioProcessorListener* newListener);
@@ -1200,6 +1205,7 @@ public:
wrapperType_AudioUnitv3,
wrapperType_RTAS,
wrapperType_AAX,
+ wrapperType_LV2,
wrapperType_Standalone,
wrapperType_Unity
};

+ 14
- 0
libs/juce-current/patches/17_allow-vst2-without-audio.patch View File

@@ -0,0 +1,14 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index c5e96d204..7e2122580 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -301,9 +301,6 @@ public:
// You must at least have some channels
jassert (processor->isMidiEffect() || (maxNumInChannels > 0 || maxNumOutChannels > 0));
- if (processor->isMidiEffect())
- maxNumInChannels = maxNumOutChannels = 2;
-
#ifdef JucePlugin_PreferredChannelConfigurations
processor->setPlayConfigDetails (maxNumInChannels, maxNumOutChannels, 44100.0, 1024);
#endif

+ 13
- 0
libs/juce-current/patches/17_dynamic-vst2-plugin-name.patch View File

@@ -0,0 +1,13 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index 7e2122580..cff9b7a88 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -1841,7 +1841,7 @@ private:
pointer_sized_int handleGetPlugInName (VstOpCodeArguments args)
{
- String (JucePlugin_Name).copyToUTF8 ((char*) args.ptr, 64 + 1);
+ String (processor->getName()).copyToUTF8 ((char*) args.ptr, 64 + 1);
return 1;
}

libs/juce-current/patches/vst2-linux-fix-gui-init.patch → libs/juce-current/patches/18_fix-vst2-linux-gui-init.patch View File

@@ -1,13 +1,15 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index e3d277de2..e9a5c6cb1 100644
index cff9b7a88..3ae14372c 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -206,6 +206,8 @@ struct SharedMessageThread : public Thread
@@ -209,9 +209,9 @@ struct SharedMessageThread : public Thread
void run() override
{
initialiseJuce_GUI();
- initialised = true;
MessageManager::getInstance()->setCurrentThreadAsMessageThread();
initialised = true;
+ initialised = true;
XWindowSystem::getInstance();
+ XWindowSystem::getInstance();
+
while ((! threadShouldExit()) && MessageManager::getInstance()->runDispatchLoopUntil (250))
{}
}

libs/juce-current/patches/juce_events-dispatch-public.patch → libs/juce-current/patches/19_messagemanager-dispatch-public.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_events/messages/juce_MessageManager.h b/modules/juce_events/messages/juce_MessageManager.h
index 22b2d1895..e94d0ce5a 100644
index ae7231101..fff5b9794 100644
--- a/modules/juce_events/messages/juce_MessageManager.h
+++ b/modules/juce_events/messages/juce_MessageManager.h
@@ -316,6 +316,7 @@ public:
@@ -311,6 +311,7 @@ public:
// Internal methods - do not use!
void deliverBroadcastMessage (const String&);
~MessageManager() noexcept;
@@ -10,7 +10,7 @@ index 22b2d1895..e94d0ce5a 100644
#endif
private:
@@ -338,7 +339,6 @@ private:
@@ -333,7 +334,6 @@ private:
static void* exitModalLoopCallback (void*);
static void doPlatformSpecificInitialisation();
static void doPlatformSpecificShutdown();

libs/juce-current/patches/audioprocessors_nogui.patch → libs/juce-current/patches/20_audioprocessor-no-gui.patch View File

@@ -1,8 +1,8 @@
diff --git a/modules/juce_audio_processors/juce_audio_processors.cpp b/modules/juce_audio_processors/juce_audio_processors.cpp
index c468c944c..133d1ad45 100644
index ac194a19d..f494ec3a2 100644
--- a/modules/juce_audio_processors/juce_audio_processors.cpp
+++ b/modules/juce_audio_processors/juce_audio_processors.cpp
@@ -40,7 +40,7 @@
@@ -47,7 +47,7 @@
#endif
#endif
@@ -11,7 +11,7 @@ index c468c944c..133d1ad45 100644
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <sys/utsname.h>
@@ -130,9 +130,11 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations", "-Wcast-align"
@@ -141,9 +141,11 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations", "-Wcast-align"
#include "format_types/juce_LegacyAudioParameter.cpp"
#include "processors/juce_AudioProcessor.cpp"
#include "processors/juce_AudioPluginInstance.cpp"
@@ -26,10 +26,10 @@ index c468c944c..133d1ad45 100644
#include "format_types/juce_LADSPAPluginFormat.cpp"
#include "format_types/juce_VSTPluginFormat.cpp"
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp
index d8efe0707..7c83196e9 100644
index caa55b618..41c547b0c 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp
@@ -44,12 +44,14 @@ AudioProcessor::AudioProcessor (const BusesProperties& ioConfig)
@@ -51,12 +51,14 @@ AudioProcessor::AudioProcessor (const BusesProperties& ioConfig)
AudioProcessor::~AudioProcessor()
{
@@ -44,7 +44,7 @@ index d8efe0707..7c83196e9 100644
#if JUCE_DEBUG && ! JUCE_DISABLE_AUDIOPROCESSOR_BEGIN_END_GESTURE_CHECKING
// This will fail if you've called beginParameterChangeGesture() for one
@@ -797,6 +799,7 @@ void AudioProcessor::audioIOChanged (bool busNumberChanged, bool channelNumChang
@@ -804,6 +806,7 @@ void AudioProcessor::audioIOChanged (bool busNumberChanged, bool channelNumChang
processorLayoutsChanged();
}
@@ -52,7 +52,7 @@ index d8efe0707..7c83196e9 100644
//==============================================================================
void AudioProcessor::editorBeingDeleted (AudioProcessorEditor* const editor) noexcept
{
@@ -833,6 +836,7 @@ AudioProcessorEditor* AudioProcessor::createEditorIfNeeded()
@@ -840,6 +843,7 @@ AudioProcessorEditor* AudioProcessor::createEditorIfNeeded()
return ed;
}
@@ -61,10 +61,10 @@ index d8efe0707..7c83196e9 100644
//==============================================================================
void AudioProcessor::getCurrentProgramStateInformation (juce::MemoryBlock& destData)
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
index 8d3cd062e..34a192dc5 100644
index dbad562ef..ab9e8a7d6 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
@@ -919,6 +919,7 @@ public:
@@ -926,6 +926,7 @@ public:
*/
virtual void setNonRealtime (bool isNonRealtime) noexcept;
@@ -72,7 +72,7 @@ index 8d3cd062e..34a192dc5 100644
//==============================================================================
/** Creates the processor's GUI.
@@ -968,6 +969,7 @@ public:
@@ -975,6 +976,7 @@ public:
This may call createEditor() internally to create the component.
*/
AudioProcessorEditor* createEditorIfNeeded();
@@ -80,9 +80,9 @@ index 8d3cd062e..34a192dc5 100644
//==============================================================================
/** Returns the default number of steps for a parameter.
@@ -1184,9 +1186,11 @@ public:
@@ -1191,9 +1193,11 @@ public:
virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return {}; }
virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return CurveData(); }
+ #if ! JUCE_AUDIOPROCESSOR_NO_GUI
//==============================================================================
@@ -92,7 +92,7 @@ index 8d3cd062e..34a192dc5 100644
/** Flags to indicate the type of plugin context in which a processor is being used. */
enum WrapperType
@@ -1461,7 +1465,9 @@ private:
@@ -1468,7 +1472,9 @@ private:
//==============================================================================
Array<AudioProcessorListener*> listeners;
@@ -103,10 +103,10 @@ index 8d3cd062e..34a192dc5 100644
int blockSize = 0, latencySamples = 0;
bool suspended = false;
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp
index 7d2ac0047..dcdaea84d 100644
index fd8c35879..070f82554 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp
@@ -1490,8 +1490,10 @@ bool AudioProcessorGraph::AudioGraphIOProcessor::producesMidi() const
@@ -1496,8 +1496,10 @@ bool AudioProcessorGraph::AudioGraphIOProcessor::producesMidi() const
bool AudioProcessorGraph::AudioGraphIOProcessor::isInput() const noexcept { return type == audioInputNode || type == midiInputNode; }
bool AudioProcessorGraph::AudioGraphIOProcessor::isOutput() const noexcept { return type == audioOutputNode || type == midiOutputNode; }
@@ -118,10 +118,10 @@ index 7d2ac0047..dcdaea84d 100644
int AudioProcessorGraph::AudioGraphIOProcessor::getNumPrograms() { return 0; }
int AudioProcessorGraph::AudioGraphIOProcessor::getCurrentProgram() { return 0; }
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h
index 93b2d75a4..23d1670d4 100644
index a16e35df0..8d2221f1e 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h
@@ -348,8 +348,10 @@ public:
@@ -355,8 +355,10 @@ public:
bool acceptsMidi() const override;
bool producesMidi() const override;
@@ -132,7 +132,7 @@ index 93b2d75a4..23d1670d4 100644
int getNumPrograms() override;
int getCurrentProgram() override;
@@ -385,8 +387,10 @@ public:
@@ -392,8 +394,10 @@ public:
bool acceptsMidi() const override;
bool producesMidi() const override;

+ 0
- 12
libs/juce-current/patches/audioprocessors_lv2type.patch View File

@@ -1,12 +0,0 @@
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
index 626c5d182..8d3cd062e 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
@@ -1198,6 +1198,7 @@ public:
wrapperType_AudioUnitv3,
wrapperType_RTAS,
wrapperType_AAX,
+ wrapperType_LV2,
wrapperType_Standalone,
wrapperType_Unity
};

+ 0
- 54
libs/juce-current/patches/audioprocessors_no-splash-screen_pt2.patch View File

@@ -1,54 +0,0 @@
diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
index 712e93f43..d4d8b7c14 100644
--- a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
+++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp
@@ -34,8 +34,6 @@ ResizableWindow::ResizableWindow (const String& name, Colour bkgnd, bool shouldA
ResizableWindow::~ResizableWindow()
{
- splashScreen.deleteAndZero();
-
// Don't delete or remove the resizer components yourself! They're managed by the
// ResizableWindow, and you should leave them alone! You may have deleted them
// accidentally by careless use of deleteAllChildren()..?
@@ -53,27 +51,6 @@ ResizableWindow::~ResizableWindow()
void ResizableWindow::initialise (const bool shouldAddToDesktop)
{
- /*
- ==========================================================================
-
- In accordance with the terms of the JUCE 5 End-Use License Agreement, the
- JUCE Code in SECTION A cannot be removed, changed or otherwise rendered
- ineffective unless you have a JUCE Indie or Pro license, or are using
- JUCE under the GPL v3 license.
-
- End User License Agreement: www.juce.com/juce-5-licence
-
- ==========================================================================
- */
-
- // BEGIN SECTION A
-
- #if ! JucePlugin_Build_Standalone
- splashScreen = new JUCESplashScreen (*this);
- #endif
-
- // END SECTION A
-
defaultConstrainer.setMinimumOnscreenAmounts (0x10000, 16, 24, 16);
lastNonFullScreenPos.setBounds (50, 50, 256, 256);
diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.h b/modules/juce_gui_basics/windows/juce_ResizableWindow.h
index 27c709cc6..01aeee19f 100644
--- a/modules/juce_gui_basics/windows/juce_ResizableWindow.h
+++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.h
@@ -376,7 +376,7 @@ protected:
private:
//==============================================================================
- Component::SafePointer<Component> contentComponent, splashScreen;
+ Component::SafePointer<Component> contentComponent;
bool ownsContentComponent = false, resizeToFitContent = false, fullscreen = false, canDrag = true, dragStarted = false;
ComponentDragger dragger;
Rectangle<int> lastNonFullScreenPos;

+ 0
- 2991
libs/juce-current/patches/juce_vst_interface.patch
File diff suppressed because it is too large
View File


libs/juce-current/patches/_haiku.patch → libs/juce-current/patches/maybe-not-needed/_haiku.patch View File


libs/juce-current/patches/vst2-linux-fix-scale-factor.patch → libs/juce-current/patches/maybe-not-needed/vst2-linux-fix-scale-factor.patch View File


libs/juce-current/patches/vst3-linux-fix-scale-factor.patch → libs/juce-current/patches/maybe-not-needed/vst3-linux-fix-scale-factor.patch View File


+ 0
- 14
libs/juce-current/patches/mingw-fixes_pt1.patch View File

@@ -1,14 +0,0 @@
diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
index bf7b4af22..bdb285290 100644
--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
@@ -56,9 +56,6 @@ JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4355)
#ifndef WM_APPCOMMAND
#define WM_APPCOMMAND 0x0319
#endif
-
- extern "C" void _fpreset();
- extern "C" void _clearfp();
#elif ! JUCE_WINDOWS
static void _fpreset() {}
static void _clearfp() {}

+ 0
- 15
libs/juce-current/patches/use-mingw-std-threads.patch View File

@@ -1,15 +0,0 @@
diff --git a/modules/juce_core/threads/juce_WaitableEvent.h b/modules/juce_core/threads/juce_WaitableEvent.h
index 3e31a9772..766d45f75 100644
--- a/modules/juce_core/threads/juce_WaitableEvent.h
+++ b/modules/juce_core/threads/juce_WaitableEvent.h
@@ -20,6 +20,10 @@
==============================================================================
*/
+#if JUCE_MINGW
+#include "mingw-std-threads/mingw.condition_variable.h"
+#endif
+
namespace juce
{

+ 0
- 47
libs/juce-current/patches/vst2-support_pt2.patch View File

@@ -1,47 +0,0 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index 159ab0c7c..e3d277de2 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -1058,7 +1058,7 @@ public:
void paint (Graphics&) override {}
- void getEditorBounds (Vst2::ERect& bounds)
+ void getEditorBounds (Vst2::VstEditorBounds& bounds)
{
auto b = getSizeToContainChild();
bounds = convertToHostBounds ({ 0, 0, (int16) b.getHeight(), (int16) b.getWidth() });
@@ -1199,8 +1199,8 @@ public:
void resizeHostWindow (int newWidth, int newHeight)
{
auto rect = convertToHostBounds ({ 0, 0, (int16) newHeight, (int16) newWidth });
- newWidth = rect.right - rect.left;
- newHeight = rect.bottom - rect.top;
+ newWidth = rect.rightmost - rect.leftmost;
+ newHeight = rect.lower - rect.upper;
bool sizeWasSuccessful = false;
@@ -1329,17 +1329,17 @@ public:
#endif
//==============================================================================
- static Vst2::ERect convertToHostBounds (const Vst2::ERect& rect)
+ static Vst2::VstEditorBounds convertToHostBounds (const Vst2::VstEditorBounds& rect)
{
auto desktopScale = Desktop::getInstance().getGlobalScaleFactor();
if (approximatelyEqual (desktopScale, 1.0f))
return rect;
- return { (int16) roundToInt (rect.top * desktopScale),
- (int16) roundToInt (rect.left * desktopScale),
- (int16) roundToInt (rect.bottom * desktopScale),
- (int16) roundToInt (rect.right * desktopScale)};
+ return { (int16) roundToInt (rect.upper * desktopScale),
+ (int16) roundToInt (rect.leftmost * desktopScale),
+ (int16) roundToInt (rect.lower * desktopScale),
+ (int16) roundToInt (rect.rightmost * desktopScale)};
}
//==============================================================================

+ 0
- 34
libs/juce-current/patches/vstwrapper-fixes.patch View File

@@ -1,34 +0,0 @@
diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
index d0c1884db..c87b97d49 100644
--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
@@ -210,9 +210,9 @@ struct SharedMessageThread : public Thread
void run() override
{
initialiseJuce_GUI();
- initialised = true;
MessageManager::getInstance()->setCurrentThreadAsMessageThread();
+ initialised = true;
while ((! threadShouldExit()) && MessageManager::getInstance()->runDispatchLoopUntil (250))
{}
@@ -300,9 +300,6 @@ public:
// You must at least have some channels
jassert (processor->isMidiEffect() || (maxNumInChannels > 0 || maxNumOutChannels > 0));
- if (processor->isMidiEffect())
- maxNumInChannels = maxNumOutChannels = 2;
-
#ifdef JucePlugin_PreferredChannelConfigurations
processor->setPlayConfigDetails (maxNumInChannels, maxNumOutChannels, 44100.0, 1024);
#endif
@@ -1827,7 +1824,7 @@ private:
pointer_sized_int handleGetPlugInName (VstOpCodeArguments args)
{
- String (JucePlugin_Name).copyToUTF8 ((char*) args.ptr, 64 + 1);
+ String (processor->getName()).copyToUTF8 ((char*) args.ptr, 64 + 1);
return 1;
}

Loading…
Cancel
Save