VstTimeInfo Struct Reference

#include <aeffectx.h>

List of all members.

Public Attributes

double samplePos
 current Position in audio samples (always valid)
double sampleRate
 current Sample Rate in Herz (always valid)
double nanoSeconds
 System Time in nanoseconds (10^-9 second).
double ppqPos
 Musical Position, in Quarter Note (1.0 equals 1 Quarter Note).
double tempo
 current Tempo in BPM (Beats Per Minute)
double barStartPos
 last Bar Start Position, in Quarter Note
double cycleStartPos
 Cycle Start (left locator), in Quarter Note.
double cycleEndPos
 Cycle End (right locator), in Quarter Note.
VstInt32 timeSigNumerator
 Time Signature Numerator (e.g. 3 for 3/4).
VstInt32 timeSigDenominator
 Time Signature Denominator (e.g. 4 for 3/4).
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.
VstInt32 smpteFrameRate
VstInt32 samplesToNextClock
 MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest clock).
VstInt32 flags


Detailed Description

VstTimeInfo requested via audioMasterGetTime.
See also:
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.

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.

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 :-).

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.


Member Data Documentation

double VstTimeInfo::barStartPos

last Bar Start Position, in Quarter Note

double VstTimeInfo::cycleEndPos

Cycle End (right locator), in Quarter Note.

double VstTimeInfo::cycleStartPos

Cycle Start (left locator), in Quarter Note.

VstInt32 VstTimeInfo::flags

See also:
VstTimeInfoFlags

double VstTimeInfo::nanoSeconds

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

double VstTimeInfo::ppqPos

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

double VstTimeInfo::samplePos

current Position in audio samples (always valid)

double VstTimeInfo::sampleRate

current Sample Rate in Herz (always valid)

VstInt32 VstTimeInfo::samplesToNextClock

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

VstInt32 VstTimeInfo::smpteFrameRate

See also:
VstSmpteFrameRate

VstInt32 VstTimeInfo::smpteOffset

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

double VstTimeInfo::tempo

current Tempo in BPM (Beats Per Minute)

VstInt32 VstTimeInfo::timeSigDenominator

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

VstInt32 VstTimeInfo::timeSigNumerator

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


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

Copyright ©2006 Steinberg Media Technologies. All Rights Reserved.