00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __vsttypes__
00037 #define __vsttypes__
00038
00039 #include "pluginterfaces/base/ftypes.h"
00040 #include "pluginterfaces/base/ustring.h"
00041
00042
00043 namespace Steinberg {
00044 namespace Vst {
00045
00046
00047 #ifndef kVstVersionString
00048 #define kVstVersionString "VST 3.0"
00049 #endif
00050
00051
00052
00053
00054 typedef char16 TChar;
00055 typedef TChar String128[128];
00056 typedef const char8* CString;
00057
00058
00059
00060
00061 typedef int32 MediaType;
00062 typedef int32 BusDirection;
00063 typedef int32 BusType;
00064 typedef int32 IoMode;
00065 typedef int32 UnitID;
00066 typedef double ParamValue;
00067 typedef uint32 ParamID;
00068 typedef int32 ProgramListID;
00069 typedef int16 CtrlNumber;
00070
00071 typedef double TQuarterNotes;
00072 typedef int64 TSamples;
00073
00074
00075
00076
00077 typedef float Sample32;
00078 typedef double Sample64;
00079 typedef double SampleRate;
00080 typedef uint64 SpeakerArrangement;
00081
00082
00083
00084
00085 enum RestartFlags
00086 {
00087 kReloadComponent = 1 << 0,
00088 kIoChanged = 1 << 1,
00089 kParamValuesChanged = 1 << 2,
00090 kLatencyChanged = 1 << 3,
00091 kParamTitlesChanged = 1 << 4
00092 };
00093
00094
00096
00097 enum Speaker
00098 {
00099
00100 kSpeakerL = 1 << 0,
00101 kSpeakerR = 1 << 1,
00102 kSpeakerC = 1 << 2,
00103 kSpeakerLfe = 1 << 3,
00104 kSpeakerLs = 1 << 4,
00105 kSpeakerRs = 1 << 5,
00106 kSpeakerLc = 1 << 6,
00107 kSpeakerRc = 1 << 7,
00108 kSpeakerS = 1 << 8,
00109 kSpeakerCs = kSpeakerS,
00110 kSpeakerSl = 1 << 9,
00111 kSpeakerSr = 1 << 10,
00112 kSpeakerTm = 1 << 11,
00113 kSpeakerTfl = 1 << 12,
00114 kSpeakerTfc = 1 << 13,
00115 kSpeakerTfr = 1 << 14,
00116 kSpeakerTrl = 1 << 15,
00117 kSpeakerTrc = 1 << 16,
00118 kSpeakerTrr = 1 << 17,
00119 kSpeakerLfe2 = 1 << 18,
00120 kSpeakerM = 1 << 19,
00121
00122 kSpeakerW = 1 << 20,
00123 kSpeakerX = 1 << 21,
00124 kSpeakerY = 1 << 22,
00125 kSpeakerZ = 1 << 23,
00126
00127 kSpeakerTsl = 1 << 24,
00128 kSpeakerTsr = 1 << 25,
00129 kSpeakerLcs = 1 << 26,
00130 kSpeakerRcs = 1 << 27
00131
00132
00133 };
00134
00135
00137
00138 namespace SpeakerArr
00139 {
00140 const SpeakerArrangement kEmpty = 0;
00141 const SpeakerArrangement kMono = kSpeakerM;
00142 const SpeakerArrangement kStereo = kSpeakerL | kSpeakerR;
00143 const SpeakerArrangement kStereoSurround = kSpeakerLs | kSpeakerRs;
00144 const SpeakerArrangement kStereoCenter = kSpeakerLc | kSpeakerRc;
00145 const SpeakerArrangement kStereoSide = kSpeakerSl | kSpeakerSr;
00146 const SpeakerArrangement kStereoCLfe = kSpeakerC | kSpeakerLfe;
00147 const SpeakerArrangement k30Cine = kSpeakerL | kSpeakerR | kSpeakerC;
00148 const SpeakerArrangement k30Music = kSpeakerL | kSpeakerR | kSpeakerS;
00149 const SpeakerArrangement k31Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe;
00150 const SpeakerArrangement k31Music = kSpeakerL | kSpeakerR | kSpeakerLfe | kSpeakerS;
00151 const SpeakerArrangement k40Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerS;
00152 const SpeakerArrangement k40Music = kSpeakerL | kSpeakerR | kSpeakerLs | kSpeakerRs;
00153 const SpeakerArrangement k41Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerS;
00154 const SpeakerArrangement k41Music = kSpeakerL | kSpeakerR | kSpeakerLfe | kSpeakerLs | kSpeakerRs;
00155 const SpeakerArrangement k50 = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs;
00156 const SpeakerArrangement k51 = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs;
00157 const SpeakerArrangement k60Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs | kSpeakerCs;
00158 const SpeakerArrangement k60Music = kSpeakerL | kSpeakerR | kSpeakerLs | kSpeakerRs | kSpeakerSl | kSpeakerSr;
00159 const SpeakerArrangement k61Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerCs;
00160 const SpeakerArrangement k61Music = kSpeakerL | kSpeakerR | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerSl | kSpeakerSr;
00161 const SpeakerArrangement k70Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs | kSpeakerLc | kSpeakerRc;
00162 const SpeakerArrangement k70Music = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs | kSpeakerSl | kSpeakerSr;
00163 const SpeakerArrangement k71Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerLc | kSpeakerRc;
00164 const SpeakerArrangement k71Music = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerSl | kSpeakerSr;
00165 const SpeakerArrangement k80Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs | kSpeakerLc | kSpeakerRc | kSpeakerCs;
00166 const SpeakerArrangement k80Music = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLs | kSpeakerRs | kSpeakerCs | kSpeakerSl | kSpeakerSr;
00167 const SpeakerArrangement k81Cine = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerLc | kSpeakerRc | kSpeakerCs;
00168 const SpeakerArrangement k81Music = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerCs | kSpeakerSl | kSpeakerSr;
00169 const SpeakerArrangement k102 = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerTfl | kSpeakerTfc | kSpeakerTfr | kSpeakerTrl | kSpeakerTrr | kSpeakerLfe2;
00170 const SpeakerArrangement k102Plus = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerLc | kSpeakerRc | kSpeakerTfl | kSpeakerTfc | kSpeakerTfr | kSpeakerTrl | kSpeakerTrr | kSpeakerLfe2;
00171 const SpeakerArrangement kCube = kSpeakerL | kSpeakerR | kSpeakerLs | kSpeakerRs | kSpeakerTfl | kSpeakerTfr | kSpeakerTrl | kSpeakerTrr;
00172 const SpeakerArrangement kBFormat = kSpeakerW | kSpeakerX | kSpeakerY | kSpeakerZ;
00173
00174 const SpeakerArrangement k71CineTopCenter = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerCs | kSpeakerTm;
00175 const SpeakerArrangement k71CineCenterHigh = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerCs | kSpeakerTfc;
00176 const SpeakerArrangement k71CineFrontHigh = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerTfl | kSpeakerTfr;
00177 const SpeakerArrangement k71CineSideHigh = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerTsl | kSpeakerTsr;
00178 const SpeakerArrangement k71CineSideFill = k61Music;
00179 const SpeakerArrangement k71CineFullRear = kSpeakerL | kSpeakerR | kSpeakerC | kSpeakerLfe | kSpeakerLs | kSpeakerRs | kSpeakerLcs | kSpeakerRcs;
00180 const SpeakerArrangement k71CineFullFront = k71Cine;
00181
00183 inline int32 getChannelCount (SpeakerArrangement arr)
00184 {
00185 int32 count = 0;
00186 while (arr)
00187 {
00188 if (arr & SpeakerArrangement(1))
00189 ++count;
00190 arr >>= 1;
00191 }
00192 return count;
00193 }
00194
00195 }
00196
00197 }
00198 }
00199
00200
00201 #endif // __vsttypes__