80#if SMTG_OS_WINDOWS && !SMTG_PLATFORM_64
81#include "pluginterfaces/vst/vstpshpack4.h"
117#if SMTG_OS_WINDOWS && !SMTG_PLATFORM_64
181 static const FUID iid;
199typedef uint32 KeyswitchTypeID;
244 static const FUID iid;
Handling 16 Byte Globally Unique Identifiers.
The basic interface of all interfaces.
Extended plug-in interface IEditController for key switches support: Vst::IKeyswitchController.
virtual int32 PLUGIN_API getKeyswitchCount(int32 busIndex, int16 channel)=0
Returns number of supported key switches for event bus index and channel.
virtual tresult PLUGIN_API getKeyswitchInfo(int32 busIndex, int16 channel, int32 keySwitchIndex, KeyswitchInfo &info)=0
Returns key switch info.
Extended plug-in interface IEditController for note expression event support: Vst::INoteExpressionCon...
virtual int32 PLUGIN_API getNoteExpressionCount(int32 busIndex, int16 channel)=0
Returns number of supported note change types for event bus index and channel.
virtual tresult PLUGIN_API getNoteExpressionInfo(int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info)=0
Returns note change type info.
virtual tresult PLUGIN_API getNoteExpressionStringByValue(int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized, String128 string)=0
Gets a user readable representation of the normalized note change value.
virtual tresult PLUGIN_API getNoteExpressionValueByString(int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar *string, NoteExpressionValue &valueNormalized)=0
Converts the user readable representation to the normalized note change value.
KeyswitchTypeIDs
KeyswitchTypeIDs describes the type of a key switch.
@ kOnReleaseKeyswitchTypeID
press before entering release
@ kKeyRangeTypeID
key should be maintained pressed for playing
@ kNoteOnKeyswitchTypeID
press before noteOn is played
@ kOnTheFlyKeyswitchTypeID
press while noteOn is played
int32 flags
not yet used (set to 0)
uint32 ParamID
parameter identifier
int32 noteId
associated note identifier to apply the change
TChar String128[128]
128 character UTF-16 string
char16 TChar
UTF-16 character.
int32 noteId
associated note identifier to apply the change
double NoteExpressionValue
Note Expression Value.
NoteExpressionTypeIDs
NoteExpressionTypeIDs describes the type of the note expression.
@ kTextTypeID
See NoteExpressionTextEvent.
@ kInvalidTypeID
indicates an invalid note expression type
@ kExpressionTypeID
Expression.
@ kPanTypeID
Panning (L-R), plain range [0 = left, 0.5 = center, 1 = right].
@ kCustomStart
start of custom note expression type ids
@ kVolumeTypeID
Volume, plain range [0 = -oo , 0.25 = 0dB, 0.5 = +6dB, 1 = +12dB]: plain = 20 * log (4 * norm)
@ kTuningTypeID
Tuning, plain range [0 = -120.0 (ten octaves down), 0.5 none, 1 = +120.0 (ten octaves up)] plain = 24...
@ kCustomEnd
end of custom note expression type ids
@ kBrightnessTypeID
Brightness.
int32 keyswitchMax
associated main key switch max (value between [0, 127])
uint32 NoteExpressionTypeID
Note Expression Types.
int32 keyswitchMin
associated main key switch min (value between [0, 127])
NoteExpressionValue maximum
maximum normalized value [0,1]
const TChar * text
UTF-16, null terminated.
NoteExpressionValue defaultValue
default normalized value [0,1]
NoteExpressionValue value
normalized value [0.0, 1.0].
NoteExpressionValue minimum
minimum normalized value [0,1]
NoteExpressionTypeID typeId
see NoteExpressionTypeID (kTextTypeID or kPhoneticTypeID)
int32 stepCount
number of discrete steps (0: continuous, 1: toggle, discrete value otherwise - see vst3ParameterIntro...
int32 unitId
optional remapped key switch (default -1), the plug-in could provide one remapped key for a key switc...
KeyswitchTypeID typeId
see KeyswitchTypeID
String128 title
name of key switch (e.g. "Accentuation")
String128 shortTitle
short title (e.g. "Acc")
uint32 textLen
the number of characters (TChar) between the beginning of text and the terminating null character (wi...
NoteExpressionTypeID typeId
see NoteExpressionTypeID
KeyswitchInfo is the structure describing a key switch This structure is used by the method IKeyswitc...
Note Expression Text event.
Description of a Note Expression Type This structure is part of the NoteExpressionTypeInfo structure,...
Note Expression Value event.
NoteExpressionTypeInfo is the structure describing a note expression supported by the plug-in.
NoteExpressionTypeID typeId
unique identifier of this note Expression type
int32 unitId
id of unit this NoteExpression belongs to (see vst3Units), in order to sort the note expression,...
String128 units
note Expression type unit (e.g. "dB")
String128 title
note Expression type title (e.g. "Volume")
ParamID associatedParameterId
optional associated parameter ID (for mapping from note expression to global (using the parameter aut...
NoteExpressionValueDescription valueDesc
value description see NoteExpressionValueDescription
@ kAssociatedParameterIDValid
indicates that the associatedParameterID is valid and could be used
@ kIsBipolar
event is bipolar (centered), otherwise unipolar
@ kIsOneShot
event occurs only one time for its associated note (at begin of the noteOn)
@ kIsAbsolute
This note expression will apply an absolute change to the sound (not relative (offset))
int32 flags
NoteExpressionTypeFlags (see below)
String128 shortTitle
note Expression type short title (e.g. "Vol")