LMMS
Loading...
Searching...
No Matches
Steinberg::Vst::ProcessContext Struct Reference

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

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

Detailed Description

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.

See also
IAudioProcessor, ProcessData

Member Enumeration Documentation

◆ StatesAndFlags

Transport state & other flags

Enumerator
kPlaying 

currently playing

kCycleActive 

cycle is active

kRecording 

currently recording

kSystemTimeValid 

systemTime contains valid information

kContTimeValid 

continousTimeSamples contains valid information

kProjectTimeMusicValid 

projectTimeMusic contains valid information

kBarPositionValid 

barPositionMusic contains valid information

kCycleValid 

cycleStartMusic and barPositionMusic contain valid information

kTempoValid 

tempo contains valid information

kTimeSigValid 

timeSigNumerator and timeSigDenominator contain valid information

kChordValid 

chord contains valid information

kSmpteValid 

smpteOffset and frameRate contain valid information

kClockValid 

samplesToNextClock valid

Member Data Documentation

◆ barPositionMusic

TQuarterNotes Steinberg::Vst::ProcessContext::barPositionMusic

last bar start position, in quarter notes (optional)

◆ chord

Chord Steinberg::Vst::ProcessContext::chord

musical info (optional)

◆ continousTimeSamples

TSamples Steinberg::Vst::ProcessContext::continousTimeSamples

project time, without loop (optional)

◆ cycleEndMusic

TQuarterNotes Steinberg::Vst::ProcessContext::cycleEndMusic

cycle end in quarter notes (optional)

◆ cycleStartMusic

TQuarterNotes Steinberg::Vst::ProcessContext::cycleStartMusic

cycle start in quarter notes (optional)

◆ frameRate

FrameRate Steinberg::Vst::ProcessContext::frameRate

frame rate (optional)

◆ projectTimeMusic

TQuarterNotes Steinberg::Vst::ProcessContext::projectTimeMusic

musical position in quarter notes (1.0 equals 1 quarter note) (optional)

◆ projectTimeSamples

TSamples Steinberg::Vst::ProcessContext::projectTimeSamples

project time in samples (always valid)

◆ sampleRate

double Steinberg::Vst::ProcessContext::sampleRate

current sample rate (always valid)

◆ samplesToNextClock

int32 Steinberg::Vst::ProcessContext::samplesToNextClock

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

◆ smpteOffsetSubframes

int32 Steinberg::Vst::ProcessContext::smpteOffsetSubframes

SMPTE (sync) offset in subframes (1/80 of frame) (optional).

◆ state

uint32 Steinberg::Vst::ProcessContext::state

a combination of the values from StatesAndFlags

◆ systemTime

int64 Steinberg::Vst::ProcessContext::systemTime

system time in nanoseconds (optional)

◆ tempo

double Steinberg::Vst::ProcessContext::tempo

tempo in BPM (Beats Per Minute) (optional)

◆ timeSigDenominator

int32 Steinberg::Vst::ProcessContext::timeSigDenominator

time signature denominator (e.g. 4 for 3/4) (optional)

◆ timeSigNumerator

int32 Steinberg::Vst::ProcessContext::timeSigNumerator

time signature numerator (e.g. 3 for 3/4) (optional)


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