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
vsttypes.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Interfaces
5// Filename : pluginterfaces/vst/vsttypes.h
6// Created by : Steinberg, 12/2005
7// Description : Common Defines
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
20
21//------------------------------------------------------------------------
22namespace Steinberg {
23namespace Vst {
24//------------------------------------------------------------------------
26#ifndef kVstVersionString
27#define kVstVersionString "VST 3.7.8"
28#endif
29
30#define kVstVersionMajor 3
31#define kVstVersionMinor 7
32#define kVstVersionSub 8
33
34#define VST_VERSION ((kVstVersionMajor << 16) | (kVstVersionMinor << 8) | kVstVersionSub)
35
36// Versions History which allows to write such code:
37// #if VST_VERSION >= VST_3_6_5_VERSION
38#define VST_3_7_8_VERSION 0x030708
39#define VST_3_7_7_VERSION 0x030707
40#define VST_3_7_6_VERSION 0x030706
41#define VST_3_7_5_VERSION 0x030705
42#define VST_3_7_4_VERSION 0x030704
43#define VST_3_7_3_VERSION 0x030703
44#define VST_3_7_2_VERSION 0x030702
45#define VST_3_7_1_VERSION 0x030701
46#define VST_3_7_0_VERSION 0x030700
47#define VST_3_6_14_VERSION 0x03060E
48#define VST_3_6_13_VERSION 0x03060D
49#define VST_3_6_12_VERSION 0x03060C
50#define VST_3_6_11_VERSION 0x03060B
51#define VST_3_6_10_VERSION 0x03060A
52#define VST_3_6_9_VERSION 0x030609
53#define VST_3_6_8_VERSION 0x030608
54#define VST_3_6_7_VERSION 0x030607
55#define VST_3_6_6_VERSION 0x030606
56#define VST_3_6_5_VERSION 0x030605
57#define VST_3_6_0_VERSION 0x030600
58#define VST_3_5_0_VERSION 0x030500
59#define VST_3_1_0_VERSION 0x030100
60#define VST_3_0_0_VERSION 0x030000
61
62//------------------------------------------------------------------------
65//------------------------------------------------------------------------
66// String Types
67//------------------------------------------------------------------------
68typedef char16 TChar;
69typedef TChar String128[128];
70typedef const char8* CString;
71
72//------------------------------------------------------------------------
73// General
74//------------------------------------------------------------------------
75typedef int32 MediaType;
76typedef int32 BusDirection;
77typedef int32 BusType;
78typedef int32 IoMode;
79typedef int32 UnitID;
80typedef double ParamValue;
81typedef uint32 ParamID;
82typedef int32 ProgramListID;
83typedef int16 CtrlNumber;
84
85typedef double TQuarterNotes;
86typedef int64 TSamples;
87
88typedef uint32 ColorSpec;
89
90//------------------------------------------------------------------------
91static const ParamID kNoParamId = 0xffffffff;
92// static const ParamID kNoParamId = std::numeric_limits<ParamID>::max ();
93
94//------------------------------------------------------------------------
95// Audio Types
96//------------------------------------------------------------------------
97typedef float Sample32;
98typedef double Sample64;
99typedef double SampleRate;
100
101//------------------------------------------------------------------------
102// Speaker Arrangements Types
103//------------------------------------------------------------------------
104typedef uint64 SpeakerArrangement;
105typedef uint64 Speaker;
106
109static SMTG_CONSTEXPR const FIDString SDKVersionString = kVstVersionString;
110
111static SMTG_CONSTEXPR const uint32 SDKVersionMajor = kVstVersionMajor;
112static SMTG_CONSTEXPR const uint32 SDKVersionMinor = kVstVersionMinor;
113static SMTG_CONSTEXPR const uint32 SDKVersionSub = kVstVersionSub;
114
115static SMTG_CONSTEXPR const uint32 SDKVersion =
116 ((SDKVersionMajor << 16) | (SDKVersionMinor << 8) | SDKVersionSub);
117
118// Versions History which allows to write such code:
119// if constexpr (SDKVersion >= SDKVersion_3_6_5) { ... }
120static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_7 = VST_3_7_7_VERSION;
121static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_6 = VST_3_7_6_VERSION;
122static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_5 = VST_3_7_5_VERSION;
123static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_4 = VST_3_7_4_VERSION;
124static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_3 = VST_3_7_3_VERSION;
125static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_2 = VST_3_7_2_VERSION;
126static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_1 = VST_3_7_1_VERSION;
127static SMTG_CONSTEXPR const uint32 SDKVersion_3_7_0 = VST_3_7_0_VERSION;
128static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_14 = VST_3_6_14_VERSION;
129static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_13 = VST_3_6_13_VERSION;
130static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_12 = VST_3_6_12_VERSION;
131static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_11 = VST_3_6_11_VERSION;
132static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_10 = VST_3_6_10_VERSION;
133static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_9 = VST_3_6_9_VERSION;
134static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_8 = VST_3_6_8_VERSION;
135static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_7 = VST_3_6_7_VERSION;
136static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_6 = VST_3_6_6_VERSION;
137static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_5 = VST_3_6_5_VERSION;
138static SMTG_CONSTEXPR const uint32 SDKVersion_3_6_0 = VST_3_6_0_VERSION;
139static SMTG_CONSTEXPR const uint32 SDKVersion_3_5_0 = VST_3_5_0_VERSION;
140static SMTG_CONSTEXPR const uint32 SDKVersion_3_1_0 = VST_3_1_0_VERSION;
141static SMTG_CONSTEXPR const uint32 SDKVersion_3_0_0 = VST_3_0_0_VERSION;
142
143//------------------------------------------------------------------------
144} // namespace Vst
145} // namespace Steinberg
146
int32 IoMode
I/O mode (see vst3IoMode)
Definition vsttypes.h:78
uint64 Speaker
Bit for one speaker.
Definition vsttypes.h:105
uint32 ParamID
parameter identifier
Definition vsttypes.h:81
int32 BusType
bus type (main/aux)
Definition vsttypes.h:77
TChar String128[128]
128 character UTF-16 string
Definition vsttypes.h:69
double Sample64
64-bit precision audio sample
Definition vsttypes.h:98
char16 TChar
UTF-16 character.
Definition vsttypes.h:68
double ParamValue
parameter value type
Definition vsttypes.h:80
int16 CtrlNumber
MIDI controller number (see ControllerNumbers for allowed values)
Definition vsttypes.h:83
float Sample32
32-bit precision audio sample
Definition vsttypes.h:97
int64 TSamples
time expressed in audio samples
Definition vsttypes.h:86
int32 ProgramListID
program list identifier
Definition vsttypes.h:82
double SampleRate
sample rate
Definition vsttypes.h:99
int32 BusDirection
bus direction (in/out)
Definition vsttypes.h:76
uint32 ColorSpec
color defining by 4 component ARGB value (Alpha/Red/Green/Blue)
Definition vsttypes.h:88
uint64 SpeakerArrangement
Bitset of speakers.
Definition vsttypes.h:104
int32 UnitID
unit identifier
Definition vsttypes.h:79
const char8 * CString
C-String.
Definition vsttypes.h:70
int32 MediaType
media type (audio/event)
Definition vsttypes.h:75
double TQuarterNotes
time expressed in quarter notes
Definition vsttypes.h:85
#define kVstVersionString
VST 3 SDK Version.
Definition vsttypes.h:27