DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
Loading...
Searching...
No Matches
dspark::plugin::vst3::Plugin< P > Struct Template Reference

#include <DSParkVst3.h>

Collaboration diagram for dspark::plugin::vst3::Plugin< P >:

Public Member Functions

 Plugin () noexcept
 
void * lensPtr (int lens) noexcept
 
Steinberg_tresult query (const Steinberg_TUID iid, void **obj) noexcept
 
Steinberg_uint32 addRefImpl () noexcept
 
Steinberg_uint32 releaseImpl () noexcept
 
void applyNormalized (int index, double normalized) noexcept
 
void applyAllShadows () noexcept
 
void applyFactoryPresetIdx (int idx) noexcept
 
 ~Plugin ()
 
void refreshLatency (Steinberg_int32 extraFlags=0) noexcept
 
bool onUiThread () const noexcept
 
void requestRestart (Steinberg_int32 flags) noexcept
 
void deliverPendingRestart () noexcept
 
void attachToHost (Steinberg_FUnknown *context) noexcept
 
void detachFromHost () noexcept
 
void collectParameterChanges (Steinberg_Vst_IParameterChanges *changes, Steinberg_int32 numSamples, BlockEvent *events, int &count) noexcept
 
void collectInputEvents (Steinberg_Vst_IEventList *list, Steinberg_int32 numSamples, BlockEvent *events, int &count) noexcept
 
bool applyBlockEvent (const BlockEvent &ev, int blockStart, bool &programChanged) noexcept
 
void forwardTransport (const Steinberg_Vst_ProcessContext *ctx) noexcept
 

Static Public Member Functions

static Plugin * fromLens (void *iface, int lens) noexcept
 
template<int Lens>
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sQuery (void *self_, const Steinberg_TUID iid, void **obj)
 
template<int Lens>
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sAddRef (void *self_)
 
template<int Lens>
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sRelease (void *self_)
 
static int indexOfParamId (Steinberg_Vst_ParamID id) noexcept
 
static int programIndexOf (Steinberg_Vst_ParamValue normalized) noexcept
 
static void onUiTick (void *self) noexcept
 
static int midiProxySlot (uint32_t id) noexcept
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sInitialize (void *self_, Steinberg_FUnknown *context)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sTerminate (void *self_)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetControllerClassId (void *, Steinberg_TUID)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetIoMode (void *, Steinberg_Vst_IoMode)
 
