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
ivstprocesscontext.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Interfaces
5// Filename : pluginterfaces/vst/ivstprocesscontext.h
6// Created by : Steinberg, 10/2005
7// Description : VST Processing Context Interfaces
8//
9//-----------------------------------------------------------------------------
10// This file is part of a Steinberg SDK. It is subject to the license terms
11// in the LICENSE file found in the top-level directory of this distribution
12// and at www.steinberg.net/sdklicenses.
13// No part of the SDK, including this file, may be copied, modified, propagated,
14// or distributed except according to the terms contained in the LICENSE file.
15//-----------------------------------------------------------------------------
16
17#pragma once
18
21
22//------------------------------------------------------------------------
24//------------------------------------------------------------------------
25
26//------------------------------------------------------------------------
27namespace Steinberg {
28namespace Vst {
29//------------------------------------------------------------------------
45{
46//------------------------------------------------------------------------
47 enum FrameRateFlags
48 {
49 kPullDownRate = 1 << 0,
50 kDropRate = 1 << 1
51 };
52
54 uint32 flags;
55//------------------------------------------------------------------------
56};
57
58//------------------------------------------------------------------------
64struct Chord
65{
66//------------------------------------------------------------------------
67 uint8 keyNote;
68 uint8 rootNote;
69
77 int16 chordMask;
78
79 enum Masks {
80 kChordMask = 0x0FFF,
81 kReservedMask = 0xF000
82 };
83//------------------------------------------------------------------------
84};
85
86//------------------------------------------------------------------------
97{
98//------------------------------------------------------------------------
101 {
102 kPlaying = 1 << 1,
103 kCycleActive = 1 << 2,
104 kRecording = 1 << 3,
105
107 kContTimeValid = 1 << 17,
108
111 kCycleValid = 1 << 12,
112
113 kTempoValid = 1 << 10,
114 kTimeSigValid = 1 << 13,
115 kChordValid = 1 << 18,
116
117 kSmpteValid = 1 << 14,
118 kClockValid = 1 << 15
119 };
120
121 uint32 state;
122
123 double sampleRate;
125
128
133
134 double tempo;
137
139
142
144//------------------------------------------------------------------------
145};
146
147//------------------------------------------------------------------------
148} // namespace Vst
149} // namespace Steinberg
150
151//------------------------------------------------------------------------
153//------------------------------------------------------------------------
int64 TSamples
time expressed in audio samples
Definition vsttypes.h:86
double TQuarterNotes
time expressed in quarter notes
Definition vsttypes.h:85
Description of a chord.
@ kChordMask
mask for chordMask
@ kReservedMask
reserved for future use
uint8 keyNote
key note in chord
int16 chordMask
Bitmask of a chord.
uint8 rootNote
lowest note in chord
Frame Rate A frame rate describes the number of image (frame) displayed per second.
uint32 flags
flags FrameRateFlags
Audio processing context.
Chord chord
musical info (optional)
int32 timeSigNumerator
time signature numerator (e.g. 3 for 3/4) (optional)
TQuarterNotes cycleStartMusic
cycle start in quarter notes (optional)
double tempo
tempo in BPM (Beats Per Minute) (optional)
int64 systemTime
system time in nanoseconds (optional)
int32 samplesToNextClock
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest) (optional)
FrameRate frameRate
frame rate (optional)
int32 timeSigDenominator
time signature denominator (e.g. 4 for 3/4) (optional)
TSamples continousTimeSamples
project time, without loop (optional)
TSamples projectTimeSamples
project time in samples (always valid)
TQuarterNotes cycleEndMusic
cycle end in quarter notes (optional)
StatesAndFlags
Transport state & other flags.
@ kTempoValid
tempo contains valid information
@ kProjectTimeMusicValid
projectTimeMusic contains valid information
@ kCycleValid
cycleStartMusic and barPositionMusic contain valid information
@ kSmpteValid
smpteOffset and frameRate contain valid information
@ kContTimeValid
continousTimeSamples contains valid information
@ kTimeSigValid
timeSigNumerator and timeSigDenominator contain valid information
@ kChordValid
chord contains valid information
@ kClockValid
samplesToNextClock valid
@ kBarPositionValid
barPositionMusic contains valid information
@ kSystemTimeValid
systemTime contains valid information
int32 smpteOffsetSubframes
SMPTE (sync) offset in subframes (1/80 of frame) (optional)
uint32 state
a combination of the values from StatesAndFlags
TQuarterNotes projectTimeMusic
musical position in quarter notes (1.0 equals 1 quarter note) (optional)
double sampleRate
current sample rate (always valid)
TQuarterNotes barPositionMusic
last bar start position, in quarter notes (optional)