LMMS
Loading...
Searching...
No Matches
juce_PluginHostType.cpp
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26#if JucePlugin_Enable_IAA && JucePlugin_Build_Standalone && JUCE_IOS && (! JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP)
27 bool JUCE_CALLTYPE juce_isInterAppAudioConnected();
28 void JUCE_CALLTYPE juce_switchToHostApplication();
29 juce::Image JUCE_CALLTYPE juce_getIAAHostIcon (int);
30#endif
31
32namespace juce
33{
34
35Image JUCE_API getIconFromApplication (const String&, const int);
36
37AudioProcessor::WrapperType PluginHostType::jucePlugInClientCurrentWrapperType = AudioProcessor::wrapperType_Undefined;
38std::function<bool (AudioProcessor&)> PluginHostType::jucePlugInIsRunningInAudioSuiteFn = nullptr;
39String PluginHostType::hostIdReportedByWrapper;
40
42{
43 #if JucePlugin_Enable_IAA && JucePlugin_Build_Standalone && JUCE_IOS && (! JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP)
45 return juce_isInterAppAudioConnected();
46 #endif
47
48 return false;
49}
50
52{
53 #if JucePlugin_Enable_IAA && JucePlugin_Build_Standalone && JUCE_IOS && (! JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP)
55 juce_switchToHostApplication();
56 #endif
57}
58
60{
61 #if JucePlugin_Build_AAX
64 {
65 return jucePlugInIsRunningInAudioSuiteFn (processor);
66 }
67 #endif
68
69 ignoreUnused (processor);
70 return false;
71}
72
73#if ! JUCE_AUDIOPROCESSOR_NO_GUI
75{
77
78 #if JucePlugin_Enable_IAA && JucePlugin_Build_Standalone && JUCE_IOS && (! JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP)
80 return juce_getIAAHostIcon (size);
81 #endif
82
83 #if JUCE_MAC
84 String bundlePath (getHostPath().upToLastOccurrenceOf (".app", true, true));
85 return getIconFromApplication (bundlePath, size);
86 #endif
87
88 return Image();
89}
90#endif
91
93{
94 switch (type)
95 {
96 case AbletonLive6: return "Ableton Live 6";
97 case AbletonLive7: return "Ableton Live 7";
98 case AbletonLive8: return "Ableton Live 8";
99 case AbletonLive9: return "Ableton Live 9";
100 case AbletonLive10: return "Ableton Live 10";
101 case AbletonLive11: return "Ableton Live 11";
102 case AbletonLiveGeneric: return "Ableton Live";
103 case AdobeAudition: return "Adobe Audition";
104 case AdobePremierePro: return "Adobe Premiere";
105 case AppleGarageBand: return "Apple GarageBand";
106 case AppleLogic: return "Apple Logic";
107 case AppleMainStage: return "Apple MainStage";
108 case Ardour: return "Ardour";
109 case AULab: return "AU Lab";
110 case AvidProTools: return "ProTools";
111 case BitwigStudio: return "Bitwig Studio";
112 case CakewalkSonar8: return "Cakewalk Sonar 8";
113 case CakewalkSonarGeneric: return "Cakewalk Sonar";
114 case CakewalkByBandlab: return "Cakewalk by Bandlab";
115 case DaVinciResolve: return "DaVinci Resolve";
116 case DigitalPerformer: return "DigitalPerformer";
117 case FinalCut: return "Final Cut";
118 case FruityLoops: return "FruityLoops";
119 case JUCEPluginHost: return "JUCE AudioPluginHost";
120 case MagixSamplitude: return "Magix Samplitude";
121 case MagixSequoia: return "Magix Sequoia";
122 case pluginval: return "pluginval";
123 case MergingPyramix: return "Pyramix";
124 case MuseReceptorGeneric: return "Muse Receptor";
125 case Reaper: return "Reaper";
126 case Reason: return "Reason";
127 case Renoise: return "Renoise";
128 case SADiE: return "SADiE";
129 case SteinbergCubase4: return "Steinberg Cubase 4";
130 case SteinbergCubase5: return "Steinberg Cubase 5";
131 case SteinbergCubase5Bridged: return "Steinberg Cubase 5 Bridged";
132 case SteinbergCubase6: return "Steinberg Cubase 6";
133 case SteinbergCubase7: return "Steinberg Cubase 7";
134 case SteinbergCubase8: return "Steinberg Cubase 8";
135 case SteinbergCubase8_5: return "Steinberg Cubase 8.5";
136 case SteinbergCubase9: return "Steinberg Cubase 9";
137 case SteinbergCubase9_5: return "Steinberg Cubase 9.5";
138 case SteinbergCubase10: return "Steinberg Cubase 10";
139 case SteinbergCubase10_5: return "Steinberg Cubase 10.5";
140 case SteinbergCubaseGeneric: return "Steinberg Cubase";
141 case SteinbergNuendo3: return "Steinberg Nuendo 3";
142 case SteinbergNuendo4: return "Steinberg Nuendo 4";
143 case SteinbergNuendo5: return "Steinberg Nuendo 5";
144 case SteinbergNuendoGeneric: return "Steinberg Nuendo";
145 case SteinbergWavelab5: return "Steinberg Wavelab 5";
146 case SteinbergWavelab6: return "Steinberg Wavelab 6";
147 case SteinbergWavelab7: return "Steinberg Wavelab 7";
148 case SteinbergWavelab8: return "Steinberg Wavelab 8";
149 case SteinbergWavelabGeneric: return "Steinberg Wavelab";
150 case SteinbergTestHost: return "Steinberg TestHost";
151 case StudioOne: return "Studio One";
152 case Tracktion3: return "Tracktion 3";
153 case TracktionGeneric: return "Tracktion";
154 case TracktionWaveform: return "Tracktion Waveform";
155 case VBVSTScanner: return "VBVSTScanner";
156 case ViennaEnsemblePro: return "Vienna Ensemble Pro";
157 case WaveBurner: return "WaveBurner";
158 case UnknownHost:
159 default: break;
160 }
161
162 return "Unknown";
163}
164
166{
167 auto hostPath = getHostPath();
168 auto hostFilename = File (hostPath).getFileName();
169
170 #if JUCE_MAC
171 if (hostPath.containsIgnoreCase ("Final Cut Pro.app")) return FinalCut;
172 if (hostPath.containsIgnoreCase ("Final Cut Pro Trial.app")) return FinalCut;
173 if (hostPath.containsIgnoreCase ("Live 6")) return AbletonLive6;
174 if (hostPath.containsIgnoreCase ("Live 7")) return AbletonLive7;
175 if (hostPath.containsIgnoreCase ("Live 8")) return AbletonLive8;
176 if (hostPath.containsIgnoreCase ("Live 9")) return AbletonLive9;
177 if (hostPath.containsIgnoreCase ("Live 10")) return AbletonLive10;
178 if (hostPath.containsIgnoreCase ("Live 11")) return AbletonLive11;
179 if (hostFilename.containsIgnoreCase ("Live")) return AbletonLiveGeneric;
180 if (hostFilename.containsIgnoreCase ("Audition")) return AdobeAudition;
181 if (hostFilename.containsIgnoreCase ("Adobe Premiere")) return AdobePremierePro;
182 if (hostFilename.containsIgnoreCase ("GarageBand")) return AppleGarageBand;
183 if (hostFilename.containsIgnoreCase ("Logic")) return AppleLogic;
184 if (hostFilename.containsIgnoreCase ("MainStage")) return AppleMainStage;
185 if (hostFilename.containsIgnoreCase ("AU Lab")) return AULab;
186 if (hostFilename.containsIgnoreCase ("Pro Tools")) return AvidProTools;
187 if (hostFilename.containsIgnoreCase ("Nuendo 3")) return SteinbergNuendo3;
188 if (hostFilename.containsIgnoreCase ("Nuendo 4")) return SteinbergNuendo4;
189 if (hostFilename.containsIgnoreCase ("Nuendo 5")) return SteinbergNuendo5;
190 if (hostFilename.containsIgnoreCase ("Nuendo")) return SteinbergNuendoGeneric;
191 if (hostFilename.containsIgnoreCase ("Cubase 4")) return SteinbergCubase4;
192 if (hostFilename.containsIgnoreCase ("Cubase 5")) return SteinbergCubase5;
193 if (hostFilename.containsIgnoreCase ("Cubase 6")) return SteinbergCubase6;
194 if (hostFilename.containsIgnoreCase ("Cubase 7")) return SteinbergCubase7;
195 if (hostPath.containsIgnoreCase ("Cubase 8.app")) return SteinbergCubase8;
196 if (hostPath.containsIgnoreCase ("Cubase 8.5.app")) return SteinbergCubase8_5;
197 if (hostPath.containsIgnoreCase ("Cubase 9.app")) return SteinbergCubase9;
198 if (hostPath.containsIgnoreCase ("Cubase 9.5.app")) return SteinbergCubase9_5;
199 if (hostPath.containsIgnoreCase ("Cubase 10.app")) return SteinbergCubase10;
200 if (hostPath.containsIgnoreCase ("Cubase 10.5.app")) return SteinbergCubase10_5;
201 if (hostFilename.containsIgnoreCase ("Cubase")) return SteinbergCubaseGeneric;
202 if (hostPath.containsIgnoreCase ("Wavelab 7")) return SteinbergWavelab7;
203 if (hostPath.containsIgnoreCase ("Wavelab 8")) return SteinbergWavelab8;
204 if (hostFilename.containsIgnoreCase ("Wavelab")) return SteinbergWavelabGeneric;
205 if (hostFilename.containsIgnoreCase ("WaveBurner")) return WaveBurner;
206 if (hostPath.containsIgnoreCase ("Digital Performer")) return DigitalPerformer;
207 if (hostFilename.containsIgnoreCase ("reaper")) return Reaper;
208 if (hostFilename.containsIgnoreCase ("Reason")) return Reason;
209 if (hostPath.containsIgnoreCase ("Studio One")) return StudioOne;
210 if (hostFilename.startsWithIgnoreCase ("Waveform")) return TracktionWaveform;
211 if (hostPath.containsIgnoreCase ("Tracktion 3")) return Tracktion3;
212 if (hostFilename.containsIgnoreCase ("Tracktion")) return TracktionGeneric;
213 if (hostFilename.containsIgnoreCase ("Renoise")) return Renoise;
214 if (hostFilename.containsIgnoreCase ("Resolve")) return DaVinciResolve;
215 if (hostFilename.startsWith ("Bitwig")) return BitwigStudio;
216 if (hostFilename.containsIgnoreCase ("OsxFL")) return FruityLoops;
217 if (hostFilename.containsIgnoreCase ("pluginval")) return pluginval;
218 if (hostFilename.containsIgnoreCase ("AudioPluginHost")) return JUCEPluginHost;
219 if (hostFilename.containsIgnoreCase ("Vienna Ensemble Pro")) return ViennaEnsemblePro;
220
221 if (hostIdReportedByWrapper == "com.apple.logic.pro") return AppleLogic;
222 if (hostIdReportedByWrapper == "com.apple.garageband") return AppleGarageBand;
223 if (hostIdReportedByWrapper == "com.apple.mainstage") return AppleMainStage;
224
225 const auto procName = nsStringToJuce ([[NSRunningApplication currentApplication] localizedName]);
226
227 const auto matchesInOrder = [&] (const StringArray& strings)
228 {
229 return procName.matchesWildcard ("AUHostingService*(" + strings.joinIntoString ("*") + ")", false);
230 };
231
232 // Depending on localization settings, spaces are not always plain ascii spaces
233 if (matchesInOrder ({ "Logic", "Pro" })) return AppleLogic;
234 if (matchesInOrder ({ "GarageBand" })) return AppleGarageBand;
235 if (matchesInOrder ({ "MainStage" })) return AppleMainStage;
236 if (matchesInOrder ({ "Final", "Cut", "Pro" })) return FinalCut;
237
238 #elif JUCE_WINDOWS
239 if (hostFilename.containsIgnoreCase ("Live 6")) return AbletonLive6;
240 if (hostFilename.containsIgnoreCase ("Live 7")) return AbletonLive7;
241 if (hostFilename.containsIgnoreCase ("Live 8")) return AbletonLive8;
242 if (hostFilename.containsIgnoreCase ("Live 9")) return AbletonLive9;
243 if (hostFilename.containsIgnoreCase ("Live 10")) return AbletonLive10;
244 if (hostFilename.containsIgnoreCase ("Live 11")) return AbletonLive11;
245 if (hostFilename.containsIgnoreCase ("Live ")) return AbletonLiveGeneric;
246 if (hostFilename.containsIgnoreCase ("Audition")) return AdobeAudition;
247 if (hostFilename.containsIgnoreCase ("Adobe Premiere")) return AdobePremierePro;
248 if (hostFilename.containsIgnoreCase ("ProTools")) return AvidProTools;
249 if (hostPath.containsIgnoreCase ("SONAR 8")) return CakewalkSonar8;
250 if (hostFilename.containsIgnoreCase ("SONAR")) return CakewalkSonarGeneric;
251 if (hostFilename.containsIgnoreCase ("Cakewalk.exe")) return CakewalkByBandlab;
252 if (hostFilename.containsIgnoreCase ("GarageBand")) return AppleGarageBand;
253 if (hostFilename.containsIgnoreCase ("Logic")) return AppleLogic;
254 if (hostFilename.containsIgnoreCase ("MainStage")) return AppleMainStage;
255 if (hostFilename.startsWithIgnoreCase ("Waveform")) return TracktionWaveform;
256 if (hostPath.containsIgnoreCase ("Tracktion 3")) return Tracktion3;
257 if (hostFilename.containsIgnoreCase ("Tracktion")) return TracktionGeneric;
258 if (hostFilename.containsIgnoreCase ("reaper")) return Reaper;
259 if (hostFilename.containsIgnoreCase ("Cubase4")) return SteinbergCubase4;
260 if (hostFilename.containsIgnoreCase ("Cubase5")) return SteinbergCubase5;
261 if (hostFilename.containsIgnoreCase ("Cubase6")) return SteinbergCubase6;
262 if (hostFilename.containsIgnoreCase ("Cubase7")) return SteinbergCubase7;
263 if (hostFilename.containsIgnoreCase ("Cubase8.exe")) return SteinbergCubase8;
264 if (hostFilename.containsIgnoreCase ("Cubase8.5.exe")) return SteinbergCubase8_5;
265 // Later version of Cubase scan plug-ins with a separate executable "vst2xscanner"
266 if (hostFilename.containsIgnoreCase ("Cubase9.5.exe")
267 || hostPath.containsIgnoreCase ("Cubase 9.5")) return SteinbergCubase9_5;
268 if (hostFilename.containsIgnoreCase ("Cubase9.exe")
269 || hostPath.containsIgnoreCase ("Cubase 9")) return SteinbergCubase9;
270 if (hostFilename.containsIgnoreCase ("Cubase10.5.exe")
271 || hostPath.containsIgnoreCase ("Cubase 10.5")) return SteinbergCubase10_5;
272 if (hostFilename.containsIgnoreCase ("Cubase10.exe")
273 || hostPath.containsIgnoreCase ("Cubase 10")) return SteinbergCubase10;
274 if (hostFilename.containsIgnoreCase ("Cubase")) return SteinbergCubaseGeneric;
275 if (hostFilename.containsIgnoreCase ("VSTBridgeApp")) return SteinbergCubase5Bridged;
276 if (hostPath.containsIgnoreCase ("Wavelab 5")) return SteinbergWavelab5;
277 if (hostPath.containsIgnoreCase ("Wavelab 6")) return SteinbergWavelab6;
278 if (hostPath.containsIgnoreCase ("Wavelab 7")) return SteinbergWavelab7;
279 if (hostPath.containsIgnoreCase ("Wavelab 8")) return SteinbergWavelab8;
280 if (hostPath.containsIgnoreCase ("Nuendo")) return SteinbergNuendoGeneric;
281 if (hostFilename.containsIgnoreCase ("Wavelab")) return SteinbergWavelabGeneric;
282 if (hostFilename.containsIgnoreCase ("TestHost")) return SteinbergTestHost;
283 if (hostFilename.containsIgnoreCase ("rm-host")) return MuseReceptorGeneric;
284 if (hostFilename.startsWith ("FL")) return FruityLoops;
285 if (hostFilename.contains ("ilbridge.")) return FruityLoops;
286 if (hostPath.containsIgnoreCase ("Studio One")) return StudioOne;
287 if (hostPath.containsIgnoreCase ("Digital Performer")) return DigitalPerformer;
288 if (hostFilename.containsIgnoreCase ("VST_Scanner")) return VBVSTScanner;
289 if (hostPath.containsIgnoreCase ("Merging Technologies")) return MergingPyramix;
290 if (hostFilename.startsWithIgnoreCase ("Sam")) return MagixSamplitude;
291 if (hostFilename.startsWithIgnoreCase ("Sequoia")) return MagixSequoia;
292 if (hostFilename.containsIgnoreCase ("Reason")) return Reason;
293 if (hostFilename.containsIgnoreCase ("Renoise")) return Renoise;
294 if (hostFilename.containsIgnoreCase ("Resolve")) return DaVinciResolve;
295 if (hostPath.containsIgnoreCase ("Bitwig Studio")) return BitwigStudio;
296 if (hostFilename.containsIgnoreCase ("Sadie")) return SADiE;
297 if (hostFilename.containsIgnoreCase ("pluginval")) return pluginval;
298 if (hostFilename.containsIgnoreCase ("AudioPluginHost")) return JUCEPluginHost;
299 if (hostFilename.containsIgnoreCase ("Vienna Ensemble Pro")) return ViennaEnsemblePro;
300
301 #elif JUCE_LINUX || JUCE_BSD
302 if (hostFilename.containsIgnoreCase ("Ardour")) return Ardour;
303 if (hostFilename.startsWithIgnoreCase ("Waveform")) return TracktionWaveform;
304 if (hostFilename.containsIgnoreCase ("Tracktion")) return TracktionGeneric;
305 if (hostFilename.startsWith ("Bitwig")) return BitwigStudio;
306 if (hostFilename.containsIgnoreCase ("pluginval")) return pluginval;
307 if (hostFilename.containsIgnoreCase ("AudioPluginHost")) return JUCEPluginHost;
308
309 #elif JUCE_IOS
310 #elif JUCE_ANDROID
311 #else
312 #error
313 #endif
314 return UnknownHost;
315}
316
317} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AudioProcessor.h:46
@ wrapperType_Standalone
Definition juce_AudioProcessor.h:1229
@ wrapperType_AAX
Definition juce_AudioProcessor.h:1228
Definition juce_File.h:45
String getFileName() const
Definition juce_File.cpp:364
Definition juce_Image.h:58
static String hostIdReportedByWrapper
Definition juce_PluginHostType.h:242
static HostType getHostType()
Definition juce_PluginHostType.cpp:165
static AudioProcessor::WrapperType getPluginLoadedAs() noexcept
Definition juce_PluginHostType.h:231
static std::function< bool(AudioProcessor &)> jucePlugInIsRunningInAudioSuiteFn
Definition juce_PluginHostType.h:241
HostType
Definition juce_PluginHostType.h:49
@ SteinbergWavelab5
Definition juce_PluginHostType.h:100
@ MagixSequoia
Definition juce_PluginHostType.h:76
@ CakewalkSonar8
Definition juce_PluginHostType.h:67
@ CakewalkByBandlab
Definition juce_PluginHostType.h:69
@ StudioOne
Definition juce_PluginHostType.h:106
@ SteinbergNuendoGeneric
Definition juce_PluginHostType.h:99
@ MagixSamplitude
Definition juce_PluginHostType.h:75
@ AbletonLive9
Definition juce_PluginHostType.h:54
@ SteinbergNuendo3
Definition juce_PluginHostType.h:96
@ MergingPyramix
Definition juce_PluginHostType.h:77
@ SADiE
Definition juce_PluginHostType.h:83
@ Reaper
Definition juce_PluginHostType.h:80
@ SteinbergCubase8_5
Definition juce_PluginHostType.h:90
@ AdobeAudition
Definition juce_PluginHostType.h:58
@ AdobePremierePro
Definition juce_PluginHostType.h:59
@ SteinbergWavelabGeneric
Definition juce_PluginHostType.h:104
@ SteinbergCubase8
Definition juce_PluginHostType.h:89
@ SteinbergWavelab6
Definition juce_PluginHostType.h:101
@ TracktionGeneric
Definition juce_PluginHostType.h:108
@ SteinbergCubaseGeneric
Definition juce_PluginHostType.h:95
@ SteinbergCubase6
Definition juce_PluginHostType.h:87
@ AppleMainStage
Definition juce_PluginHostType.h:62
@ AbletonLive7
Definition juce_PluginHostType.h:52
@ Tracktion3
Definition juce_PluginHostType.h:107
@ AppleGarageBand
Definition juce_PluginHostType.h:60
@ SteinbergCubase5
Definition juce_PluginHostType.h:85
@ AbletonLive10
Definition juce_PluginHostType.h:55
@ MuseReceptorGeneric
Definition juce_PluginHostType.h:78
@ VBVSTScanner
Definition juce_PluginHostType.h:110
@ UnknownHost
Definition juce_PluginHostType.h:50
@ SteinbergNuendo5
Definition juce_PluginHostType.h:98
@ SteinbergCubase7
Definition juce_PluginHostType.h:88
@ SteinbergCubase9
Definition juce_PluginHostType.h:91
@ FinalCut
Definition juce_PluginHostType.h:72
@ AppleLogic
Definition juce_PluginHostType.h:61
@ AbletonLiveGeneric
Definition juce_PluginHostType.h:57
@ SteinbergCubase5Bridged
Definition juce_PluginHostType.h:86
@ SteinbergCubase9_5
Definition juce_PluginHostType.h:92
@ DaVinciResolve
Definition juce_PluginHostType.h:70
@ FruityLoops
Definition juce_PluginHostType.h:73
@ SteinbergCubase4
Definition juce_PluginHostType.h:84
@ SteinbergCubase10
Definition juce_PluginHostType.h:93
@ SteinbergWavelab8
Definition juce_PluginHostType.h:103
@ TracktionWaveform
Definition juce_PluginHostType.h:109
@ SteinbergCubase10_5
Definition juce_PluginHostType.h:94
@ CakewalkSonarGeneric
Definition juce_PluginHostType.h:68
@ Ardour
Definition juce_PluginHostType.h:63
@ BitwigStudio
Definition juce_PluginHostType.h:66
@ DigitalPerformer
Definition juce_PluginHostType.h:71
@ SteinbergNuendo4
Definition juce_PluginHostType.h:97
@ AbletonLive8
Definition juce_PluginHostType.h:53
@ AvidProTools
Definition juce_PluginHostType.h:65
@ Renoise
Definition juce_PluginHostType.h:82
@ JUCEPluginHost
Definition juce_PluginHostType.h:74
@ SteinbergTestHost
Definition juce_PluginHostType.h:105
@ WaveBurner
Definition juce_PluginHostType.h:112
@ AbletonLive11
Definition juce_PluginHostType.h:56
@ AbletonLive6
Definition juce_PluginHostType.h:51
@ ViennaEnsemblePro
Definition juce_PluginHostType.h:111
@ pluginval
Definition juce_PluginHostType.h:79
@ Reason
Definition juce_PluginHostType.h:81
@ AULab
Definition juce_PluginHostType.h:64
@ SteinbergWavelab7
Definition juce_PluginHostType.h:102
Image getHostIcon(int size) const
Definition juce_PluginHostType.cpp:74
const char * getHostDescription() const noexcept
Definition juce_PluginHostType.cpp:92
void switchToHostApplication() const
Definition juce_PluginHostType.cpp:51
bool isInterAppAudioConnected() const
Definition juce_PluginHostType.cpp:41
static bool isInAAXAudioSuite(AudioProcessor &)
Definition juce_PluginHostType.cpp:59
HostType type
Definition juce_PluginHostType.h:115
static String getHostPath()
Definition juce_PluginHostType.h:217
Definition juce_StringArray.h:35
Definition juce_String.h:53
#define JUCE_CALLTYPE
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
String nsStringToJuce(NSString *s)
Definition juce_mac_ObjCHelpers.h:42
void ignoreUnused(Types &&...) noexcept
Definition juce_MathsFunctions.h:333
Image JUCE_API getIconFromApplication(const String &, const int)
Definition juce_linux_IconHelpers.cpp:29
ulg size
Definition extract.c:2350
#define const
Definition zconf.h:137