Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PluginHostType Class Reference

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

Public Types

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

Public Member Functions

 PluginHostType ()
 
 PluginHostType (const PluginHostType &other) noexcept
 
PluginHostTypeoperator= (const PluginHostType &other) noexcept
 
bool isAbletonLive () const noexcept
 Returns true if the host is any version of Ableton Live. More...
 
bool isAdobeAudition () const noexcept
 Returns true if the host is Adobe Audition. More...
 
bool isArdour () const noexcept
 Returns true if the host is Ardour. More...
 
bool isBitwigStudio () const noexcept
 Returns true if the host is Bitwig Studio. More...
 
bool isCubase () const noexcept
 Returns true if the host is any version of Steinberg Cubase. More...
 
bool isCubase7orLater () const noexcept
 Returns true if the host is Steinberg Cubase 7 or later. More...
 
bool isCubaseBridged () const noexcept
 Returns true if the host is Steinberg Cubase 5 Bridged. More...
 
bool isDaVinciResolve () const noexcept
 Returns true if the host is DaVinci Resolve. More...
 
bool isDigitalPerformer () const noexcept
 Returns true if the host is Digital Performer. More...
 
bool isFinalCut () const noexcept
 Returns true if the host is Apple Final Cut Pro. More...
 
bool isFruityLoops () const noexcept
 Returns true if the host is Fruity Loops. More...
 
bool isGarageBand () const noexcept
 Returns true if the host is Apple GarageBand. More...
 
bool isLogic () const noexcept
 Returns true if the host is Apple Logic Pro. More...
 
bool isMainStage () const noexcept
 Returns true if the host is Apple MainStage. More...
 
bool isNuendo () const noexcept
 Returns true if the host is any version of Steinberg Nuendo. More...
 
bool isPremiere () const noexcept
 Returns true if the host is Adobe Premiere Pro. More...
 
bool isProTools () const noexcept
 Returns true if the host is Avid Pro Tools. More...
 
bool isPyramix () const noexcept
 Returns true if the host is Merging Pyramix. More...
 
bool isReceptor () const noexcept
 Returns true if the host is Muse Receptor. More...
 
bool isReaper () const noexcept
 Returns true if the host is Cockos Reaper. More...
 
bool isRenoise () const noexcept
 Returns true if the host is Renoise. More...
 
bool isSADiE () const noexcept
 Returns true if the host is SADiE. More...
 
bool isSamplitude () const noexcept
 Returns true if the host is Magix Samplitude. More...
 
bool isSonar () const noexcept
 Returns true if the host is any version of Cakewalk Sonar. More...
 
bool isSteinbergTestHost () const noexcept
 Returns true if the host is Steinberg's VST3 Test Host. More...
 
bool isSteinberg () const noexcept
 Returns true if the host is any product from Steinberg. More...
 
bool isStudioOne () const noexcept
 Returns true if the host is PreSonus Studio One. More...
 
bool isTracktion () const noexcept
 Returns true if the host is any version of Tracktion. More...
 
bool isTracktionWaveform () const noexcept
 Returns true if the host is Tracktion Waveform. More...
 
bool isVBVSTScanner () const noexcept
 Returns true if the host is VB Audio VST Scanner. More...
 
bool isWaveBurner () const noexcept
 Returns true if the host is Apple WaveBurner. More...
 
bool isWavelab () const noexcept
 Returns true if the host is any version of Steinberg WaveLab. More...
 
bool isWavelabLegacy () const noexcept
 Returns true if the host is Steinberg WaveLab 6 or below. More...
 
const char * getHostDescription () const noexcept
 Returns a human-readable description of the host. More...
 
bool isInterAppAudioConnected () const
 Returns true if the plugin is connected with Inter-App Audio on iOS. More...
 
void switchToHostApplication () const
 Switches to the host application when Inter-App Audio is used on iOS. More...
 

Static Public Member Functions

static String getHostPath ()
 Returns the complete absolute path of the host application executable. More...
 
static AudioProcessor::WrapperType getPluginLoadedAs () noexcept
 Returns the plug-in format via which the plug-in file was loaded. More...
 

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.

AbletonLiveGeneric 

Represents Ableton Live.

AdobeAudition 

Represents Adobe Audition.

AdobePremierePro 

Represents Adobe Premiere Pro.

AppleGarageBand 

Represents Apple GarageBand.

AppleLogic 

Represents Apple Logic Pro.

AppleMainStage 

Represents Apple Main Stage.

Ardour 

Represents Ardour.

AvidProTools 

Represents Avid Pro Tools.

BitwigStudio 

Represents Bitwig Studio.

CakewalkSonar8 

Represents Cakewalk Sonar 8.

CakewalkSonarGeneric 

Represents Cakewalk Sonar.

DaVinciResolve 

Represents DaVinci Resolve.

DigitalPerformer 

Represents Digital Performer.

FinalCut 

Represents Apple Final Cut Pro.

FruityLoops 

Represents Fruity Loops.

MagixSamplitude 

Represents Magix Samplitude.

MergingPyramix 

Represents Merging Pyramix.

MuseReceptorGeneric 

Represents Muse Receptor.

Reaper 

Represents Cockos Reaper.

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.

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.

WaveBurner 

Represents Apple WaveBurner.

Constructor & Destructor Documentation

◆ PluginHostType() [1/2]

PluginHostType::PluginHostType ( )

◆ PluginHostType() [2/2]

PluginHostType::PluginHostType ( const PluginHostType other)
noexcept

Member Function Documentation

◆ operator=()

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

References type.

◆ isAbletonLive()

bool PluginHostType::isAbletonLive ( ) const
noexcept

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

References AbletonLive6, AbletonLive7, AbletonLive8, AbletonLiveGeneric, and type.

◆ isAdobeAudition()

bool PluginHostType::isAdobeAudition ( ) const
noexcept

Returns true if the host is Adobe Audition.

References AdobeAudition, and type.

◆ isArdour()

bool PluginHostType::isArdour ( ) const
noexcept

Returns true if the host is Ardour.

References Ardour, and type.

◆ isBitwigStudio()

bool PluginHostType::isBitwigStudio ( ) const
noexcept

Returns true if the host is Bitwig Studio.

References BitwigStudio, and type.

◆ isCubase()

bool PluginHostType::isCubase ( ) const
noexcept

◆ 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.

◆ 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().

◆ 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.

◆ 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.

◆ isSonar()

bool PluginHostType::isSonar ( ) const
noexcept

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

References 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.

◆ 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().

◆ getHostDescription()

const char* PluginHostType::getHostDescription ( ) const
noexcept

◆ 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.

◆ 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().

Member Data Documentation

◆ type

HostType PluginHostType::type

The documentation for this class was generated from the following file: