- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# 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:

- aeffectx.h

Empty

Copyright ©2006 Steinberg Media Technologies. All Rights Reserved.