Loading...
Searching...
No Matches
PluginHostType Class Reference

A useful utility class to determine the host or DAW in which your plugin is loaded. More...

#include <juce_PluginHostType.h>

Public Types

enum  HostType {
  UnknownHost , AbletonLive6 , AbletonLive7 , AbletonLive8 ,
  AbletonLive9 , AbletonLive10 , AbletonLive11 , AbletonLiveGeneric ,
  AdobeAudition , AdobePremierePro , AppleGarageBand , AppleInfoHelper ,
  AppleLogic , AppleMainStage , Ardour , AULab ,
  AUVal , AvidProTools , BitwigStudio , CakewalkSonar8 ,
  CakewalkSonarGeneric , CakewalkByBandlab , DaVinciResolve , DigitalPerformer ,
  FinalCut , FruityLoops , JUCEPluginHost , MagixSamplitude ,
  MagixSequoia , MergingPyramix , MuseReceptorGeneric , Maschine ,
  pluginval , Reaper , Reason , Renoise ,
  SADiE , SteinbergCubase4 , SteinbergCubase5 , SteinbergCubase5Bridged ,
  SteinbergCubase6 , SteinbergCubase7 , SteinbergCubase8 , SteinbergCubase8_5 ,
  SteinbergCubase9 , SteinbergCubase9_5 , SteinbergCubase10 , SteinbergCubase10_5 ,
  SteinbergCubaseGeneric , SteinbergNuendo3 , SteinbergNuendo4 , SteinbergNuendo5 ,
  SteinbergNuendoGeneric , SteinbergWavelab5 , SteinbergWavelab6 , SteinbergWavelab7 ,
  SteinbergWavelab8 , SteinbergWavelabGeneric , SteinbergTestHost , StudioOne ,
  Tracktion3 , TracktionGeneric , TracktionWaveform , VBVSTScanner ,
  ViennaEnsemblePro , WaveBurner
}
 Represents the host type and also its version for some hosts. More...
 

Public Member Functions

 PluginHostType ()
 
 PluginHostType (const PluginHostType &other)=default
 
PluginHostTypeoperator= (const PluginHostType &other)=default
 
bool isAbletonLive () const noexcept
 Returns true if the host is any version of Ableton Live.
 
bool isAdobeAudition () const noexcept
 Returns true if the host is Adobe Audition.
 
bool isAppleInfoHelper () const noexcept
 Returns true if the host is com.apple.audio.InfoHelper.
 
bool isArdour () const noexcept
 Returns true if the host is Ardour.
 
bool isAULab () const noexcept
 Returns true if the host is AU Lab.
 
bool isAUVal () const noexcept
 Returns true if the host is auval.
 
bool isBitwigStudio () const noexcept
 Returns true if the host is Bitwig Studio.
 
bool isCubase () const noexcept
 Returns true if the host is any version of Steinberg Cubase.
 
bool isCubase7orLater () const noexcept
 Returns true if the host is Steinberg Cubase 7 or later.
 
bool isCubaseBridged () const noexcept
 Returns true if the host is Steinberg Cubase 5 Bridged.
 
bool isDaVinciResolve () const noexcept
 Returns true if the host is DaVinci Resolve.
 
bool isDigitalPerformer () const noexcept
 Returns true if the host is Digital Performer.
 
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 isGarageBand () const noexcept
 Returns true if the host is Apple GarageBand.
 
bool isJUCEPluginHost () const noexcept
 Returns true if the host is the JUCE AudioPluginHost.
 
bool isLogic () const noexcept
 Returns true if the host is Apple Logic Pro.
 
bool isMainStage () const noexcept
 Returns true if the host is Apple MainStage.
 
bool isNuendo () const noexcept
 Returns true if the host is any version of Steinberg Nuendo.
 
bool isPluginval () const noexcept
 Returns true if the host is pluginval.
 
bool isPremiere () const noexcept
 Returns true if the host is Adobe Premiere Pro.
 
bool isProTools () const noexcept
 Returns true if the host is Avid Pro Tools.
 
bool isPyramix () const noexcept
 Returns true if the host is Merging Pyramix.
 
