LMMS
Loading...
Searching...
No Matches
ivstnoteexpression.h
Go to the documentation of this file.
1//------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Interfaces
5// Filename : pluginterfaces/vst/ivstnoteexpression.h
6// Created by : Steinberg, 10/2010
7// Description : VST Note Expression 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
30//------------------------------------------------------------------------
33//------------------------------------------------------------------------
37typedef double NoteExpressionValue;
39
40//------------------------------------------------------------------------
64
65//------------------------------------------------------------------------
79
80#if SMTG_OS_WINDOWS && !SMTG_PLATFORM_64
82#endif
83//------------------------------------------------------------------------
99
100//------------------------------------------------------------------------
116
117#if SMTG_OS_WINDOWS && !SMTG_PLATFORM_64
119#endif
120
121//------------------------------------------------------------------------
145
146//------------------------------------------------------------------------
166{
167public:
169 virtual int32 PLUGIN_API getNoteExpressionCount (int32 busIndex, int16 channel) = 0;
170
172 virtual tresult PLUGIN_API getNoteExpressionInfo (int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo& info /*out*/) = 0;
173
175 virtual tresult PLUGIN_API getNoteExpressionStringByValue (int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized /*in*/, String128 string /*out*/) = 0;
176
178 virtual tresult PLUGIN_API getNoteExpressionValueByString (int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar* string /*in*/, NoteExpressionValue& valueNormalized /*out*/) = 0;
179
180 //------------------------------------------------------------------------
181 static const FUID iid;
182};
183
184DECLARE_CLASS_IID (INoteExpressionController, 0xB7F8F859, 0x41234872, 0x91169581, 0x4F3721A3)
185
186//------------------------------------------------------------------------
187//------------------------------------------------------------------------
198
200
201//------------------------------------------------------------------------
221
222//------------------------------------------------------------------------
235{
236public:
238 virtual int32 PLUGIN_API getKeyswitchCount (int32 busIndex, int16 channel) = 0;
239
241 virtual tresult PLUGIN_API getKeyswitchInfo (int32 busIndex, int16 channel, int32 keySwitchIndex, KeyswitchInfo& info /*out*/) = 0;
242
243 //------------------------------------------------------------------------
244 static const FUID iid;
245};
246
247DECLARE_CLASS_IID (IKeyswitchController, 0x1F2F76D3, 0xBFFB4B96, 0xB99527A5, 0x5EBCCEF4)
248
249//------------------------------------------------------------------------
250} // namespace Vst
251} // namespace Steinberg
252
253//------------------------------------------------------------------------
255//------------------------------------------------------------------------
Definition funknown.h:233
Definition funknown.h:361
Definition ivstnoteexpression.h:235
virtual int32 PLUGIN_API getKeyswitchCount(int32 busIndex, int16 channel)=0
static const FUID iid
Definition ivstnoteexpression.h:244
virtual tresult PLUGIN_API getKeyswitchInfo(int32 busIndex, int16 channel, int32 keySwitchIndex, KeyswitchInfo &info)=0
Definition ivstnoteexpression.h:166
virtual int32 PLUGIN_API getNoteExpressionCount(int32 busIndex, int16 channel)=0
virtual tresult PLUGIN_API getNoteExpressionInfo(int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info)=0
virtual tresult PLUGIN_API getNoteExpressionStringByValue(int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized, String128 string)=0
virtual tresult PLUGIN_API getNoteExpressionValueByString(int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar *string, NoteExpressionValue &valueNormalized)=0
static const FUID iid
Definition ivstnoteexpression.h:181
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
struct backing_store_struct * info
Definition jmemsys.h:183
Definition ivstattributes.h:28
KeyswitchTypeIDs
Definition ivstnoteexpression.h:192
@ kOnReleaseKeyswitchTypeID
press before entering release
Definition ivstnoteexpression.h:195
@ kKeyRangeTypeID
key should be maintained pressed for playing
Definition ivstnoteexpression.h:196
@ kNoteOnKeyswitchTypeID
press before noteOn is played
Definition ivstnoteexpression.h:193
@ kOnTheFlyKeyswitchTypeID
press while noteOn is played
Definition ivstnoteexpression.h:194
uint32 ParamID
parameter identifier
Definition vsttypes.h:75
TChar String128[128]
128 character UTF-16 string
Definition vsttypes.h:63
char16 TChar
UTF-16 character.
Definition vsttypes.h:62
double NoteExpressionValue
Definition ivstnoteexpression.h:37
NoteExpressionTypeIDs
Definition ivstnoteexpression.h:47
@ kTextTypeID
See NoteExpressionTextEvent.
Definition ivstnoteexpression.h:56
@ kInvalidTypeID
indicates an invalid note expression type
Definition ivstnoteexpression.h:62
@ kExpressionTypeID
Expression.
Definition ivstnoteexpression.h:54
@ kPanTypeID
Panning (L-R), plain range [0 = left, 0.5 = center, 1 = right].
Definition ivstnoteexpression.h:49
@ kCustomStart
start of custom note expression type ids
Definition ivstnoteexpression.h:59
@ kVibratoTypeID
Vibrato.
Definition ivstnoteexpression.h:53
@ kPhonemeTypeID
TODO:
Definition ivstnoteexpression.h:57
@ kVolumeTypeID
Volume, plain range [0 = -oo , 0.25 = 0dB, 0.5 = +6dB, 1 = +12dB]: plain = 20 * log (4 * norm).
Definition ivstnoteexpression.h:48
@ kTuningTypeID
Definition ivstnoteexpression.h:50
@ kCustomEnd
end of custom note expression type ids
Definition ivstnoteexpression.h:60
@ kBrightnessTypeID
Brightness.
Definition ivstnoteexpression.h:55
uint32 NoteExpressionTypeID
Definition ivstnoteexpression.h:35
uint32 KeyswitchTypeID
Definition ivstnoteexpression.h:199
Definition baseiids.cpp:43
short int16
Definition ftypes.h:43
int int32
Definition ftypes.h:50
int32 tresult
Definition ftypes.h:76
unsigned int uint32
Definition ftypes.h:51
Definition ivstnoteexpression.h:207
int32 flags
not yet used (set to 0)
Definition ivstnoteexpression.h:219
int32 keyswitchMax
associated main key switch max (value between [0, 127])
Definition ivstnoteexpression.h:213
int32 keyswitchMin
associated main key switch min (value between [0, 127])
Definition ivstnoteexpression.h:212
int32 unitId
id of unit this key switch belongs to (see vst3Units), -1 means no unit used.
Definition ivstnoteexpression.h:217
KeyswitchTypeID typeId
see KeyswitchTypeID
Definition ivstnoteexpression.h:208
String128 title
name of key switch (e.g. "Accentuation")
Definition ivstnoteexpression.h:209
String128 shortTitle
short title (e.g. "Acc")
Definition ivstnoteexpression.h:210
int32 keyRemapped
Definition ivstnoteexpression.h:214
Definition ivstnoteexpression.h:107
int32 noteId
associated note identifier to apply the change
Definition ivstnoteexpression.h:109
const TChar * text
UTF-16, null terminated.
Definition ivstnoteexpression.h:114
NoteExpressionTypeID typeId
see NoteExpressionTypeID (kTextTypeID or kPhoneticTypeID)
Definition ivstnoteexpression.h:108
uint32 textLen
null character (without including the terminating null character itself)
Definition ivstnoteexpression.h:111
Definition ivstnoteexpression.h:127
NoteExpressionTypeID typeId
unique identifier of this note Expression type
Definition ivstnoteexpression.h:128
int32 unitId
id of unit this NoteExpression belongs to (see vst3Units), in order to sort the note expression,...
Definition ivstnoteexpression.h:132
String128 units
note Expression type unit (e.g. "dB")
Definition ivstnoteexpression.h:131
String128 title
note Expression type title (e.g. "Volume")
Definition ivstnoteexpression.h:129
ParamID associatedParameterId
optional associated parameter ID (for mapping from note expression to global (using the parameter aut...
Definition ivstnoteexpression.h:134
NoteExpressionValueDescription valueDesc
value description see NoteExpressionValueDescription
Definition ivstnoteexpression.h:133
NoteExpressionTypeFlags
Definition ivstnoteexpression.h:138
@ kAssociatedParameterIDValid
indicates that the associatedParameterID is valid and could be used
Definition ivstnoteexpression.h:142
@ kIsBipolar
event is bipolar (centered), otherwise unipolar
Definition ivstnoteexpression.h:139
@ kIsOneShot
event occurs only one time for its associated note (at begin of the noteOn)
Definition ivstnoteexpression.h:140
@ kIsAbsolute
This note expression will apply an absolute change to the sound (not relative (offset)).
Definition ivstnoteexpression.h:141
int32 flags
NoteExpressionTypeFlags (see below).
Definition ivstnoteexpression.h:136
String128 shortTitle
note Expression type short title (e.g. "Vol")
Definition ivstnoteexpression.h:130
Definition ivstnoteexpression.h:73
NoteExpressionValue maximum
maximum normalized value [0,1]
Definition ivstnoteexpression.h:76
NoteExpressionValue defaultValue
default normalized value [0,1]
Definition ivstnoteexpression.h:74
NoteExpressionValue minimum
minimum normalized value [0,1]
Definition ivstnoteexpression.h:75
int32 stepCount
number of discrete steps (0: continuous, 1: toggle, discrete value otherwise - see vst3ParameterIntro...
Definition ivstnoteexpression.h:77
Definition ivstnoteexpression.h:93
int32 noteId
associated note identifier to apply the change
Definition ivstnoteexpression.h:95
NoteExpressionValue value
normalized value [0.0, 1.0].
Definition ivstnoteexpression.h:97
NoteExpressionTypeID typeId
see NoteExpressionTypeID
Definition ivstnoteexpression.h:94