dplug.vst3.ivstaudioprocessor

Undocumented in source.

Members

Aliases

ComponentFlags
alias ComponentFlags = int
Undocumented in source.
NoteExpressionTypeID
alias NoteExpressionTypeID = uint
Undocumented in source.
NoteExpressionValue
alias NoteExpressionValue = double
Undocumented in source.
ProcessModes
alias ProcessModes = int

Processing mode informs the Plug-in about the context and at which frequency the process call is called. VST3 defines 3 modes: - kRealtime: each process call is called at a realtime frequency (defined by [numSamples of ProcessData] / samplerate). The Plug-in should always try to process as fast as possible in order to let enough time slice to other Plug-ins. - kPrefetch: each process call could be called at a variable frequency (jitter, slower / faster than realtime), the Plug-in should process at the same quality level than realtime, Plug-in must not slow down to realtime (e.g. disk streaming)! The host should avoid to process in kPrefetch mode such sampler based Plug-in. - kOffline: each process call could be faster than realtime or slower, higher quality than realtime could be used. Plug-ins using disk streaming should be sure that they have enough time in the process call for streaming, if needed by slowing down to realtime or slower. . Note about Process Modes switching: -Switching between kRealtime and kPrefetch process modes are done in realtime thread without need of calling IAudioProcessor::setupProcessing, the Plug-in should check in process call the member processMode of ProcessData in order to know in which mode it is processed. -Switching between kRealtime (or kPrefetch) and kOffline requires that the host calls IAudioProcessor::setupProcessing in order to inform the Plug-in about this mode change.

SymbolicSampleSizes
alias SymbolicSampleSizes = int
Undocumented in source.

Enums

kDistributable
anonymousenum kDistributable
Undocumented in source.
kRealtime
anonymousenum kRealtime
Undocumented in source.
kSample32
anonymousenum kSample32
Undocumented in source.

Interfaces

IAudioProcessor
interface IAudioProcessor

Audio Processing Interface. This interface must always be supported by audio processing Plug-ins.

IEventList
interface IEventList

List of events to process. \ingroup vstIHost vst300 - [host imp] - [released: 3.0.0]

IHostApplication
interface IHostApplication

Basic Host Callback Interface. \ingroup vstIHost vst300 - [host imp] - [passed as 'context' in to IPluginBase::initialize () ] - [released: 3.0.0]

IParamValueQueue
interface IParamValueQueue

Queue of changes for a specific parameter. \ingroup vstIHost vst300 - [host imp] - [released: 3.0.0]

IParameterChanges
interface IParameterChanges

All parameter changes of a processing block. \ingroup vstIHost vst300 - [host imp] - [released: 3.0.0]

Mixins

__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(ProcessSetup, 24, 20, 24)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(AudioBusBuffers, 24, 16, 24)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(ProcessData, 80, 48, 48)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(ProcessContext, 112, 104, 112)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(FrameRate, 8, 8, 8)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(Chord, 4, 4, 4)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(NoteOnEvent, 20, 20, 20)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(NoteOffEvent, 16, 16, 16)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(DataEvent, 16, 12, 12)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(PolyPressureEvent, 12, 12, 12)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(ChordEvent, 16, 12, 12)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(LegacyMIDICCOutEvent, 4, 4, 4)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(Event, 48, 40, 40)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(NoteExpressionTextEvent, 24, 16, 16)
Undocumented in source.
__anonymous
mixin SMTG_TYPE_SIZE_CHECK!(NoteExpressionValueEvent, 16, 16, 16)
Undocumented in source.

Structs

AudioBusBuffers
struct AudioBusBuffers

Processing buffers of an audio bus. This structure contains the processing buffer for each channel of an audio bus. - The number of channels (numChannels) must always match the current bus arrangement. It could be set to value '0' when the host wants to flush the parameters (when the Plug-in is not processed). - The size of the channel buffer array must always match the number of channels. So the host must always supply an array for the channel buffers, regardless if the bus is active or not. However, if an audio bus is currently inactive, the actual sample buffer addresses are safe to be null. - The silence flag is set when every sample of the according buffer has the value '0'. It is intended to be used as help for optimizations allowing a Plug-in to reduce processing activities. But even if this flag is set for a channel, the channel buffers must still point to valid memory! This flag is optional. A host is free to support it or not. . \see ProcessData