bool isReceptor () const noexcept
 Returns true if the host is Muse Receptor.
 
bool isReaper () const noexcept
 Returns true if the host is Cockos Reaper.
 
bool isReason () const noexcept
 Returns true if the host is Reason.
 
bool isRenoise () const noexcept
 Returns true if the host is Renoise.
 
bool isSADiE () const noexcept
 Returns true if the host is SADiE.
 
bool isSamplitude () const noexcept
 Returns true if the host is Magix Samplitude.
 
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.
 
bool isSteinbergTestHost () const noexcept
 Returns true if the host is Steinberg's VST3 Test Host.
 
bool isSteinberg () const noexcept
 Returns true if the host is any product from Steinberg.
 
bool isStudioOne () const noexcept
 Returns true if the host is PreSonus Studio One.
 
bool isTracktion () const noexcept
 Returns true if the host is any version of Tracktion.
 
bool isTracktionWaveform () const noexcept
 Returns true if the host is Tracktion Waveform.
 
bool isVBVSTScanner () const noexcept
 Returns true if the host is VB Audio VST Scanner.
 
bool isViennaEnsemblePro () const noexcept
 Returns true if the host is Vienna Ensemble Pro.
 
bool isWaveBurner () const noexcept
 Returns true if the host is Apple WaveBurner.
 
bool isWavelab () const noexcept
 Returns true if the host is any version of Steinberg WaveLab.
 
bool isWavelabLegacy () const noexcept
 Returns true if the host is Steinberg WaveLab 6 or below.
 
bool isMaschine () const noexcept
 Returns true if the host is Native Instruments Maschine.
 
const char * getHostDescription () const noexcept
 Returns a human-readable description of the host.
 
bool isInterAppAudioConnected () const
 Returns true if the plugin is connected with Inter-App Audio on iOS.
 
void switchToHostApplication () const
 Switches to the host application when Inter-App Audio is used on iOS.
 
Image getHostIcon (int size) const
 Gets the host app's icon when Inter-App Audio is used on iOS.
 

Static Public Member Functions

static String getHostPath ()
 Returns the complete absolute path of the host application executable.
 
static AudioProcessor::WrapperType getPluginLoadedAs () noexcept
 Returns the plug-in format via which the plug-in file was loaded.
 
static bool isInAAXAudioSuite (AudioProcessor &)
 Returns true if the AudioProcessor instance is an AAX plug-in running in AudioSuite.
 

Public Attributes

HostType type
 

Detailed Description

A useful utility class to determine the host or DAW in which your plugin is loaded.

Declare a PluginHostType object in your class to use it.

Member Enumeration Documentation

◆ HostType

Represents the host type and also its version for some hosts.

Enumerator
UnknownHost 

Represents an unknown host.

AbletonLive6 

Represents Ableton Live 6.

AbletonLive7 

Represents Ableton Live 7.

AbletonLive8 

Represents Ableton Live 8.

AbletonLive9 

Represents Ableton Live 9.

AbletonLive10 

Represents Ableton Live 10.

AbletonLive11 

Represents Ableton Live 11.

AbletonLiveGeneric 

Represents Ableton Live.

AdobeAudition 

Represents Adobe Audition.

AdobePremierePro 

Represents Adobe Premiere Pro.

AppleGarageBand 

Represents Apple GarageBand.

AppleInfoHelper 

Represents Apple com.apple.audio.InfoHelper.

AppleLogic 

Represents Apple Logic Pro.

AppleMainStage 

Represents Apple Main Stage.

Ardour 

Represents Ardour.

AULab 

Represents AU Lab.

AUVal 

Represents Apple AU validator.

AvidProTools 

Represents Avid Pro Tools.

BitwigStudio 

Represents Bitwig Studio.

CakewalkSonar8 

Represents Cakewalk Sonar 8.

CakewalkSonarGeneric 

Represents Cakewalk Sonar.

CakewalkByBandlab 

Represents Cakewalk by Bandlab.

DaVinciResolve 

Represents DaVinci Resolve.

DigitalPerformer 

Represents Digital Performer.

FinalCut 

Represents Apple Final Cut Pro.

FruityLoops 

Represents Fruity Loops.

