VstTimeInfo

VstTimeInfo requested via #audioMasterGetTime. @see AudioEffectX::getTimeInfo

\note VstTimeInfo::samplePos :Current Position. It must always be valid, and should not cost a lot to ask for. The sample position is ahead of the time displayed to the user. In sequencer stop mode, its value does not change. A 32 bit integer is too small for sample positions, and it's a double to make it easier to convert between ppq and samples. \note VstTimeInfo::ppqPos : At tempo 120, 1 quarter makes 1/2 second, so 2.0 ppq translates to 48000 samples at 48kHz sample rate. .25 ppq is one sixteenth note then. if you need something like 480ppq, you simply multiply ppq by that scaler. \note VstTimeInfo::barStartPos : Say we're at bars/beats readout 3.3.3. That's 2 bars + 2 q + 2 sixteenth, makes 2 * 4 + 2 + .25 = 10.25 ppq. at tempo 120, that's 10.25 * .5 = 5.125 seconds, times 48000 = 246000 samples (if my calculator servers me well :-). \note VstTimeInfo::samplesToNextClock : MIDI Clock Resolution (24 per Quarter Note), can be negative the distance to the next midi clock (24 ppq, pulses per quarter) in samples. unless samplePos falls precicely on a midi clock, this will either be negative such that the previous MIDI clock is addressed, or positive when referencing the following (future) MIDI clock.

Members

Variables

barStartPos
double barStartPos;

< last Bar Start Position, in Quarter Note

cycleEndPos
double cycleEndPos;

< Cycle End (right locator), in Quarter Note

cycleStartPos
double cycleStartPos;

< Cycle Start (left locator), in Quarter Note

flags
VstInt32 flags;

< @see VstTimeInfoFlags

nanoSeconds
double nanoSeconds;

< System Time in nanoseconds (10^-9 second)

ppqPos
double ppqPos;

< Musical Position, in Quarter Note (1.0 equals 1 Quarter Note)

samplePos
double samplePos;

< current Position in audio samples (always valid)

sampleRate
double sampleRate;

< current Sample Rate in Herz (always valid)

samplesToNextClock
VstInt32 samplesToNextClock;

< MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest clock)

smpteFrameRate
VstInt32 smpteFrameRate;

< @see VstSmpteFrameRate

smpteOffset
VstInt32 smpteOffset;

< SMPTE offset (in SMPTE subframes (bits; 1/80 of a frame)). The current SMPTE position can be calculated using #samplePos, #sampleRate, and #smpteFrameRate.

tempo
double tempo;

< current Tempo in BPM (Beats Per Minute)

timeSigDenominator
VstInt32 timeSigDenominator;

< Time Signature Denominator (e.g. 4 for 3/4)

timeSigNumerator
VstInt32 timeSigNumerator;

< Time Signature Numerator (e.g. 3 for 3/4)

Meta