JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Attributes | List of all members
Steinberg::Vst::ProcessContext Struct Reference

Audio processing context. More...

#include "ivstprocesscontext.h"

Public Types

enum  StatesAndFlags {
  kPlaying , kCycleActive , kRecording , kSystemTimeValid ,
  kContTimeValid , kProjectTimeMusicValid , kBarPositionValid , kCycleValid ,
  kTempoValid , kTimeSigValid , kChordValid , kSmpteValid ,
  kClockValid
}
 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)
 

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

Definition at line 96 of file ivstprocesscontext.h.

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

Definition at line 100 of file ivstprocesscontext.h.

Member Data Documentation

◆ barPositionMusic

TQuarterNotes Steinberg::Vst::ProcessContext::barPositionMusic

last bar start position, in quarter notes (optional)

Definition at line 130 of file ivstprocesscontext.h.

◆ chord

Chord Steinberg::Vst::ProcessContext::chord

musical info (optional)

Definition at line 138 of file ivstprocesscontext.h.

◆ continousTimeSamples

TSamples Steinberg::Vst::ProcessContext::continousTimeSamples

project time, without loop (optional)

Definition at line 127 of file ivstprocesscontext.h.

◆ cycleEndMusic

TQuarterNotes Steinberg::Vst::ProcessContext::cycleEndMusic

cycle end in quarter notes (optional)

Definition at line 132 of file ivstprocesscontext.h.

◆ cycleStartMusic

TQuarterNotes Steinberg::Vst::ProcessContext::cycleStartMusic

cycle start in quarter notes (optional)

Definition at line 131 of file ivstprocesscontext.h.

◆ frameRate

FrameRate Steinberg::Vst::ProcessContext::frameRate

frame rate (optional)

Definition at line 141 of file ivstprocesscontext.h.

◆ projectTimeMusic

TQuarterNotes Steinberg::Vst::ProcessContext::projectTimeMusic

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

Definition at line 129 of file ivstprocesscontext.h.

◆ projectTimeSamples

TSamples Steinberg::Vst::ProcessContext::projectTimeSamples

project time in samples (always valid)

Definition at line 124 of file ivstprocesscontext.h.

◆ sampleRate

double Steinberg::Vst::ProcessContext::sampleRate

current sample rate (always valid)

Definition at line 123 of file ivstprocesscontext.h.

◆ samplesToNextClock

int32 Steinberg::Vst::ProcessContext::samplesToNextClock

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

Definition at line 143 of file ivstprocesscontext.h.

◆ smpteOffsetSubframes

int32 Steinberg::Vst::ProcessContext::smpteOffsetSubframes

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

Definition at line 140 of file ivstprocesscontext.h.

◆ state

uint32 Steinberg::Vst::ProcessContext::state

a combination of the values from StatesAndFlags

Definition at line 121 of file ivstprocesscontext.h.

◆ systemTime

int64 Steinberg::Vst::ProcessContext::systemTime

system time in nanoseconds (optional)

Definition at line 126 of file ivstprocesscontext.h.

◆ tempo

double Steinberg::Vst::ProcessContext::tempo

tempo in BPM (Beats Per Minute) (optional)

Definition at line 134 of file ivstprocesscontext.h.

◆ timeSigDenominator

int32 Steinberg::Vst::ProcessContext::timeSigDenominator

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

Definition at line 136 of file ivstprocesscontext.h.

◆ timeSigNumerator

int32 Steinberg::Vst::ProcessContext::timeSigNumerator

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

Definition at line 135 of file ivstprocesscontext.h.


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