29#ifndef kVstAudioEffectClass
30#define kVstAudioEffectClass "Audio Module Class"
38class IParameterChanges;
#define nullptr
Definition DistrhoDefines.h:75
Definition funknown.h:233
Definition funknown.h:361
Definition ivstaudioprocessor.h:367
static const FUID iid
Definition ivstaudioprocessor.h:374
virtual tresult PLUGIN_API setAudioPresentationLatencySamples(BusDirection dir, int32 busIndex, uint32 latencyInSamples)=0
Definition ivstaudioprocessor.h:259
virtual tresult PLUGIN_API setProcessing(TBool state)=0
virtual tresult PLUGIN_API setupProcessing(ProcessSetup &setup)=0
virtual tresult PLUGIN_API process(ProcessData &data)=0
static const FUID iid
Definition ivstaudioprocessor.h:331
virtual tresult PLUGIN_API getBusArrangement(BusDirection dir, int32 index, SpeakerArrangement &arr)=0
virtual uint32 PLUGIN_API getTailSamples()=0
virtual tresult PLUGIN_API setBusArrangements(SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts)=0
virtual uint32 PLUGIN_API getLatencySamples()=0
virtual tresult PLUGIN_API canProcessSampleSize(int32 symbolicSampleSize)=0
Definition ivstevents.h:197
Definition ivstparameterchanges.h:120
Definition ivstaudioprocessor.h:400
static const FUID iid
Definition ivstaudioprocessor.h:418
Flags
Definition ivstaudioprocessor.h:403
@ kNeedSamplesToNextClock
Definition ivstaudioprocessor.h:409
@ kNeedSystemTime
Definition ivstaudioprocessor.h:404
@ kNeedChord
Definition ivstaudioprocessor.h:412
@ kNeedContinousTimeSamples
Definition ivstaudioprocessor.h:405
@ kNeedProjectTimeMusic
Definition ivstaudioprocessor.h:406
@ kNeedFrameRate
Definition ivstaudioprocessor.h:413
@ kNeedTempo
Definition ivstaudioprocessor.h:410
@ kNeedTransportState
Definition ivstaudioprocessor.h:414
@ kNeedTimeSignature
Definition ivstaudioprocessor.h:411
@ kNeedBarPositionMusic
Definition ivstaudioprocessor.h:407
@ kNeedCycleMusic
Definition ivstaudioprocessor.h:408
virtual uint32 PLUGIN_API getProcessContextRequirements()=0
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
JSAMPIMAGE data
Definition jpeglib.h:945
Definition ivstaudioprocessor.h:44
const CString kFx
others type (not categorized)
Definition ivstaudioprocessor.h:55
const CString kUpDownMix
used for Mixconverter/Up-Mixer/Down-Mixer
Definition ivstaudioprocessor.h:84
const CString kAnalyzer
Meter, Scope, FFT-Display, not selectable as insert plug-in.
Definition ivstaudioprocessor.h:85
const CString kFxInstrumentExternal
Fx which could be loaded as Instrument too and is external (wrapped Hardware).
Definition ivstaudioprocessor.h:57
const CString kFxSpatial
MonoToStereo, StereoEnhancer,...
Definition ivstaudioprocessor.h:58
const CString kFxPitchShift
Pitch Processing, Pitch Correction, Vocal Tuning...
Definition ivstaudioprocessor.h:62
const CString kOnlyARA
used for plug-ins that require ARA to operate (will not work as normal insert plug-in)
Definition ivstaudioprocessor.h:81
const CString kFxAnalyzer
Scope, FFT-Display, Loudness Processing...
Definition ivstaudioprocessor.h:49
const CString kSurround
used for Surround only plug-in [optional]
Definition ivstaudioprocessor.h:90
const CString kFxReverb
Reverberation, Room Simulation, Convolution Reverb...
Definition ivstaudioprocessor.h:64
const CString kInstrumentSynth
Instrument based on Synthesis.
Definition ivstaudioprocessor.h:74
const CString kFxDynamics
Compressor, Expander, Gate, Limiter, Maximizer, Tape Simulator, EnvelopeShaper...
Definition ivstaudioprocessor.h:52
const CString kFxTools
Volume, Mixer, Tuner...
Definition ivstaudioprocessor.h:66
const CString kFxDelay
Delay, Multi-tap Delay, Ping-Pong Delay...
Definition ivstaudioprocessor.h:50
const CString kFxEQ
Equalization, Graphical EQ...
Definition ivstaudioprocessor.h:53
const CString kFxModulation
Phaser, Flanger, Chorus, Tremolo, Vibrato, AutoPan, Rotary, Cloner...
Definition ivstaudioprocessor.h:61
const CString kSpatialFx
used for SurroundPanner and as insert effect
Definition ivstaudioprocessor.h:78
const CString kNoOfflineProcess
will be NOT used for plug-in offline processing (will work as normal insert plug-in)
Definition ivstaudioprocessor.h:83
const CString kInstrument
Effect used as instrument (sound generator), not as insert.
Definition ivstaudioprocessor.h:69
const CString kFxSurround
dedicated to surround processing: LFE Splitter, Bass Manager...
Definition ivstaudioprocessor.h:65
const CString kInstrumentSynthSampler
Instrument based on Synthesis and Samples.
Definition ivstaudioprocessor.h:75
const CString kSpatial
used for SurroundPanner
Definition ivstaudioprocessor.h:77
const CString kStereo
used for Stereo only plug-in [optional]
Definition ivstaudioprocessor.h:89
const CString kInstrumentExternal
External Instrument (wrapped Hardware).
Definition ivstaudioprocessor.h:71
const CString kOnlyRealTime
indicates that it supports only realtime process call, no processing faster than realtime
Definition ivstaudioprocessor.h:79
const CString kFxRestoration
Denoiser, Declicker,...
Definition ivstaudioprocessor.h:63
const CString kOnlyOfflineProcess
used for plug-in offline processing (will not work as normal insert plug-in)
Definition ivstaudioprocessor.h:80
const CString kInstrumentPiano
Instrument for Piano sounds.
Definition ivstaudioprocessor.h:72
const CString kInstrumentDrum
Instrument for Drum sounds.
Definition ivstaudioprocessor.h:70
const CString kAmbisonics
used for Ambisonics channel (FX or Panner/Mixconverter/Up-Mixer/Down-Mixer when combined with other c...
Definition ivstaudioprocessor.h:86
const CString kInstrumentSampler
Instrument based on Samples.
Definition ivstaudioprocessor.h:73
const CString kFxInstrument
Fx which could be loaded as Instrument too.
Definition ivstaudioprocessor.h:56
const CString kFxDistortion
Amp Simulator, Sub-Harmonic, SoftClipper...
Definition ivstaudioprocessor.h:51
const CString kFxNetwork
using Network
Definition ivstaudioprocessor.h:67
const CString kFxFilter
WahWah, ToneBooster, Specific Filter,...
Definition ivstaudioprocessor.h:54
const CString kMono
used for Mono only plug-in [optional]
Definition ivstaudioprocessor.h:88
const CString kFxGenerator
Tone Generator, Noise Generator...
Definition ivstaudioprocessor.h:59
const CString kFxMastering
Dither, Noise Shaping,...
Definition ivstaudioprocessor.h:60
double Sample64
64-bit precision audio sample
Definition vsttypes.h:92
ComponentFlags
Definition ivstaudioprocessor.h:99
@ kDistributable
Component can be run on remote computer.
Definition ivstaudioprocessor.h:101
@ kSimpleModeSupported
Component supports simple IO mode (or works in simple mode anyway) see vst3IoMode.
Definition ivstaudioprocessor.h:102
static const uint32 kInfiniteTail
Definition ivstaudioprocessor.h:159
ProcessModes
Definition ivstaudioprocessor.h:139
@ kRealtime
realtime processing
Definition ivstaudioprocessor.h:140
@ kOffline
offline processing
Definition ivstaudioprocessor.h:142
@ kPrefetch
prefetch processing
Definition ivstaudioprocessor.h:141
float Sample32
32-bit precision audio sample
Definition vsttypes.h:91
static const uint32 kNoTail
Definition ivstaudioprocessor.h:151
double SampleRate
sample rate
Definition vsttypes.h:93
int32 BusDirection
bus direction (in/out)
Definition vsttypes.h:70
uint64 SpeakerArrangement
Bitset of speakers.
Definition vsttypes.h:98
const char8 * CString
C-String.
Definition vsttypes.h:64
SymbolicSampleSizes
Definition ivstaudioprocessor.h:111
@ kSample32
32-bit precision
Definition ivstaudioprocessor.h:112
@ kSample64
64-bit precision
Definition ivstaudioprocessor.h:113
Definition baseiids.cpp:43
unsigned long long uint64
Definition ftypes.h:67
int int32
Definition ftypes.h:50
static const uint32 kMaxInt32u
Definition ftypes.h:58
uint8 TBool
Definition ftypes.h:89
int32 tresult
Definition ftypes.h:76
unsigned int uint32
Definition ftypes.h:51
Definition ivstaudioprocessor.h:192
int32 numChannels
number of audio channels in bus
Definition ivstaudioprocessor.h:196
Sample64 ** channelBuffers64
sample buffers to process with 64-bit precision
Definition ivstaudioprocessor.h:201
uint64 silenceFlags
Bitset of silence state per channel.
Definition ivstaudioprocessor.h:197
AudioBusBuffers()
Definition ivstaudioprocessor.h:193
Sample32 ** channelBuffers32
sample buffers to process with 32-bit precision
Definition ivstaudioprocessor.h:200
Definition ivstprocesscontext.h:97
Definition ivstaudioprocessor.h:214
IEventList * inputEvents
incoming events for this block (optional)
Definition ivstaudioprocessor.h:242
int32 symbolicSampleSize
sample size - value of SymbolicSampleSizes
Definition ivstaudioprocessor.h:233
AudioBusBuffers * inputs
buffers of input busses
Definition ivstaudioprocessor.h:237
AudioBusBuffers * outputs
buffers of output busses
Definition ivstaudioprocessor.h:238
int32 numInputs
number of audio input busses
Definition ivstaudioprocessor.h:235
ProcessContext * processContext
processing context (optional, but most welcome)
Definition ivstaudioprocessor.h:244
int32 processMode
processing mode - value of ProcessModes
Definition ivstaudioprocessor.h:232
IEventList * outputEvents
outgoing events for this block (optional)
Definition ivstaudioprocessor.h:243
IParameterChanges * outputParameterChanges
outgoing parameter changes for this block (optional)
Definition ivstaudioprocessor.h:241
ProcessData()
Definition ivstaudioprocessor.h:215
int32 numOutputs
number of audio output busses
Definition ivstaudioprocessor.h:236
int32 numSamples
number of samples to process
Definition ivstaudioprocessor.h:234
IParameterChanges * inputParameterChanges
incoming parameter changes for this block
Definition ivstaudioprocessor.h:240
Definition ivstaudioprocessor.h:166
int32 symbolicSampleSize
SymbolicSampleSizes
Definition ivstaudioprocessor.h:169
int32 maxSamplesPerBlock
maximum number of samples per audio block
Definition ivstaudioprocessor.h:170
int32 processMode
ProcessModes
Definition ivstaudioprocessor.h:168
SampleRate sampleRate
sample rate
Definition ivstaudioprocessor.h:171