2 ==============================================================================
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
7 JUCE is an open source library subject to commercial or open-source
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
23 ==============================================================================
26 #if JucePlugin_Enable_ARA
28 // Include ARA SDK headers
29 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wgnu-zero-variadic-macro-arguments",
31 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6387)
33 #include <ARA_Library/PlugIn/ARAPlug.h>
35 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
36 JUCE_END_IGNORE_WARNINGS_MSVC
41 using ARAViewSelection
= ARA::PlugIn::ViewSelection
;
42 using ARAContentUpdateScopes
= ARA::ContentUpdateScopes
;
43 using ARARestoreObjectsFilter
= ARA::PlugIn::RestoreObjectsFilter
;
44 using ARAStoreObjectsFilter
= ARA::PlugIn::StoreObjectsFilter
;
46 /** Converts an ARA::ARAUtf8String to a JUCE String. */
47 inline String
convertARAString (ARA::ARAUtf8String str
)
49 return String (CharPointer_UTF8 (str
));
52 /** Converts a potentially NULL ARA::ARAUtf8String to a JUCE String.
54 Returns the JUCE equivalent of the provided string if it's not nullptr, and the fallback string
57 inline String
convertOptionalARAString (ARA::ARAUtf8String str
, const String
& fallbackString
= String())
59 return (str
!= nullptr) ? convertARAString (str
) : fallbackString
;
62 /** Converts an ARA::ARAColor* to a JUCE Colour. */
63 inline Colour
convertARAColour (const ARA::ARAColor
* colour
)
65 return Colour::fromFloatRGBA (colour
->r
, colour
->g
, colour
->b
, 1.0f
);
68 /** Converts a potentially NULL ARA::ARAColor* to a JUCE Colour.
70 Returns the JUCE equivalent of the provided colour if it's not nullptr, and the fallback colour
73 inline Colour
convertOptionalARAColour (const ARA::ARAColor
* colour
, const Colour
& fallbackColour
= Colour())
75 return (colour
!= nullptr) ? convertARAColour (colour
) : fallbackColour
;
80 #include "juce_ARAModelObjects.h"
81 #include "juce_ARADocumentController.h"
82 #include "juce_AudioProcessor_ARAExtensions.h"
83 #include "juce_ARAPlugInInstanceRoles.h"