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.
@ hostApplicationPath
In a plugin, this will return the path of the host executable.
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.
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.
@ 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.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...