VST 3 Interfaces
VST 3.7
SDK for developing VST plug-in
|
Audio processing context. More...
#include <ivstprocesscontext.h>
Public Types | |
enum | StatesAndFlags { kPlaying = 1 << 1, kCycleActive = 1 << 2, kRecording = 1 << 3, kSystemTimeValid = 1 << 8, kContTimeValid = 1 << 17, kProjectTimeMusicValid = 1 << 9, kBarPositionValid = 1 << 11, kCycleValid = 1 << 12, kTempoValid = 1 << 10, kTimeSigValid = 1 << 13, kChordValid = 1 << 18, kSmpteValid = 1 << 14, kClockValid = 1 << 15 } |
Transport state & other flags. More... | |
Public Attributes | |
uint32 | state |
a combination of the values from StatesAndFlags | |
double | sampleRate |
current sample rate (always valid) | |
TSamples | projectTimeSamples |
project time in samples (always valid) | |
int64 | systemTime |
system time in nanoseconds (optional) | |
TSamples | continousTimeSamples |
project time, without loop (optional) | |
TQuarterNotes | projectTimeMusic |
musical position in quarter notes (1.0 equals 1 quarter note) (optional) | |
TQuarterNotes | barPositionMusic |
last bar start position, in quarter notes (optional) | |
TQuarterNotes | cycleStartMusic |
cycle start in quarter notes (optional) | |
TQuarterNotes | cycleEndMusic |
cycle end in quarter notes (optional) | |
double | tempo |
tempo in BPM (Beats Per Minute) (optional) | |
int32 | timeSigNumerator |
time signature numerator (e.g. 3 for 3/4) (optional) | |
int32 | timeSigDenominator |
time signature denominator (e.g. 4 for 3/4) (optional) | |
Chord | chord |
musical info (optional) | |
int32 | smpteOffsetSubframes |
SMPTE (sync) offset in subframes (1/80 of frame) (optional) | |
FrameRate | frameRate |
frame rate (optional) | |
int32 | samplesToNextClock |
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest) (optional) | |
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 behavior 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.
enum StatesAndFlags |
Transport state & other flags.
uint32 state |
a combination of the values from StatesAndFlags
double sampleRate |
current sample rate (always valid)
TSamples projectTimeSamples |
project time in samples (always valid)
int64 systemTime |
system time in nanoseconds (optional)
TSamples continousTimeSamples |
project time, without loop (optional)
TQuarterNotes projectTimeMusic |
musical position in quarter notes (1.0 equals 1 quarter note) (optional)
TQuarterNotes barPositionMusic |
last bar start position, in quarter notes (optional)
TQuarterNotes cycleStartMusic |
cycle start in quarter notes (optional)
TQuarterNotes cycleEndMusic |
cycle end in quarter notes (optional)
double tempo |
tempo in BPM (Beats Per Minute) (optional)
int32 timeSigNumerator |
time signature numerator (e.g. 3 for 3/4) (optional)
int32 timeSigDenominator |
time signature denominator (e.g. 4 for 3/4) (optional)
Chord chord |
musical info (optional)
int32 smpteOffsetSubframes |
SMPTE (sync) offset in subframes (1/80 of frame) (optional)
FrameRate frameRate |
frame rate (optional)
int32 samplesToNextClock |
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest) (optional)