Browse Source

Backwards compat fixes from Carla

tags/2020-12-27
falkTX 1 year ago
parent
commit
e3ba7a97d7
18 changed files with 46 additions and 24 deletions
  1. +5
    -0
      libs/juce-current/source/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h
  2. +2
    -0
      libs/juce-current/source/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h
  3. +5
    -1
      libs/juce-current/source/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
  4. +1
    -1
      libs/juce-current/source/modules/juce_audio_processors/processors/juce_AudioProcessor.h
  5. +4
    -3
      libs/juce-current/source/modules/juce_core/native/juce_osx_ObjCHelpers.h
  6. +1
    -1
      libs/juce-current/source/modules/juce_core/system/juce_CompilerSupport.h
  7. +1
    -5
      libs/juce-current/source/modules/juce_core/system/juce_PlatformDefs.h
  8. +2
    -2
      libs/juce-current/source/modules/juce_core/system/juce_TargetPlatform.h
  9. +1
    -1
      libs/juce-current/source/modules/juce_core/threads/juce_WaitableEvent.h
  10. +4
    -0
      libs/juce-current/source/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm
  11. +4
    -4
      libs/juce-current/source/modules/juce_graphics/native/juce_mac_Fonts.mm
  12. +5
    -1
      libs/juce-current/source/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
  13. +1
    -1
      libs/juce-current/source/modules/juce_gui_basics/native/juce_mac_Windowing.mm
  14. +1
    -1
      libs/juce-current/source/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp
  15. +1
    -1
      libs/juce-current/source/modules/juce_gui_basics/windows/juce_ComponentPeer.h
  16. +5
    -1
      libs/juce-current/source/modules/juce_gui_extra/juce_gui_extra.cpp
  17. +2
    -0
      libs/juce-current/source/modules/juce_gui_extra/juce_gui_extra.h
  18. +1
    -1
      libs/juce-current/source/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp

+ 5
- 0
libs/juce-current/source/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h View File

@@ -20,6 +20,11 @@
==============================================================================
*/
#ifndef __clang__
// GCC4 compatibility
namespace std { using ::max_align_t; }
#endif
namespace juce
{


+ 2
- 0
libs/juce-current/source/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h View File

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


+ 5
- 1
libs/juce-current/source/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm View File

@@ -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"]));


+ 1
- 1
libs/juce-current/source/modules/juce_audio_processors/processors/juce_AudioProcessor.h View File

@@ -1191,7 +1191,7 @@ public:
String xMeterID, yMeterID;
};
virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return {}; }
virtual CurveData getResponseCurve (CurveData::Type /*curveType*/) const { return CurveData(); }
#if ! JUCE_AUDIOPROCESSOR_NO_GUI
//==============================================================================


+ 4
- 3
libs/juce-current/source/modules/juce_core/native/juce_osx_ObjCHelpers.h View File

@@ -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());
}


+ 1
- 1
libs/juce-current/source/modules/juce_core/system/juce_CompilerSupport.h View File

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


+ 1
- 5
libs/juce-current/source/modules/juce_core/system/juce_PlatformDefs.h View File

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


+ 2
- 2
libs/juce-current/source/modules/juce_core/system/juce_TargetPlatform.h View File

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


+ 1
- 1
libs/juce-current/source/modules/juce_core/threads/juce_WaitableEvent.h View File

@@ -20,7 +20,7 @@
==============================================================================
*/
#if JUCE_MINGW
#if JUCE_MINGW && !defined(_GLIBCXX_HAS_GTHREADS)
#include "mingw-std-threads/mingw.condition_variable.h"
#endif


+ 4
- 0
libs/juce-current/source/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm View File

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


+ 4
- 4
libs/juce-current/source/modules/juce_graphics/native/juce_mac_Fonts.mm View File

@@ -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(),


+ 5
- 1
libs/juce-current/source/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm View File

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


+ 1
- 1
libs/juce-current/source/modules/juce_gui_basics/native/juce_mac_Windowing.mm View File

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


+ 1
- 1
libs/juce-current/source/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp View File

@@ -3055,7 +3055,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


+ 1
- 1
libs/juce-current/source/modules/juce_gui_basics/windows/juce_ComponentPeer.h View File

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


+ 5
- 1
libs/juce-current/source/modules/juce_gui_extra/juce_gui_extra.cpp View File

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


+ 2
- 0
libs/juce-current/source/modules/juce_gui_extra/juce_gui_extra.h View File

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

+ 1
- 1
libs/juce-current/source/modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp View File

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


Loading…
Cancel
Save