LMMS
Loading...
Searching...
No Matches
Presonus Namespace Reference

Namespaces

namespace  ContextInfo
namespace  PlugCanDos

Classes

struct  IContextInfoProvider
struct  IContextInfoProvider2
struct  IContextInfoHandler
struct  IContextInfoHandler2
struct  IEditControllerExtra
struct  ISlaveControllerHandler
struct  IGainReductionInfo
struct  IHostCommandHandler
struct  CommandInfo
struct  ICommandList
class  IPlugInViewEmbedding
struct  IPlugInViewScaling

Enumerations

enum  ParamExtraFlags { kParamFlagMicroEdit = 1<<0 }
enum  AutomationMode {
  kAutomationNone = 0 , kAutomationOff , kAutomationRead , kAutomationTouch ,
  kAutomationLatch , kAutomationWrite
}
enum  SlaveMode { kSlaveModeNormal , kSlaveModeLowLatencyClone }
enum  Opcodes {
  kVendorID = 'PreS' , kEffEditCheckSizeConstraints = 'AeCc' , kEffEditSetRect = 'AeSr' , kEffEditSetEmbedded = 'AeEm' ,
  kEffEditSetContentScaleFactor = 'AeCs' , kEffGetGainReductionValueInDb = 'GRdB' , kEffAddSlave = 'AdSl' , kEffRemoveSlave = 'RmSl'
}

Enumeration Type Documentation

◆ AutomationMode

Automation mode. Used with IEditControllerExtra.

Enumerator
kAutomationNone 

no automation data available

kAutomationOff 

data available, but mode is set to off

kAutomationRead 

data + read mode

kAutomationTouch 

data + touch mode

kAutomationLatch 

data + latch mode

kAutomationWrite 

data + write mode

◆ Opcodes

Vendor-specific opcodes a VST2 plug-in can implement to add non-standard features like embedding its views as subview into the host, resizing from the host, high-DPI scaling, etc.

Embedding corresponds to the Presonus::IPlugInViewEmbedding VST3 extended interface.

Resizing works like VST3's checkSizeConstraint() and onSize() methods, VST3's canResize() is defined via canDoViewResize.

For "DPI-aware" host applications on the Windows platform a similar mimic to the Presonus::IPlugInViewScaling VST3 extended interface is defined here.

Gain reduction reporting corresponds to the Presonus::IGainReductionInfo VST3 interface.

Slave effect handling corresponds to the Presonus::ISlaveControllerHandler VST3 interface.

Enumerator
kVendorID 

PreSonus vendor ID - distinguishes our calls from other VST2 extensions. Pass this vendor ID as "index" (aka "lArg1") parameter for vendor specific calls.

kEffEditCheckSizeConstraints 

The host can suggest a new editor size, and the plug-in can modify the suggested size to a suitable value if it cannot resize to the given values. The ptrArg is a ERect* to the input/output rect. This differs from the ERect** used by effEditGetRect, because here the rect is owned by the host, not the plug-in. The result is 0 on failure, 1 on success.

kEffEditSetRect 

The host can set a new size after negotiating the size via the above kEffEditCheckSizeConstraints, triggering the actual resizing. The ptrArg is a ERect* to the input/output rect. This differs from the ERect** used by effEditGetRect, because here the rect is owned by the host, not the plug-in. The result is 0 on failure, 1 on success.

kEffEditSetEmbedded 

When the view is embedded, it may need to adjust its UI, e.g. by suppressing its built-in resizing facility because this is then controlled by the host. The ptrArg is a VstInt32*, pointing to 0 to disable or to 1 to enable embedding. Per default, embedding is disabled until the host calls this to indicate otherwise.

kEffEditSetContentScaleFactor 

Inform the view about the current content scaling factor. The factor is passed in the opt argument. For more details, please check the documentation of Presonus::IPlugInViewScaling.

kEffGetGainReductionValueInDb 

Get current gain reduction for display. The ptrArg is a float* to be set to the dB value. For more details, please check the documentation of Presonus::IGainReductionInfo.

kEffAddSlave 

Add slave effect. The ptrArg is a pointer to the slave AEffect, the 'opt' float transmits the mode (see enum SlaveMode). For more details, please check the documentation of Presonus::ISlaveControllerHandler.

kEffRemoveSlave 

Remove slave effect. The ptrArg is a pointer to the slave AEffect. For more details, please check the documentation of Presonus::ISlaveControllerHandler.

◆ ParamExtraFlags

Parameter extra flags. Used with IEditControllerExtra.

Enumerator
kParamFlagMicroEdit 

parameter should be displayed in host micro view

◆ SlaveMode

Slave mode. Used with ISlaveControllerHandler.

Enumerator
kSlaveModeNormal 

plug-in used in different location following given master

kSlaveModeLowLatencyClone 

plug-in used as hidden slave for low latency processing following given master