Chord
struct Chord

Description of a chord. A chord is described with a key note, a root note and the \copydoc chordMask \see ProcessContext

ChordEvent
struct ChordEvent

Chord event specific data. Used in \ref Event (union)

DataEvent
struct DataEvent

Data event specific data. Used in \ref Event (union)

Event
struct Event

Event

Event
struct Event

Event

FrameRate
struct FrameRate
Undocumented in source.
LegacyMIDICCOutEvent
struct LegacyMIDICCOutEvent

Legacy MIDI CC Out event specific data. Used in \ref Event (union)

NoteExpressionTextEvent
struct NoteExpressionTextEvent
Undocumented in source.
NoteExpressionValueEvent
struct NoteExpressionValueEvent
Undocumented in source.
NoteOffEvent
struct NoteOffEvent

Note-off event specific data. Used in \ref Event (union)

NoteOnEvent
struct NoteOnEvent

Note-on event specific data. Used in \ref Event (union)

PlugType
struct PlugType
Undocumented in source.
PolyPressureEvent
struct PolyPressureEvent

PolyPressure event specific data. Used in \ref Event (union)

ProcessContext
struct ProcessContext

Audio processing context. For each processing block the host provides timing information and musical parameters that can change over time. For a host that supports jumps (like cycle) it is possible to split up a processing block into multiple parts in order to provide a correct project time inside of every block, but this behaviour is not mandatory. Since the timing will be correct at the beginning of the next block again, a host that is dependent on a fixed processing block size can choose to neglect this problem. \see IAudioProcessor, ProcessData

ProcessData
struct ProcessData

Any data needed in audio processing. The host prepares AudioBusBuffers for each input/output bus, regardless of the bus activation state. Bus buffer indices always match with bus indices used in IComponent::getBusInfo of media type kAudio. \see AudioBusBuffers, IParameterChanges, IEventList, ProcessContext

ProcessSetup
struct ProcessSetup

Audio processing setup. \see IAudioProcessor::setupProcessing

Variables

eventABIFix
enum bool eventABIFix;
Undocumented in source.
eventABIFix
enum bool eventABIFix;
Undocumented in source.
eventABIFix
enum bool eventABIFix;
Undocumented in source.
eventABIFix
enum bool eventABIFix;
Undocumented in source.
eventABIFix
enum bool eventABIFix;
Undocumented in source.
kInfiniteTail
enum uint kInfiniteTail;

kInfiniteTail * * to be returned by getTailSamples when infinite tail is wanted \see IAudioProcessor::getTailSamples

kNoTail
enum uint kNoTail;

kNoTail * * to be returned by getTailSamples when no tail is wanted \see IAudioProcessor::getTailSamples

kVstAudioEffectClass
string kVstAudioEffectClass;
Undocumented in source.

Mixed In Members

From mixin SMTG_TYPE_SIZE_CHECK!(ProcessSetup, 24, 20, 24)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(AudioBusBuffers, 24, 16, 24)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(ProcessData, 80, 48, 48)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(ProcessContext, 112, 104, 112)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(FrameRate, 8, 8, 8)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(Chord, 4, 4, 4)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(NoteOnEvent, 20, 20, 20)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(NoteOffEvent, 16, 16, 16)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(DataEvent, 16, 12, 12)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(PolyPressureEvent, 12, 12, 12)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(ChordEvent, 16, 12, 12)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(LegacyMIDICCOutEvent, 4, 4, 4)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(Event, 48, 40, 40)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(NoteExpressionValueEvent, 16, 16, 16)

size
enum size;
Undocumented in source.

From mixin SMTG_TYPE_SIZE_CHECK!(NoteExpressionTextEvent, 24, 16, 16)

size
enum size;
Undocumented in source.

Meta