LMMS
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.2"
28#endif
29
30#define kVstVersionMajor 3
31#define kVstVersionMinor 7
32#define kVstVersionSub 2
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_2_VERSION 0x030702
39#define VST_3_7_1_VERSION 0x030701
40#define VST_3_7_0_VERSION 0x030700
41#define VST_3_6_14_VERSION 0x03060E
42#define VST_3_6_13_VERSION 0x03060D
43#define VST_3_6_12_VERSION 0x03060C
44#define VST_3_6_11_VERSION 0x03060B
45#define VST_3_6_10_VERSION 0x03060A
46#define VST_3_6_9_VERSION 0x030609
47#define VST_3_6_8_VERSION 0x030608
48#define VST_3_6_7_VERSION 0x030607
49#define VST_3_6_6_VERSION 0x030606
50#define VST_3_6_5_VERSION 0x030605
51#define VST_3_6_0_VERSION 0x030600
52#define VST_3_5_0_VERSION 0x030500
53#define VST_3_1_0_VERSION 0x030100
54#define VST_3_0_0_VERSION 0x030000
55
56//------------------------------------------------------------------------
59//------------------------------------------------------------------------
60// String Types
61//------------------------------------------------------------------------
62typedef char16 TChar;
63typedef TChar String128[128];
64typedef const char8* CString;
65
66//------------------------------------------------------------------------
67// General
68//------------------------------------------------------------------------
71typedef int32 BusType;
72typedef int32 IoMode;
73typedef int32 UnitID;
74typedef double ParamValue;
75typedef uint32 ParamID;
78
79typedef double TQuarterNotes;
80typedef int64 TSamples;
81
83
84//------------------------------------------------------------------------
85static const ParamID kNoParamId = 0xffffffff;
86// static const ParamID kNoParamId = std::numeric_limits<ParamID>::max ();
87
88//------------------------------------------------------------------------
89// Audio Types
90//------------------------------------------------------------------------
91typedef float Sample32;
92typedef double Sample64;
93typedef double SampleRate;
94
95//------------------------------------------------------------------------
96// Speaker Arrangements Types
97//------------------------------------------------------------------------
99typedef uint64 Speaker;
100
102
103//------------------------------------------------------------------------
104} // namespace Vst
105} // namespace Steinberg
Definition ivstattributes.h:28
int32 IoMode
I/O mode (see vst3IoMode).
Definition vsttypes.h:72
uint64 Speaker
Bit for one speaker.
Definition vsttypes.h:99
uint32 ParamID
parameter identifier
Definition vsttypes.h:75
int32 BusType
bus type (main/aux)
Definition vsttypes.h:71
TChar String128[128]
128 character UTF-16 string
Definition vsttypes.h:63
double Sample64
64-bit precision audio sample
Definition vsttypes.h:92
char16 TChar
UTF-16 character.
Definition vsttypes.h:62
double ParamValue
parameter value type
Definition vsttypes.h:74
int16 CtrlNumber
MIDI controller number (see ControllerNumbers for allowed values).
Definition vsttypes.h:77
float Sample32
32-bit precision audio sample
Definition vsttypes.h:91
int64 TSamples
time expressed in audio samples
Definition vsttypes.h:80
int32 ProgramListID
program list identifier
Definition vsttypes.h:76
double SampleRate
sample rate
Definition vsttypes.h:93
int32 BusDirection
bus direction (in/out)
Definition vsttypes.h:70
static const ParamID kNoParamId
default for uninitialized parameter ID
Definition vsttypes.h:85
uint32 ColorSpec
color defining by 4 component ARGB value (Alpha/Red/Green/Blue)
Definition vsttypes.h:82
uint64 SpeakerArrangement
Bitset of speakers.
Definition vsttypes.h:98
int32 UnitID
unit identifier
Definition vsttypes.h:73
const char8 * CString
C-String.
Definition vsttypes.h:64
int32 MediaType
media type (audio/event)
Definition vsttypes.h:69
double TQuarterNotes
time expressed in quarter notes
Definition vsttypes.h:79
Definition baseiids.cpp:43
unsigned long long uint64
Definition ftypes.h:67
short int16
Definition ftypes.h:43
int16 char16
Definition ftypes.h:101
int int32
Definition ftypes.h:50
char char8
Definition ftypes.h:93
long long int64
Definition ftypes.h:66
unsigned int uint32
Definition ftypes.h:51