static Steinberg_int32 numInputBuses () noexcept
 
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetBusCount (void *, Steinberg_Vst_MediaType type, Steinberg_Vst_BusDirection dir)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetBusInfo (void *self_, Steinberg_Vst_MediaType type, Steinberg_Vst_BusDirection dir, Steinberg_int32 index, Steinberg_Vst_BusInfo *bus)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetRoutingInfo (void *, Steinberg_Vst_RoutingInfo *, Steinberg_Vst_RoutingInfo *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sActivateBus (void *, Steinberg_Vst_MediaType, Steinberg_Vst_BusDirection, Steinberg_int32, Steinberg_TBool)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetActive (void *self_, Steinberg_TBool state)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sComponentSetState (void *self_, Steinberg_IBStream *state)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sComponentGetState (void *self_, Steinberg_IBStream *state)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetBusArrangements (void *self_, Steinberg_Vst_SpeakerArrangement *inputs, Steinberg_int32 numIns, Steinberg_Vst_SpeakerArrangement *outputs, Steinberg_int32 numOuts)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetBusArrangement (void *self_, Steinberg_Vst_BusDirection dir, Steinberg_int32 index, Steinberg_Vst_SpeakerArrangement *arr)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCanProcessSampleSize (void *, Steinberg_int32 size)
 
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetLatencySamples (void *self_)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetupProcessing (void *self_, Steinberg_Vst_ProcessSetup *setup)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetProcessing (void *, Steinberg_TBool)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sProcess (void *self_, Steinberg_Vst_ProcessData *data)
 
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetTailSamples (void *self_)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlInitialize (void *self_, Steinberg_FUnknown *context)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlTerminate (void *self_)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetComponentState (void *self_, Steinberg_IBStream *state)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlSetState (void *, Steinberg_IBStream *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlGetState (void *, Steinberg_IBStream *)
 
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetParameterCount (void *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParameterInfo (void *self_, Steinberg_int32 index, Steinberg_Vst_ParameterInfo *info)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParamStringByValue (void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue normalized, Steinberg_Vst_String128 out)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParamValueByString (void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_TChar *string, Steinberg_Vst_ParamValue *normalized)
 
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sNormalizedParamToPlain (void *, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue normalized)
 
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sPlainParamToNormalized (void *, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue plain)
 
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sGetParamNormalized (void *self_, Steinberg_Vst_ParamID id)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetParamNormalized (void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue value)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetComponentHandler (void *self_, Steinberg_Vst_IComponentHandler *handler)
 
static Steinberg_IPlugView *SMTG_STDMETHODCALLTYPE sCreateView (void *self_, Steinberg_FIDString name)
 
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetProcessContextRequirements (void *)
 
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetUnitCount (void *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetUnitInfo (void *, Steinberg_int32 unitIndex, Steinberg_Vst_UnitInfo *info)
 
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetProgramListCount (void *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramListInfo (void *, Steinberg_int32 listIndex, Steinberg_Vst_ProgramListInfo *info)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramName (void *, Steinberg_Vst_ProgramListID listId, Steinberg_int32 programIndex, Steinberg_Vst_String128 name)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramInfo (void *, Steinberg_Vst_ProgramListID, Steinberg_int32, Steinberg_Vst_CString, Steinberg_Vst_String128)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sHasProgramPitchNames (void *, Steinberg_Vst_ProgramListID, Steinberg_int32)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramPitchName (void *, Steinberg_Vst_ProgramListID, Steinberg_int32, Steinberg_int16, Steinberg_Vst_String128)
 
static Steinberg_Vst_UnitID SMTG_STDMETHODCALLTYPE sGetSelectedUnit (void *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSelectUnit (void *, Steinberg_Vst_UnitID unitId)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetUnitByBus (void *, Steinberg_Vst_MediaType, Steinberg_Vst_BusDirection, Steinberg_int32, Steinberg_int32, Steinberg_Vst_UnitID *unitId)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetUnitProgramData (void *, Steinberg_int32, Steinberg_int32, struct Steinberg_IBStream *)
 
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetMidiControllerAssignment (void *, Steinberg_int32 busIndex, Steinberg_int16 channel, Steinberg_Vst_CtrlNumber midiControllerNumber, Steinberg_Vst_ParamID *id)
 

Public Attributes

const Steinberg_Vst_IComponentVtbl * componentVtbl
 
const Steinberg_Vst_IAudioProcessorVtbl * processorVtbl
 
const Steinberg_Vst_IEditControllerVtbl * controllerVtbl
 
const Steinberg_Vst_IProcessContextRequirementsVtbl * contextReqVtbl
 
const Steinberg_Vst_IUnitInfoVtbl * unitVtbl
 
const Steinberg_Vst_IMidiMappingVtbl * midiMapVtbl
 
std::atomic< Steinberg_uint32 > refs { 1 }
 
P user {}
 
Steinberg_Vst_ProcessSetup setup { 0, 0, 0, 48000.0 }
 
bool prepared = false
 
std::atomic< int > cachedLatency { 0 }
 
int currentChannels = defaultChannelCount<P>()
 
std::atomic< double > shadow [kNumParams==0 ? 1 :kNumParams] {}
 
std::atomic< double > midiProxyShadow [HasMidi< P > ? kNumMidiProxies :1] {}
 
std::atomic< bool > bypass { false }
 
std::atomic< int > currentProgram { 0 }
 
float bypassMix = 0.0f
 
std::vector< float > dryL
 
std::vector< float > dryR
 
std::vector< float > silence
 
DryDelay dryDelay
 
std::atomic< Steinberg_Vst_IComponentHandler * > handler { nullptr }
 
std::atomic< std::thread::id > uiThread { std::this_thread::get_id() }
 
std::atomic< Steinberg_int32 > pendingRestart { 0 }
 
UiTicker uiTicker
 

Static Public Attributes

static constexpr size_t kNumParams = P::parameters.size()
 
static constexpr bool kIsInstrument
 
static constexpr int kNumPresets = factoryPresetCountOf<P>()
 
static const Steinberg_Vst_IComponentVtbl kComponentVtbl
 
static const Steinberg_Vst_IAudioProcessorVtbl kProcessorVtbl
 
static constexpr Steinberg_int32 kBypassIndex
 
static constexpr Steinberg_int32 kProgramIndex
 
static constexpr Steinberg_int32 kFirstProxyIndex
 
static const Steinberg_Vst_IEditControllerVtbl kControllerVtbl
 
static const Steinberg_Vst_IProcessContextRequirementsVtbl kContextReqVtbl
 
static const Steinberg_Vst_IUnitInfoVtbl kUnitVtbl
 
static const Steinberg_Vst_IMidiMappingVtbl kMidiMapVtbl
 

Detailed Description

template<typename P>
struct dspark::plugin::vst3::Plugin< P >

Definition at line 377 of file DSParkVst3.h.

Constructor & Destructor Documentation

◆ Plugin()

template<typename P >
dspark::plugin::vst3::Plugin< P >::Plugin ( )
inlinenoexcept

Definition at line 441 of file DSParkVst3.h.

◆ ~Plugin()

template<typename P >
dspark::plugin::vst3::Plugin< P >::~Plugin ( )
inline

Definition at line 575 of file DSParkVst3.h.

Member Function Documentation

◆ addRefImpl()

template<typename P >
Steinberg_uint32 dspark::plugin::vst3::Plugin< P >::addRefImpl ( )
inlinenoexcept

Definition at line 492 of file DSParkVst3.h.

◆ applyAllShadows()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::applyAllShadows ( )
inlinenoexcept

Definition at line 537 of file DSParkVst3.h.

◆ applyBlockEvent()

template<typename P >
bool dspark::plugin::vst3::Plugin< P >::applyBlockEvent ( const BlockEvent &  ev,
int  blockStart,
bool &  programChanged 
)
inlinenoexcept

Applies one event; blockStart rebases MIDI offsets onto the next processBlock call. Returns true when a user parameter changed (the latency re-check trigger) - program changes report through programChanged instead.

Definition at line 765 of file DSParkVst3.h.

◆ applyFactoryPresetIdx()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::applyFactoryPresetIdx ( int  idx)
inlinenoexcept

Applies one factory preset: every parameter, by normalized value.

Definition at line 546 of file DSParkVst3.h.

◆ applyNormalized()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::applyNormalized ( int  index,
double  normalized 
)
inlinenoexcept

Definition at line 527 of file DSParkVst3.h.

◆ attachToHost()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::attachToHost ( Steinberg_FUnknown *  context)
inlinenoexcept

initialize() of either interface: the calling thread IS the UI thread; start the tick when anything can raise a restart off that thread.

Definition at line 638 of file DSParkVst3.h.

◆ collectInputEvents()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::collectInputEvents ( Steinberg_Vst_IEventList *  list,
Steinberg_int32  numSamples,
BlockEvent *  events,
int &  count 
)
inlinenoexcept

Collects the VST3 note events (HasMidi plugins only).

Definition at line 698 of file DSParkVst3.h.

◆ collectParameterChanges()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::collectParameterChanges ( Steinberg_Vst_IParameterChanges *  changes,
Steinberg_int32  numSamples,
BlockEvent *  events,
int &  count 
)
inlinenoexcept

Collects parameter queue points. In sample-accurate mode every point is kept with its offset; otherwise only the last point per queue.

Definition at line 661 of file DSParkVst3.h.

◆ deliverPendingRestart()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::deliverPendingRestart ( )
inlinenoexcept

UI thread: delivers any restart request the audio thread raised.

Definition at line 622 of file DSParkVst3.h.

◆ detachFromHost()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::detachFromHost ( )
inlinenoexcept

Definition at line 647 of file DSParkVst3.h.

◆ forwardTransport()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::forwardTransport ( const Steinberg_Vst_ProcessContext *  ctx)
inlinenoexcept

Forwards the host ProcessContext as a TransportInfo (HasTransport).

Definition at line 1062 of file DSParkVst3.h.

◆ fromLens()

template<typename P >
static Plugin * dspark::plugin::vst3::Plugin< P >::fromLens ( void *  iface,
int  lens 
)
inlinestaticnoexcept

Definition at line 456 of file DSParkVst3.h.

◆ indexOfParamId()

template<typename P >
static int dspark::plugin::vst3::Plugin< P >::indexOfParamId ( Steinberg_Vst_ParamID  id)
inlinestaticnoexcept

Definition at line 520 of file DSParkVst3.h.

◆ lensPtr()

template<typename P >
void * dspark::plugin::vst3::Plugin< P >::lensPtr ( int  lens)
inlinenoexcept

Definition at line 462 of file DSParkVst3.h.

◆ midiProxySlot()

template<typename P >
static int dspark::plugin::vst3::Plugin< P >::midiProxySlot ( uint32_t  id)
inlinestaticnoexcept

Table slot of a proxy id: channel * 4 + controller slot.

Definition at line 817 of file DSParkVst3.h.

◆ numInputBuses()

template<typename P >
static Steinberg_int32 dspark::plugin::vst3::Plugin< P >::numInputBuses ( )
inlinestaticnoexcept

Audio inputs: none for an Instrument; otherwise the main pair plus an aux bus when the class implements the sidechain processBlock.

Definition at line 850 of file DSParkVst3.h.

◆ onUiThread()

template<typename P >
bool dspark::plugin::vst3::Plugin< P >::onUiThread ( ) const
inlinenoexcept

Definition at line 600 of file DSParkVst3.h.

◆ onUiTick()

template<typename P >
static void dspark::plugin::vst3::Plugin< P >::onUiTick ( void *  self)
inlinestaticnoexcept

Definition at line 631 of file DSParkVst3.h.

◆ programIndexOf()

template<typename P >
static int dspark::plugin::vst3::Plugin< P >::programIndexOf ( Steinberg_Vst_ParamValue  normalized)
inlinestaticnoexcept

The preset index a host-supplied normalized value selects.

The value arrives from a host or from a project file. VST3 declares it to be in [0, 1] and the wrapper enforces nothing, so the range is settled BEFORE the conversion: converting a double that does not fit an int is undefined behaviour, and a clamp written after the cast has already lost. A NaN selects the first preset.

Definition at line 566 of file DSParkVst3.h.

◆ query()

template<typename P >
Steinberg_tresult dspark::plugin::vst3::Plugin< P >::query ( const Steinberg_TUID  iid,
void **  obj 
)
inlinenoexcept

Definition at line 469 of file DSParkVst3.h.

◆ refreshLatency()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::refreshLatency ( Steinberg_int32  extraFlags = 0)
inlinenoexcept

Re-reads the plugin latency; on a change, updates the cache and asks the host to re-fetch it. extraFlags lets the caller batch kParamValuesChanged from a preset load into the same request.

Definition at line 585 of file DSParkVst3.h.

◆ releaseImpl()

template<typename P >
Steinberg_uint32 dspark::plugin::vst3::Plugin< P >::releaseImpl ( )
inlinenoexcept

Definition at line 497 of file DSParkVst3.h.

◆ requestRestart()

template<typename P >
void dspark::plugin::vst3::Plugin< P >::requestRestart ( Steinberg_int32  flags)
inlinenoexcept

Hands flags to the host on the UI thread: at once when called there, otherwise through the UI tick. Without a tick (a Linux host whose context offers no IRunLoop) the request goes out directly - the behaviour those hosts accept. Audio-thread safe: an atomic OR only.

Definition at line 609 of file DSParkVst3.h.

◆ sActivateBus()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sActivateBus ( void *  ,
Steinberg_Vst_MediaType  ,
Steinberg_Vst_BusDirection  ,
Steinberg_int32  ,
Steinberg_TBool   
)
inlinestatic

Definition at line 904 of file DSParkVst3.h.

◆ sAddRef()

template<typename P >
template<int Lens>
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sAddRef ( void *  self_)
inlinestatic

Definition at line 511 of file DSParkVst3.h.

◆ sCanProcessSampleSize()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCanProcessSampleSize ( void *  ,
Steinberg_int32  size 
)
inlinestatic

Definition at line 1037 of file DSParkVst3.h.

◆ sComponentGetState()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sComponentGetState ( void *  self_,
Steinberg_IBStream *  state 
)
inlinestatic

Definition at line 974 of file DSParkVst3.h.

◆ sComponentSetState()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sComponentSetState ( void *  self_,
Steinberg_IBStream *  state 
)
inlinestatic

Definition at line 939 of file DSParkVst3.h.

◆ sCreateView()

template<typename P >
Steinberg_IPlugView *SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCreateView ( void *  self_,
Steinberg_FIDString  name 
)
static

Definition at line 2210 of file DSParkVst3.h.

◆ sCtrlGetState()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCtrlGetState ( void *  ,
Steinberg_IBStream *   
)
inlinestatic

Definition at line 1359 of file DSParkVst3.h.

◆ sCtrlInitialize()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCtrlInitialize ( void *  self_,
Steinberg_FUnknown *  context 
)
inlinestatic

Definition at line 1336 of file DSParkVst3.h.

◆ sCtrlSetState()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCtrlSetState ( void *  ,
Steinberg_IBStream *   
)
inlinestatic

Definition at line 1356 of file DSParkVst3.h.

◆ sCtrlTerminate()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sCtrlTerminate ( void *  self_)
inlinestatic

Definition at line 1343 of file DSParkVst3.h.

◆ sGetBusArrangement()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetBusArrangement ( void *  self_,
Steinberg_Vst_BusDirection  dir,
Steinberg_int32  index,
Steinberg_Vst_SpeakerArrangement *  arr 
)
inlinestatic

Definition at line 1024 of file DSParkVst3.h.

◆ sGetBusCount()

template<typename P >
static Steinberg_int32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetBusCount ( void *  ,
Steinberg_Vst_MediaType  type,
Steinberg_Vst_BusDirection  dir 
)
inlinestatic

Definition at line 856 of file DSParkVst3.h.

◆ sGetBusInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetBusInfo ( void *  self_,
Steinberg_Vst_MediaType  type,
Steinberg_Vst_BusDirection  dir,
Steinberg_int32  index,
Steinberg_Vst_BusInfo *  bus 
)
inlinestatic

Definition at line 865 of file DSParkVst3.h.

◆ sGetControllerClassId()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetControllerClassId ( void *  ,
Steinberg_TUID   
)
inlinestatic

Definition at line 842 of file DSParkVst3.h.

◆ sGetLatencySamples()

template<typename P >
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetLatencySamples ( void *  self_)
inlinestatic

Definition at line 1044 of file DSParkVst3.h.

◆ sGetMidiControllerAssignment()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetMidiControllerAssignment ( void *  ,
Steinberg_int32  busIndex,
Steinberg_int16  channel,
Steinberg_Vst_CtrlNumber  midiControllerNumber,
Steinberg_Vst_ParamID *  id 
)
inlinestatic

Definition at line 1756 of file DSParkVst3.h.

◆ sGetParameterCount()

template<typename P >
static Steinberg_int32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetParameterCount ( void *  )
inlinestatic

Definition at line 1371 of file DSParkVst3.h.

◆ sGetParameterInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetParameterInfo ( void *  self_,
Steinberg_int32  index,
Steinberg_Vst_ParameterInfo *  info 
)
inlinestatic

Definition at line 1376 of file DSParkVst3.h.

◆ sGetParamNormalized()

template<typename P >
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetParamNormalized ( void *  self_,
Steinberg_Vst_ParamID  id 
)
inlinestatic

Definition at line 1540 of file DSParkVst3.h.

◆ sGetParamStringByValue()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetParamStringByValue ( void *  self_,
Steinberg_Vst_ParamID  id,
Steinberg_Vst_ParamValue  normalized,
Steinberg_Vst_String128  out 
)
inlinestatic

Definition at line 1435 of file DSParkVst3.h.

◆ sGetParamValueByString()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetParamValueByString ( void *  self_,
Steinberg_Vst_ParamID  id,
Steinberg_Vst_TChar *  string,
Steinberg_Vst_ParamValue *  normalized 
)
inlinestatic

Definition at line 1466 of file DSParkVst3.h.

◆ sGetProcessContextRequirements()

template<typename P >
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProcessContextRequirements ( void *  )
inlinestatic

Definition at line 1631 of file DSParkVst3.h.

◆ sGetProgramInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProgramInfo ( void *  ,
Steinberg_Vst_ProgramListID  ,
Steinberg_int32  ,
Steinberg_Vst_CString  ,
Steinberg_Vst_String128   
)
inlinestatic

Definition at line 1708 of file DSParkVst3.h.

◆ sGetProgramListCount()

template<typename P >
static Steinberg_int32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProgramListCount ( void *  )
inlinestatic

Definition at line 1669 of file DSParkVst3.h.

◆ sGetProgramListInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProgramListInfo ( void *  ,
Steinberg_int32  listIndex,
Steinberg_Vst_ProgramListInfo *  info 
)
inlinestatic

Definition at line 1674 of file DSParkVst3.h.

◆ sGetProgramName()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProgramName ( void *  ,
Steinberg_Vst_ProgramListID  listId,
Steinberg_int32  programIndex,
Steinberg_Vst_String128  name 
)
inlinestatic

Definition at line 1686 of file DSParkVst3.h.

◆ sGetProgramPitchName()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetProgramPitchName ( void *  ,
Steinberg_Vst_ProgramListID  ,
Steinberg_int32  ,
Steinberg_int16  ,
Steinberg_Vst_String128   
)
inlinestatic

Definition at line 1717 of file DSParkVst3.h.

◆ sGetRoutingInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetRoutingInfo ( void *  ,
Steinberg_Vst_RoutingInfo *  ,
Steinberg_Vst_RoutingInfo *   
)
inlinestatic

Definition at line 900 of file DSParkVst3.h.

◆ sGetSelectedUnit()

template<typename P >
static Steinberg_Vst_UnitID SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetSelectedUnit ( void *  )
inlinestatic

Definition at line 1722 of file DSParkVst3.h.

◆ sGetTailSamples()

template<typename P >
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetTailSamples ( void *  self_)
inlinestatic

Definition at line 1304 of file DSParkVst3.h.

◆ sGetUnitByBus()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetUnitByBus ( void *  ,
Steinberg_Vst_MediaType  ,
Steinberg_Vst_BusDirection  ,
Steinberg_int32  ,
Steinberg_int32  ,
Steinberg_Vst_UnitID *  unitId 
)
inlinestatic

Definition at line 1730 of file DSParkVst3.h.

◆ sGetUnitCount()

template<typename P >
static Steinberg_int32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetUnitCount ( void *  )
inlinestatic

Definition at line 1654 of file DSParkVst3.h.

◆ sGetUnitInfo()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sGetUnitInfo ( void *  ,
Steinberg_int32  unitIndex,
Steinberg_Vst_UnitInfo *  info 
)
inlinestatic

Definition at line 1656 of file DSParkVst3.h.

◆ sHasProgramPitchNames()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sHasProgramPitchNames ( void *  ,
Steinberg_Vst_ProgramListID  ,
Steinberg_int32   
)
inlinestatic

Definition at line 1713 of file DSParkVst3.h.

◆ sInitialize()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sInitialize ( void *  self_,
Steinberg_FUnknown *  context 
)
inlinestatic

Definition at line 829 of file DSParkVst3.h.

◆ sNormalizedParamToPlain()

template<typename P >
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sNormalizedParamToPlain ( void *  ,
Steinberg_Vst_ParamID  id,
Steinberg_Vst_ParamValue  normalized 
)
inlinestatic

Definition at line 1518 of file DSParkVst3.h.

◆ sPlainParamToNormalized()

template<typename P >
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sPlainParamToNormalized ( void *  ,
Steinberg_Vst_ParamID  id,
Steinberg_Vst_ParamValue  plain 
)
inlinestatic

Definition at line 1529 of file DSParkVst3.h.

◆ sProcess()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sProcess ( void *  self_,
Steinberg_Vst_ProcessData *  data 
)
inlinestatic

Definition at line 1102 of file DSParkVst3.h.

◆ sQuery()

template<typename P >
template<int Lens>
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sQuery ( void *  self_,
const Steinberg_TUID  iid,
void **  obj 
)
inlinestatic

Definition at line 505 of file DSParkVst3.h.

◆ sRelease()

template<typename P >
template<int Lens>
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sRelease ( void *  self_)
inlinestatic

Definition at line 515 of file DSParkVst3.h.

◆ sSelectUnit()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSelectUnit ( void *  ,
Steinberg_Vst_UnitID  unitId 
)
inlinestatic

Definition at line 1725 of file DSParkVst3.h.

◆ sSetActive()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetActive ( void *  self_,
Steinberg_TBool  state 
)
inlinestatic

Definition at line 909 of file DSParkVst3.h.

◆ sSetBusArrangements()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetBusArrangements ( void *  self_,
Steinberg_Vst_SpeakerArrangement *  inputs,
Steinberg_int32  numIns,
Steinberg_Vst_SpeakerArrangement *  outputs,
Steinberg_int32  numOuts 
)
inlinestatic

Mono and stereo negotiate per the declared ChannelSupport; every bus of an instance (main in, sidechain, out) runs the same width.

Definition at line 1004 of file DSParkVst3.h.

◆ sSetComponentHandler()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetComponentHandler ( void *  self_,
Steinberg_Vst_IComponentHandler *  handler 
)
inlinestatic

Definition at line 1598 of file DSParkVst3.h.

◆ sSetComponentState()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetComponentState ( void *  self_,
Steinberg_IBStream *  state 
)
inlinestatic

Definition at line 1349 of file DSParkVst3.h.

◆ sSetIoMode()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetIoMode ( void *  ,
Steinberg_Vst_IoMode   
)
inlinestatic

Definition at line 845 of file DSParkVst3.h.

◆ sSetParamNormalized()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetParamNormalized ( void *  self_,
Steinberg_Vst_ParamID  id,
Steinberg_Vst_ParamValue  value 
)
inlinestatic

Definition at line 1563 of file DSParkVst3.h.

◆ sSetProcessing()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetProcessing ( void *  ,
Steinberg_TBool   
)
inlinestatic

Definition at line 1058 of file DSParkVst3.h.

◆ sSetUnitProgramData()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetUnitProgramData ( void *  ,
Steinberg_int32  ,
Steinberg_int32  ,
struct Steinberg_IBStream *   
)
inlinestatic

Definition at line 1739 of file DSParkVst3.h.

◆ sSetupProcessing()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sSetupProcessing ( void *  self_,
Steinberg_Vst_ProcessSetup *  setup 
)
inlinestatic

Definition at line 1050 of file DSParkVst3.h.

◆ sTerminate()

template<typename P >
static Steinberg_tresult SMTG_STDMETHODCALLTYPE dspark::plugin::vst3::Plugin< P >::sTerminate ( void *  self_)
inlinestatic

Definition at line 836 of file DSParkVst3.h.

Member Data Documentation

◆ bypass

template<typename P >
std::atomic<bool> dspark::plugin::vst3::Plugin< P >::bypass { false }

Definition at line 420 of file DSParkVst3.h.

◆ bypassMix

template<typename P >
float dspark::plugin::vst3::Plugin< P >::bypassMix = 0.0f

Definition at line 422 of file DSParkVst3.h.

◆ cachedLatency

template<typename P >
std::atomic<int> dspark::plugin::vst3::Plugin< P >::cachedLatency { 0 }

Latency in samples, as last reported to the host. The processing call re-reads it after parameter motion while the host fetches it from its own thread, so it is a published word rather than a plain int. It stands alone – nothing else is ordered against it, and the host is told to re-fetch through the notification path below – so the plain store/load idiom for a single independent value is the whole contract.

Definition at line 415 of file DSParkVst3.h.

◆ componentVtbl

template<typename P >
const Steinberg_Vst_IComponentVtbl* dspark::plugin::vst3::Plugin< P >::componentVtbl

Definition at line 397 of file DSParkVst3.h.

◆ contextReqVtbl

template<typename P >
const Steinberg_Vst_IProcessContextRequirementsVtbl* dspark::plugin::vst3::Plugin< P >::contextReqVtbl

Definition at line 400 of file DSParkVst3.h.

◆ controllerVtbl

template<typename P >
const Steinberg_Vst_IEditControllerVtbl* dspark::plugin::vst3::Plugin< P >::controllerVtbl

Definition at line 399 of file DSParkVst3.h.

◆ currentChannels

template<typename P >
int dspark::plugin::vst3::Plugin< P >::currentChannels = defaultChannelCount<P>()

Definition at line 416 of file DSParkVst3.h.

◆ currentProgram

template<typename P >
std::atomic<int> dspark::plugin::vst3::Plugin< P >::currentProgram { 0 }

Definition at line 421 of file DSParkVst3.h.

◆ dryDelay

template<typename P >
DryDelay dspark::plugin::vst3::Plugin< P >::dryDelay

Definition at line 425 of file DSParkVst3.h.

◆ dryL

template<typename P >
std::vector<float> dspark::plugin::vst3::Plugin< P >::dryL

Definition at line 423 of file DSParkVst3.h.

◆ dryR

template<typename P >
std::vector<float> dspark::plugin::vst3::Plugin< P >::dryR

Definition at line 423 of file DSParkVst3.h.

◆ handler

template<typename P >
std::atomic<Steinberg_Vst_IComponentHandler*> dspark::plugin::vst3::Plugin< P >::handler { nullptr }

Definition at line 431 of file DSParkVst3.h.

◆ kBypassIndex

template<typename P >
constexpr Steinberg_int32 dspark::plugin::vst3::Plugin< P >::kBypassIndex
staticconstexpr
Initial value:
=
static_cast<Steinberg_int32>(kNumParams)
static constexpr size_t kNumParams
Definition DSParkVst3.h:379

Definition at line 1364 of file DSParkVst3.h.

◆ kComponentVtbl

template<typename P >
const Steinberg_Vst_IComponentVtbl dspark::plugin::vst3::Plugin< P >::kComponentVtbl
inlinestatic
Initial value:
= {
&sQuery<0>, &sAddRef<0>, &sRelease<0>,
}
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sComponentSetState(void *self_, Steinberg_IBStream *state)
Definition DSParkVst3.h:939
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetRoutingInfo(void *, Steinberg_Vst_RoutingInfo *, Steinberg_Vst_RoutingInfo *)
Definition DSParkVst3.h:900
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sComponentGetState(void *self_, Steinberg_IBStream *state)
Definition DSParkVst3.h:974
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sInitialize(void *self_, Steinberg_FUnknown *context)
Definition DSParkVst3.h:829
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sTerminate(void *self_)
Definition DSParkVst3.h:836
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetIoMode(void *, Steinberg_Vst_IoMode)
Definition DSParkVst3.h:845
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetActive(void *self_, Steinberg_TBool state)
Definition DSParkVst3.h:909
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sActivateBus(void *, Steinberg_Vst_MediaType, Steinberg_Vst_BusDirection, Steinberg_int32, Steinberg_TBool)
Definition DSParkVst3.h:904
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetBusInfo(void *self_, Steinberg_Vst_MediaType type, Steinberg_Vst_BusDirection dir, Steinberg_int32 index, Steinberg_Vst_BusInfo *bus)
Definition DSParkVst3.h:865
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetControllerClassId(void *, Steinberg_TUID)
Definition DSParkVst3.h:842
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetBusCount(void *, Steinberg_Vst_MediaType type, Steinberg_Vst_BusDirection dir)
Definition DSParkVst3.h:856

Definition at line 990 of file DSParkVst3.h.

◆ kContextReqVtbl

template<typename P >
const Steinberg_Vst_IProcessContextRequirementsVtbl dspark::plugin::vst3::Plugin< P >::kContextReqVtbl
inlinestatic
Initial value:
= {
&sQuery<3>, &sAddRef<3>, &sRelease<3>,
}
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetProcessContextRequirements(void *)

Definition at line 1644 of file DSParkVst3.h.

◆ kControllerVtbl

template<typename P >
const Steinberg_Vst_IEditControllerVtbl dspark::plugin::vst3::Plugin< P >::kControllerVtbl
inlinestatic
Initial value:
= {
&sQuery<2>, &sAddRef<2>, &sRelease<2>,
}
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sGetParamNormalized(void *self_, Steinberg_Vst_ParamID id)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlSetState(void *, Steinberg_IBStream *)
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sPlainParamToNormalized(void *, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue plain)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlGetState(void *, Steinberg_IBStream *)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlInitialize(void *self_, Steinberg_FUnknown *context)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetComponentHandler(void *self_, Steinberg_Vst_IComponentHandler *handler)
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetParameterCount(void *)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParamStringByValue(void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue normalized, Steinberg_Vst_String128 out)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParamValueByString(void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_TChar *string, Steinberg_Vst_ParamValue *normalized)
static Steinberg_Vst_ParamValue SMTG_STDMETHODCALLTYPE sNormalizedParamToPlain(void *, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue normalized)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCtrlTerminate(void *self_)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetParamNormalized(void *self_, Steinberg_Vst_ParamID id, Steinberg_Vst_ParamValue value)
static Steinberg_IPlugView *SMTG_STDMETHODCALLTYPE sCreateView(void *self_, Steinberg_FIDString name)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetParameterInfo(void *self_, Steinberg_int32 index, Steinberg_Vst_ParameterInfo *info)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetComponentState(void *self_, Steinberg_IBStream *state)

Definition at line 1616 of file DSParkVst3.h.

◆ kFirstProxyIndex

template<typename P >
constexpr Steinberg_int32 dspark::plugin::vst3::Plugin< P >::kFirstProxyIndex
staticconstexpr
Initial value:
=
kBypassIndex + 1 + (kNumPresets > 0 ? 1 : 0)
static constexpr Steinberg_int32 kBypassIndex
static constexpr int kNumPresets
Definition DSParkVst3.h:382

Definition at line 1368 of file DSParkVst3.h.

◆ kIsInstrument

template<typename P >
constexpr bool dspark::plugin::vst3::Plugin< P >::kIsInstrument
staticconstexpr
Initial value:
=
P::descriptor.category == Category::Instrument
@ Instrument
Audio generator (MIDI in -> audio out, no audio input).

Definition at line 380 of file DSParkVst3.h.

◆ kMidiMapVtbl

template<typename P >
const Steinberg_Vst_IMidiMappingVtbl dspark::plugin::vst3::Plugin< P >::kMidiMapVtbl
inlinestatic
Initial value:
= {
&sQuery<5>, &sAddRef<5>, &sRelease<5>,
}
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetMidiControllerAssignment(void *, Steinberg_int32 busIndex, Steinberg_int16 channel, Steinberg_Vst_CtrlNumber midiControllerNumber, Steinberg_Vst_ParamID *id)

Definition at line 1770 of file DSParkVst3.h.

◆ kNumParams

template<typename P >
constexpr size_t dspark::plugin::vst3::Plugin< P >::kNumParams = P::parameters.size()
staticconstexpr

Definition at line 379 of file DSParkVst3.h.

◆ kNumPresets

template<typename P >
constexpr int dspark::plugin::vst3::Plugin< P >::kNumPresets = factoryPresetCountOf<P>()
staticconstexpr

Definition at line 382 of file DSParkVst3.h.

◆ kProcessorVtbl

template<typename P >
const Steinberg_Vst_IAudioProcessorVtbl dspark::plugin::vst3::Plugin< P >::kProcessorVtbl
inlinestatic
Initial value:
= {
&sQuery<1>, &sAddRef<1>, &sRelease<1>,
}
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetLatencySamples(void *self_)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetupProcessing(void *self_, Steinberg_Vst_ProcessSetup *setup)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sCanProcessSampleSize(void *, Steinberg_int32 size)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetBusArrangement(void *self_, Steinberg_Vst_BusDirection dir, Steinberg_int32 index, Steinberg_Vst_SpeakerArrangement *arr)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sProcess(void *self_, Steinberg_Vst_ProcessData *data)
static Steinberg_uint32 SMTG_STDMETHODCALLTYPE sGetTailSamples(void *self_)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetProcessing(void *, Steinberg_TBool)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetBusArrangements(void *self_, Steinberg_Vst_SpeakerArrangement *inputs, Steinberg_int32 numIns, Steinberg_Vst_SpeakerArrangement *outputs, Steinberg_int32 numOuts)

Definition at line 1325 of file DSParkVst3.h.

◆ kProgramIndex

template<typename P >
constexpr Steinberg_int32 dspark::plugin::vst3::Plugin< P >::kProgramIndex
staticconstexpr
Initial value:
=
kNumPresets > 0 ? kBypassIndex + 1 : -1

Definition at line 1366 of file DSParkVst3.h.

◆ kUnitVtbl

template<typename P >
const Steinberg_Vst_IUnitInfoVtbl dspark::plugin::vst3::Plugin< P >::kUnitVtbl
inlinestatic
Initial value:
= {
&sQuery<4>, &sAddRef<4>, &sRelease<4>,
}
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetProgramListCount(void *)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetUnitByBus(void *, Steinberg_Vst_MediaType, Steinberg_Vst_BusDirection, Steinberg_int32, Steinberg_int32, Steinberg_Vst_UnitID *unitId)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sHasProgramPitchNames(void *, Steinberg_Vst_ProgramListID, Steinberg_int32)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramName(void *, Steinberg_Vst_ProgramListID listId, Steinberg_int32 programIndex, Steinberg_Vst_String128 name)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSelectUnit(void *, Steinberg_Vst_UnitID unitId)
static Steinberg_int32 SMTG_STDMETHODCALLTYPE sGetUnitCount(void *)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramListInfo(void *, Steinberg_int32 listIndex, Steinberg_Vst_ProgramListInfo *info)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetUnitInfo(void *, Steinberg_int32 unitIndex, Steinberg_Vst_UnitInfo *info)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramPitchName(void *, Steinberg_Vst_ProgramListID, Steinberg_int32, Steinberg_int16, Steinberg_Vst_String128)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sGetProgramInfo(void *, Steinberg_Vst_ProgramListID, Steinberg_int32, Steinberg_Vst_CString, Steinberg_Vst_String128)
static Steinberg_tresult SMTG_STDMETHODCALLTYPE sSetUnitProgramData(void *, Steinberg_int32, Steinberg_int32, struct Steinberg_IBStream *)
static Steinberg_Vst_UnitID SMTG_STDMETHODCALLTYPE sGetSelectedUnit(void *)

Definition at line 1743 of file DSParkVst3.h.

◆ midiMapVtbl

template<typename P >
const Steinberg_Vst_IMidiMappingVtbl* dspark::plugin::vst3::Plugin< P >::midiMapVtbl

Definition at line 402 of file DSParkVst3.h.

◆ midiProxyShadow

template<typename P >
std::atomic<double> dspark::plugin::vst3::Plugin< P >::midiProxyShadow[HasMidi< P > ? kNumMidiProxies :1] {}

Definition at line 419 of file DSParkVst3.h.

◆ pendingRestart

template<typename P >
std::atomic<Steinberg_int32> dspark::plugin::vst3::Plugin< P >::pendingRestart { 0 }

Definition at line 438 of file DSParkVst3.h.

◆ prepared

template<typename P >
bool dspark::plugin::vst3::Plugin< P >::prepared = false

Definition at line 408 of file DSParkVst3.h.

◆ processorVtbl

template<typename P >
const Steinberg_Vst_IAudioProcessorVtbl* dspark::plugin::vst3::Plugin< P >::processorVtbl

Definition at line 398 of file DSParkVst3.h.

◆ refs

template<typename P >
std::atomic<Steinberg_uint32> dspark::plugin::vst3::Plugin< P >::refs { 1 }

Definition at line 404 of file DSParkVst3.h.

◆ setup

template<typename P >
Steinberg_Vst_ProcessSetup dspark::plugin::vst3::Plugin< P >::setup { 0, 0, 0, 48000.0 }

Definition at line 407 of file DSParkVst3.h.

◆ shadow

template<typename P >
std::atomic<double> dspark::plugin::vst3::Plugin< P >::shadow[kNumParams==0 ? 1 :kNumParams] {}

Definition at line 418 of file DSParkVst3.h.

◆ silence

template<typename P >
std::vector<float> dspark::plugin::vst3::Plugin< P >::silence

Definition at line 424 of file DSParkVst3.h.

◆ uiThread

template<typename P >
std::atomic<std::thread::id> dspark::plugin::vst3::Plugin< P >::uiThread { std::this_thread::get_id() }

Definition at line 437 of file DSParkVst3.h.

◆ uiTicker

template<typename P >
UiTicker dspark::plugin::vst3::Plugin< P >::uiTicker

Definition at line 439 of file DSParkVst3.h.

◆ unitVtbl

template<typename P >
const Steinberg_Vst_IUnitInfoVtbl* dspark::plugin::vst3::Plugin< P >::unitVtbl

Definition at line 401 of file DSParkVst3.h.

◆ user

template<typename P >
P dspark::plugin::vst3::Plugin< P >::user {}

Definition at line 406 of file DSParkVst3.h.


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