JUCEPluginHost 

Represents the JUCE AudioPluginHost.

MagixSamplitude 

Represents Magix Samplitude.

MagixSequoia 

Represents Magix Sequoia.

MergingPyramix 

Represents Merging Pyramix.

MuseReceptorGeneric 

Represents Muse Receptor.

Maschine 

Represents Native Instruments Maschine.

pluginval 

Represents pluginval.

Reaper 

Represents Cockos Reaper.

Reason 

Represents Reason.

Renoise 

Represents Renoise.

SADiE 

Represents SADiE.

SteinbergCubase4 

Represents Steinberg Cubase 4.

SteinbergCubase5 

Represents Steinberg Cubase 5.

SteinbergCubase5Bridged 

Represents Steinberg Cubase 5 Bridged.

SteinbergCubase6 

Represents Steinberg Cubase 6.

SteinbergCubase7 

Represents Steinberg Cubase 7.

SteinbergCubase8 

Represents Steinberg Cubase 8.

SteinbergCubase8_5 

Represents Steinberg Cubase 8.5.

SteinbergCubase9 

Represents Steinberg Cubase 9.

SteinbergCubase9_5 

Represents Steinberg Cubase 9.5.

SteinbergCubase10 

Represents Steinberg Cubase 10.

SteinbergCubase10_5 

Represents Steinberg Cubase 10.5.

SteinbergCubaseGeneric 

Represents Steinberg Cubase.

SteinbergNuendo3 

Represents Steinberg Nuendo 3.

SteinbergNuendo4 

Represents Steinberg Nuendo 4.

SteinbergNuendo5 

Represents Steinberg Nuendo 5.

SteinbergNuendoGeneric 

Represents Steinberg Nuendo.

SteinbergWavelab5 

Represents Steinberg Wavelab 5.

SteinbergWavelab6 

Represents Steinberg Wavelab 6.

SteinbergWavelab7 

Represents Steinberg Wavelab 7.

SteinbergWavelab8 

Represents Steinberg Wavelab 8.

SteinbergWavelabGeneric 

Represents Steinberg Wavelab.

SteinbergTestHost 

Represents Steinberg's VST3 Test Host.

StudioOne 

Represents PreSonus Studio One.

Tracktion3 

Represents Tracktion 3.

TracktionGeneric 

Represents Tracktion.

TracktionWaveform 

Represents Tracktion Waveform.

VBVSTScanner 

Represents VB Audio VST Scanner.

ViennaEnsemblePro 

Represents Vienna Ensemble Pro.

WaveBurner 

Represents Apple WaveBurner.

Constructor & Destructor Documentation

◆ PluginHostType() [1/2]

PluginHostType::PluginHostType ( )

◆ PluginHostType() [2/2]

PluginHostType::PluginHostType ( const PluginHostType & other)
default

Member Function Documentation

◆ operator=()

PluginHostType & PluginHostType::operator= ( const PluginHostType & other)
default

◆ isAbletonLive()

bool PluginHostType::isAbletonLive ( ) const
noexcept

Returns true if the host is any version of Ableton Live.

References AbletonLive10, AbletonLive11, AbletonLive6, AbletonLive7, AbletonLive8, AbletonLive9, AbletonLiveGeneric, and type.

◆ isAdobeAudition()

bool PluginHostType::isAdobeAudition ( ) const
noexcept

Returns true if the host is Adobe Audition.

References AdobeAudition, and type.

◆ isAppleInfoHelper()

bool PluginHostType::isAppleInfoHelper ( ) const
noexcept

Returns true if the host is com.apple.audio.InfoHelper.

References AppleInfoHelper, and type.

◆ isArdour()

bool PluginHostType::isArdour ( ) const
noexcept

Returns true if the host is Ardour.

References Ardour, and type.

◆ isAULab()

bool PluginHostType::isAULab ( ) const
noexcept

Returns true if the host is AU Lab.

References AULab, and type.

◆ isAUVal()

bool PluginHostType::isAUVal ( ) const
noexcept

Returns true if the host is auval.

References AUVal, and type.

◆ isBitwigStudio()

