LMMS
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//------------------------------------------------------------------------
48 {
49 kPullDownRate = 1 << 0,
50 kDropRate = 1 << 1
51 };
52
55//------------------------------------------------------------------------
56};
57
58//------------------------------------------------------------------------
64struct Chord
65{
66//------------------------------------------------------------------------
69
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
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//------------------------------------------------------------------------
Definition ivstattributes.h:28
int64 TSamples
time expressed in audio samples
Definition vsttypes.h:80
double TQuarterNotes
time expressed in quarter notes
Definition vsttypes.h:79
Definition baseiids.cpp:43
short int16
Definition ftypes.h:43
int int32
Definition ftypes.h:50
long long int64
Definition ftypes.h:66
unsigned char uint8
Definition ftypes.h:40
unsigned int uint32
Definition ftypes.h:51
Definition ivstprocesscontext.h:65
Masks
Definition ivstprocesscontext.h:79
@ kChordMask
mask for chordMask
Definition ivstprocesscontext.h:80
@ kReservedMask
reserved for future use
Definition ivstprocesscontext.h:81
uint8 keyNote
key note in chord
Definition ivstprocesscontext.h:67
int16 chordMask
Definition ivstprocesscontext.h:77
uint8 rootNote
lowest note in chord
Definition ivstprocesscontext.h:68
Definition ivstprocesscontext.h:45
FrameRateFlags
Definition ivstprocesscontext.h:48
@ kDropRate
Definition ivstprocesscontext.h:50
@ kPullDownRate
Definition ivstprocesscontext.h:49
uint32 flags
flags FrameRateFlags
Definition ivstprocesscontext.h:54
uint32 framesPerSecond
frame rate
Definition ivstprocesscontext.h:53
Definition ivstprocesscontext.h:97
Chord chord
musical info (optional)
Definition ivstprocesscontext.h:138
int32 timeSigNumerator
time signature numerator (e.g. 3 for 3/4) (optional)
Definition ivstprocesscontext.h:135
TQuarterNotes cycleStartMusic
cycle start in quarter notes (optional)
Definition ivstprocesscontext.h:131
double tempo
tempo in BPM (Beats Per Minute) (optional)
Definition ivstprocesscontext.h:134
int64 systemTime
system time in nanoseconds (optional)
Definition ivstprocesscontext.h:126
int32 samplesToNextClock
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest) (optional).
Definition ivstprocesscontext.h:143
FrameRate frameRate
frame rate (optional)
Definition ivstprocesscontext.h:141
int32 timeSigDenominator
time signature denominator (e.g. 4 for 3/4) (optional)
Definition ivstprocesscontext.h:136
TSamples continousTimeSamples
project time, without loop (optional)
Definition ivstprocesscontext.h:127
TSamples projectTimeSamples
project time in samples (always valid)
Definition ivstprocesscontext.h:124
TQuarterNotes cycleEndMusic
cycle end in quarter notes (optional)
Definition ivstprocesscontext.h:132
StatesAndFlags
Definition ivstprocesscontext.h:101
@ kPlaying
currently playing
Definition ivstprocesscontext.h:102
@ kTempoValid
tempo contains valid information
Definition ivstprocesscontext.h:113
@ kProjectTimeMusicValid
projectTimeMusic contains valid information
Definition ivstprocesscontext.h:109
@ kCycleValid
cycleStartMusic and barPositionMusic contain valid information
Definition ivstprocesscontext.h:111
@ kSmpteValid
smpteOffset and frameRate contain valid information
Definition ivstprocesscontext.h:117
@ kContTimeValid
continousTimeSamples contains valid information
Definition ivstprocesscontext.h:107
@ kTimeSigValid
timeSigNumerator and timeSigDenominator contain valid information
Definition ivstprocesscontext.h:114
@ kRecording
currently recording
Definition ivstprocesscontext.h:104
@ kChordValid
chord contains valid information
Definition ivstprocesscontext.h:115
@ kClockValid
samplesToNextClock valid
Definition ivstprocesscontext.h:118
@ kBarPositionValid
barPositionMusic contains valid information
Definition ivstprocesscontext.h:110
@ kSystemTimeValid
systemTime contains valid information
Definition ivstprocesscontext.h:106
@ kCycleActive
cycle is active
Definition ivstprocesscontext.h:103
int32 smpteOffsetSubframes
SMPTE (sync) offset in subframes (1/80 of frame) (optional).
Definition ivstprocesscontext.h:140
uint32 state
a combination of the values from StatesAndFlags
Definition ivstprocesscontext.h:121
TQuarterNotes projectTimeMusic
musical position in quarter notes (1.0 equals 1 quarter note) (optional)
Definition ivstprocesscontext.h:129
double sampleRate
current sample rate (always valid)
Definition ivstprocesscontext.h:123
TQuarterNotes barPositionMusic
last bar start position, in quarter notes (optional)
Definition ivstprocesscontext.h:130