JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_PluginHostType.h
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
26namespace juce
27{
28
29//==============================================================================
39{
40public:
41 //==============================================================================
42 PluginHostType() : type (getHostType()) {}
43 PluginHostType (const PluginHostType& other) = default;
44 PluginHostType& operator= (const PluginHostType& other) = default;
45
46 //==============================================================================
117
118 HostType type;
119
120 //==============================================================================
122 bool isAbletonLive() const noexcept { return type == AbletonLive6 || type == AbletonLive7 || type == AbletonLive8
123 || type == AbletonLive9 || type == AbletonLive10 || type == AbletonLive11
124 || type == AbletonLiveGeneric; }
126 bool isAdobeAudition() const noexcept { return type == AdobeAudition; }
128 bool isAppleInfoHelper() const noexcept { return type == AppleInfoHelper; }
130 bool isArdour() const noexcept { return type == Ardour; }
132 bool isAULab() const noexcept { return type == AULab; }
134 bool isAUVal() const noexcept { return type == AUVal; }
136 bool isBitwigStudio() const noexcept { return type == BitwigStudio; }
138 bool isCubase() const noexcept { return type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase5Bridged || type == SteinbergCubase6
139 || type == SteinbergCubase7 || type == SteinbergCubase8 || type == SteinbergCubase8_5 || type == SteinbergCubase9
140 || type == SteinbergCubase9_5 || type == SteinbergCubase10 || type == SteinbergCubase10_5 || type == SteinbergCubaseGeneric; }
142 bool isCubase7orLater() const noexcept { return isCubase() && ! (type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase6); }
144 bool isCubaseBridged() const noexcept { return type == SteinbergCubase5Bridged; }
146 bool isDaVinciResolve() const noexcept { return type == DaVinciResolve; }
148 bool isDigitalPerformer() const noexcept { return type == DigitalPerformer; }
150 bool isFinalCut() const noexcept { return type == FinalCut; }
152 bool isFruityLoops() const noexcept { return type == FruityLoops; }
154 bool isGarageBand() const noexcept { return type == AppleGarageBand; }
156 bool isJUCEPluginHost() const noexcept { return type == JUCEPluginHost; }
158 bool isLogic() const noexcept { return type == AppleLogic; }
160 bool isMainStage() const noexcept { return type == AppleMainStage; }
162 bool isNuendo() const noexcept { return type == SteinbergNuendo3 || type == SteinbergNuendo4 || type == SteinbergNuendo5 || type == SteinbergNuendoGeneric; }
164 bool isPluginval() const noexcept { return type == pluginval; }
166 bool isPremiere() const noexcept { return type == AdobePremierePro; }
168 bool isProTools() const noexcept { return type == AvidProTools; }
170 bool isPyramix() const noexcept { return type == MergingPyramix; }
172 bool isReceptor() const noexcept { return type == MuseReceptorGeneric; }
174 bool isReaper() const noexcept { return type == Reaper; }
176 bool isReason() const noexcept { return type == Reason; }
178 bool isRenoise() const noexcept { return type == Renoise; }
180 bool isSADiE() const noexcept { return type == SADiE; }
182 bool isSamplitude() const noexcept { return type == MagixSamplitude; }
184 bool isSequoia() const noexcept { return type == MagixSequoia; }
186 bool isSonar() const noexcept { return type == CakewalkSonar8 || type == CakewalkSonarGeneric || type == CakewalkByBandlab; }
188 bool isSteinbergTestHost() const noexcept { return type == SteinbergTestHost; }
190 bool isSteinberg() const noexcept { return isCubase() || isNuendo() || isWavelab() || isSteinbergTestHost(); }
192 bool isStudioOne() const noexcept { return type == StudioOne; }
194 bool isTracktion() const noexcept { return type == Tracktion3 || type == TracktionGeneric || isTracktionWaveform(); }
196 bool isTracktionWaveform() const noexcept { return type == TracktionWaveform; }
198 bool isVBVSTScanner() const noexcept { return type == VBVSTScanner; }
200 bool isViennaEnsemblePro() const noexcept { return type == ViennaEnsemblePro; }
202 bool isWaveBurner() const noexcept { return type == WaveBurner; }
204 bool isWavelab() const noexcept { return isWavelabLegacy() || type == SteinbergWavelab7 || type == SteinbergWavelab8 || type == SteinbergWavelabGeneric; }
206 bool isWavelabLegacy() const noexcept { return type == SteinbergWavelab5 || type == SteinbergWavelab6; }
208 bool isMaschine() const noexcept { return type == Maschine; }
209
210 //==============================================================================
212 const char* getHostDescription() const noexcept;
213
214 //==============================================================================
220 Image getHostIcon (int size) const;
221
222 //==============================================================================
228
229 //==============================================================================
239
241 static bool isInAAXAudioSuite (AudioProcessor&);
242
243 //==============================================================================
244
245 #ifndef DOXYGEN
246 // @internal
250 #endif
251
252private:
253 static HostType getHostType();
254};
255
256} // namespace juce
Base class for audio processing classes or plugins.
WrapperType
Flags to indicate the type of plugin context in which a processor is being used.
const String & getFullPathName() const noexcept
Returns the complete, absolute path of this file.
Definition juce_File.h:153
@ hostApplicationPath
In a plugin, this will return the path of the host executable.
Definition juce_File.h:952
static File JUCE_CALLTYPE getSpecialLocation(const SpecialLocationType type)
Finds the location of a special type of file or directory, such as a home folder or documents folder.
Holds a fixed-size bitmap.
Definition juce_Image.h:58
A useful utility class to determine the host or DAW in which your plugin is loaded.
bool isJUCEPluginHost() const noexcept
Returns true if the host is the JUCE AudioPluginHost.
static AudioProcessor::WrapperType getPluginLoadedAs() noexcept
Returns the plug-in format via which the plug-in file was loaded.
bool isStudioOne() const noexcept
Returns true if the host is PreSonus Studio One.
bool isSteinberg() const noexcept
Returns true if the host is any product from Steinberg.
bool isAbletonLive() const noexcept
Returns true if the host is any version of Ableton Live.
HostType
Represents the host type and also its version for some hosts.
@ SteinbergWavelab5
Represents Steinberg Wavelab 5.
@ MagixSequoia
Represents Magix Sequoia.
@ CakewalkSonar8
Represents Cakewalk Sonar 8.
@ CakewalkByBandlab
Represents Cakewalk by Bandlab.
@ StudioOne
Represents PreSonus Studio One.
@ SteinbergNuendoGeneric
Represents Steinberg Nuendo.
@ MagixSamplitude
Represents Magix Samplitude.
@ AbletonLive9
Represents Ableton Live 9.
@ SteinbergNuendo3
Represents Steinberg Nuendo 3.
@ MergingPyramix
Represents Merging Pyramix.
@ SADiE
Represents SADiE.
@ Reaper
Represents Cockos Reaper.
@ SteinbergCubase8_5
Represents Steinberg Cubase 8.5.
@ AdobeAudition
Represents Adobe Audition.
@ AdobePremierePro
Represents Adobe Premiere Pro.
@ AppleInfoHelper
Represents Apple com.apple.audio.InfoHelper.
@ SteinbergWavelabGeneric
Represents Steinberg Wavelab.
@ SteinbergCubase8
Represents Steinberg Cubase 8.
@ SteinbergWavelab6
Represents Steinberg Wavelab 6.
@ TracktionGeneric
Represents Tracktion.
@ SteinbergCubaseGeneric
Represents Steinberg Cubase.
@ SteinbergCubase6
Represents Steinberg Cubase 6.
@ AppleMainStage
Represents Apple Main Stage.
@ AbletonLive7
Represents Ableton Live 7.
@ Tracktion3
Represents Tracktion 3.
@ AppleGarageBand
Represents Apple GarageBand.
@ SteinbergCubase5
Represents Steinberg Cubase 5.
@ AbletonLive10
Represents Ableton Live 10.
@ MuseReceptorGeneric
Represents Muse Receptor.
@ VBVSTScanner
Represents VB Audio VST Scanner.
@ UnknownHost
Represents an unknown host.
@ SteinbergNuendo5
Represents Steinberg Nuendo 5.
@ SteinbergCubase7
Represents Steinberg Cubase 7.
@ SteinbergCubase9
Represents Steinberg Cubase 9.
@ FinalCut
Represents Apple Final Cut Pro.
@ AppleLogic
Represents Apple Logic Pro.
@ AbletonLiveGeneric
Represents Ableton Live.
@ SteinbergCubase5Bridged
Represents Steinberg Cubase 5 Bridged.
@ SteinbergCubase9_5
Represents Steinberg Cubase 9.5.
@ DaVinciResolve
Represents DaVinci Resolve.
@ FruityLoops
Represents Fruity Loops.
@ SteinbergCubase4
Represents Steinberg Cubase 4.
@ SteinbergCubase10
Represents Steinberg Cubase 10.
@ SteinbergWavelab8
Represents Steinberg Wavelab 8.
@ TracktionWaveform
Represents Tracktion Waveform.
@ AUVal
Represents Apple AU validator.
@ SteinbergCubase10_5
Represents Steinberg Cubase 10.5.
@ CakewalkSonarGeneric
Represents Cakewalk Sonar.
@ Ardour
Represents Ardour.
@ BitwigStudio
Represents Bitwig Studio.
@ DigitalPerformer
Represents Digital Performer.
@ SteinbergNuendo4
Represents Steinberg Nuendo 4.
@ AbletonLive8
Represents Ableton Live 8.
@ AvidProTools
Represents Avid Pro Tools.
@ Renoise
Represents Renoise.
@ JUCEPluginHost
Represents the JUCE AudioPluginHost.
@ SteinbergTestHost
Represents Steinberg's VST3 Test Host.
@ WaveBurner
Represents Apple WaveBurner.
@ AbletonLive11
Represents Ableton Live 11.
@ AbletonLive6
Represents Ableton Live 6.
@ ViennaEnsemblePro
Represents Vienna Ensemble Pro.
@ pluginval
Represents pluginval.
@ Reason
Represents Reason.
@ AULab
Represents AU Lab.
@ Maschine
Represents Native Instruments Maschine.
@ SteinbergWavelab7
Represents Steinberg Wavelab 7.
bool isLogic() const noexcept
Returns true if the host is Apple Logic Pro.
bool isWavelabLegacy() const noexcept
Returns true if the host is Steinberg WaveLab 6 or below.
bool isCubase() const noexcept
Returns true if the host is any version of Steinberg Cubase.
bool isReceptor() const noexcept
Returns true if the host is Muse Receptor.
bool isPremiere() const noexcept
Returns true if the host is Adobe Premiere Pro.
Image getHostIcon(int size) const
Gets the host app's icon when Inter-App Audio is used on iOS.
bool isFinalCut() const noexcept
Returns true if the host is Apple Final Cut Pro.
bool isFruityLoops() const noexcept
Returns true if the host is Fruity Loops.
bool isAUVal() const noexcept
Returns true if the host is auval.
bool isSequoia() const noexcept
Returns true if the host is Magix Sequoia.
bool isSonar() const noexcept
Returns true if the host is any version of Cakewalk Sonar.
const char * getHostDescription() const noexcept
Returns a human-readable description of the host.
void switchToHostApplication() const
Switches to the host application when Inter-App Audio is used on iOS.
bool isDaVinciResolve() const noexcept
Returns true if the host is DaVinci Resolve.
bool isTracktion() const noexcept
Returns true if the host is any version of Tracktion.
bool isReason() const noexcept
Returns true if the host is Reason.
bool isWavelab() const noexcept
Returns true if the host is any version of Steinberg WaveLab.
bool isCubase7orLater() const noexcept
Returns true if the host is Steinberg Cubase 7 or later.
bool isInterAppAudioConnected() const
Returns true if the plugin is connected with Inter-App Audio on iOS.
bool isAULab() const noexcept
Returns true if the host is AU Lab.
bool isCubaseBridged() const noexcept
Returns true if the host is Steinberg Cubase 5 Bridged.
bool isSteinbergTestHost() const noexcept
Returns true if the host is Steinberg's VST3 Test Host.
bool isArdour() const noexcept
Returns true if the host is Ardour.
bool isMaschine() const noexcept
Returns true if the host is Native Instruments Maschine.
static bool isInAAXAudioSuite(AudioProcessor &)
Returns true if the AudioProcessor instance is an AAX plug-in running in AudioSuite.
bool isAppleInfoHelper() const noexcept
Returns true if the host is com.apple.audio.InfoHelper.
bool isVBVSTScanner() const noexcept
Returns true if the host is VB Audio VST Scanner.
bool isMainStage() const noexcept
Returns true if the host is Apple MainStage.
bool isDigitalPerformer() const noexcept
Returns true if the host is Digital Performer.
bool isTracktionWaveform() const noexcept
Returns true if the host is Tracktion Waveform.
bool isBitwigStudio() const noexcept
Returns true if the host is Bitwig Studio.
bool isPluginval() const noexcept
Returns true if the host is pluginval.
bool isViennaEnsemblePro() const noexcept
Returns true if the host is Vienna Ensemble Pro.
bool isGarageBand() const noexcept
Returns true if the host is Apple GarageBand.
bool isRenoise() const noexcept
Returns true if the host is Renoise.
bool isProTools() const noexcept
Returns true if the host is Avid Pro Tools.
bool isWaveBurner() const noexcept
Returns true if the host is Apple WaveBurner.
bool isSADiE() const noexcept
Returns true if the host is SADiE.
bool isReaper() const noexcept
Returns true if the host is Cockos Reaper.
bool isPyramix() const noexcept
Returns true if the host is Merging Pyramix.
bool isNuendo() const noexcept
Returns true if the host is any version of Steinberg Nuendo.
bool isAdobeAudition() const noexcept
Returns true if the host is Adobe Audition.
bool isSamplitude() const noexcept
Returns true if the host is Magix Samplitude.
static String getHostPath()
Returns the complete absolute path of the host application executable.
The JUCE String class!
Definition juce_String.h:53
JUCE Namespace.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...
Definition juce_Memory.h:88