bool PluginHostType::isBitwigStudio ( ) const
noexcept

Returns true if the host is Bitwig Studio.

References BitwigStudio, and type.

◆ isCubase()

◆ isCubase7orLater()

bool PluginHostType::isCubase7orLater ( ) const
noexcept

Returns true if the host is Steinberg Cubase 7 or later.

References isCubase(), SteinbergCubase4, SteinbergCubase5, SteinbergCubase6, and type.

◆ isCubaseBridged()

bool PluginHostType::isCubaseBridged ( ) const
noexcept

Returns true if the host is Steinberg Cubase 5 Bridged.

References SteinbergCubase5Bridged, and type.

◆ isDaVinciResolve()

bool PluginHostType::isDaVinciResolve ( ) const
noexcept

Returns true if the host is DaVinci Resolve.

References DaVinciResolve, and type.

◆ isDigitalPerformer()

bool PluginHostType::isDigitalPerformer ( ) const
noexcept

Returns true if the host is Digital Performer.

References DigitalPerformer, and type.

◆ isFinalCut()

bool PluginHostType::isFinalCut ( ) const
noexcept

Returns true if the host is Apple Final Cut Pro.

References FinalCut, and type.

◆ isFruityLoops()

bool PluginHostType::isFruityLoops ( ) const
noexcept

Returns true if the host is Fruity Loops.

References FruityLoops, and type.

◆ isGarageBand()

bool PluginHostType::isGarageBand ( ) const
noexcept

Returns true if the host is Apple GarageBand.

References AppleGarageBand, and type.

◆ isJUCEPluginHost()

bool PluginHostType::isJUCEPluginHost ( ) const
noexcept

Returns true if the host is the JUCE AudioPluginHost.

References JUCEPluginHost, and type.

◆ isLogic()

bool PluginHostType::isLogic ( ) const
noexcept

Returns true if the host is Apple Logic Pro.

References AppleLogic, and type.

◆ isMainStage()

bool PluginHostType::isMainStage ( ) const
noexcept

Returns true if the host is Apple MainStage.

References AppleMainStage, and type.

◆ isNuendo()

bool PluginHostType::isNuendo ( ) const
noexcept

Returns true if the host is any version of Steinberg Nuendo.

References SteinbergNuendo3, SteinbergNuendo4, SteinbergNuendo5, SteinbergNuendoGeneric, and type.

Referenced by isSteinberg().

◆ isPluginval()

bool PluginHostType::isPluginval ( ) const
noexcept

Returns true if the host is pluginval.

References pluginval, and type.

◆ isPremiere()

bool PluginHostType::isPremiere ( ) const
noexcept

Returns true if the host is Adobe Premiere Pro.

References AdobePremierePro, and type.

◆ isProTools()

bool PluginHostType::isProTools ( ) const
noexcept

Returns true if the host is Avid Pro Tools.

References AvidProTools, and type.

◆ isPyramix()

bool PluginHostType::isPyramix ( ) const
noexcept

Returns true if the host is Merging Pyramix.

References MergingPyramix, and type.

◆ isReceptor()

bool PluginHostType::isReceptor ( ) const
noexcept

Returns true if the host is Muse Receptor.

References MuseReceptorGeneric, and type.

◆ isReaper()

bool PluginHostType::isReaper ( ) const
noexcept

Returns true if the host is Cockos Reaper.

References Reaper, and type.

◆ isReason()

bool PluginHostType::isReason ( ) const
noexcept

Returns true if the host is Reason.

References Reason, and type.

◆ isRenoise()

bool PluginHostType::isRenoise ( ) const
noexcept

Returns true if the host is Renoise.

References Renoise, and type.

◆ isSADiE()

bool PluginHostType::isSADiE ( ) const
noexcept

Returns true if the host is SADiE.

References SADiE, and type.

◆ isSamplitude()

bool PluginHostType::isSamplitude ( ) const
noexcept

Returns true if the host is Magix Samplitude.

References MagixSamplitude, and type.

◆ isSequoia()

bool PluginHostType::isSequoia ( ) const
noexcept

Returns true if the host is Magix Sequoia.

References MagixSequoia, and type.

◆ isSonar()

bool PluginHostType::isSonar ( ) const
noexcept

Returns true if the host is any version of Cakewalk Sonar.

References CakewalkByBandlab, CakewalkSonar8, CakewalkSonarGeneric, and type.

◆ isSteinbergTestHost()

bool PluginHostType::isSteinbergTestHost ( ) const
noexcept

Returns true if the host is Steinberg's VST3 Test Host.

References SteinbergTestHost, and type.

Referenced by isSteinberg().

◆ isSteinberg()

bool PluginHostType::isSteinberg ( ) const
noexcept

Returns true if the host is any product from Steinberg.

References isCubase(), isNuendo(), isSteinbergTestHost(), and isWavelab().

◆ isStudioOne()

bool PluginHostType::isStudioOne ( ) const
noexcept

Returns true if the host is PreSonus Studio One.

References StudioOne, and type.

◆ isTracktion()

bool PluginHostType::isTracktion ( ) const
noexcept

Returns true if the host is any version of Tracktion.

References isTracktionWaveform(), Tracktion3, TracktionGeneric, and type.

◆ isTracktionWaveform()

bool PluginHostType::isTracktionWaveform ( ) const
noexcept

Returns true if the host is Tracktion Waveform.

References TracktionWaveform, and type.

Referenced by isTracktion().

◆ isVBVSTScanner()

bool PluginHostType::isVBVSTScanner ( ) const
noexcept

Returns true if the host is VB Audio VST Scanner.

References type, and VBVSTScanner.

◆ isViennaEnsemblePro()

bool PluginHostType::isViennaEnsemblePro ( ) const
noexcept

Returns true if the host is Vienna Ensemble Pro.

References type, and ViennaEnsemblePro.

◆ isWaveBurner()

bool PluginHostType::isWaveBurner ( ) const
noexcept

Returns true if the host is Apple WaveBurner.

References type, and WaveBurner.

◆ isWavelab()

bool PluginHostType::isWavelab ( ) const
noexcept

Returns true if the host is any version of Steinberg WaveLab.

References isWavelabLegacy(), SteinbergWavelab7, SteinbergWavelab8, SteinbergWavelabGeneric, and type.

Referenced by isSteinberg().

◆ isWavelabLegacy()

bool PluginHostType::isWavelabLegacy ( ) const
noexcept

Returns true if the host is Steinberg WaveLab 6 or below.

References SteinbergWavelab5, SteinbergWavelab6, and type.

Referenced by isWavelab().

◆ isMaschine()

bool PluginHostType::isMaschine ( ) const
noexcept

Returns true if the host is Native Instruments Maschine.

References Maschine, and type.

◆ getHostDescription()

const char * PluginHostType::getHostDescription ( ) const
noexcept

Returns a human-readable description of the host.

◆ isInterAppAudioConnected()

bool PluginHostType::isInterAppAudioConnected ( ) const

Returns true if the plugin is connected with Inter-App Audio on iOS.

◆ switchToHostApplication()

void PluginHostType::switchToHostApplication ( ) const

Switches to the host application when Inter-App Audio is used on iOS.

◆ getHostIcon()

Image PluginHostType::getHostIcon ( int size) const

Gets the host app's icon when Inter-App Audio is used on iOS.

◆ getHostPath()

static String PluginHostType::getHostPath ( )
static

Returns the complete absolute path of the host application executable.

References File::getFullPathName(), File::getSpecialLocation(), and File::hostApplicationPath.

◆ getPluginLoadedAs()

static AudioProcessor::WrapperType PluginHostType::getPluginLoadedAs ( )
staticnoexcept

Returns the plug-in format via which the plug-in file was loaded.

This value is identical to AudioProcessor::wrapperType of the main audio processor of this plug-in. This function is useful for code that does not have access to the plug-in's main audio processor.

See also
AudioProcessor::wrapperType

Referenced by StandalonePluginHolder::getInstance().

◆ isInAAXAudioSuite()

static bool PluginHostType::isInAAXAudioSuite ( AudioProcessor & )
static

Returns true if the AudioProcessor instance is an AAX plug-in running in AudioSuite.

Member Data Documentation

◆ type


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram