|
LMMS
|
Namespaces | |
| namespace | PlugType |
| namespace | ChannelContext |
| namespace | ViewType |
| namespace | FunctionNameType |
| namespace | LayerType |
| namespace | CurveType |
| namespace | Attributes |
| namespace | AttributesFunction |
| namespace | AttributesStyle |
| namespace | AttributesFlags |
| namespace | SpeakerArr |
Typedefs | |
| typedef int32 | KnobMode |
| typedef uint32 | NoteExpressionTypeID |
| typedef double | NoteExpressionValue |
| typedef uint32 | KeyswitchTypeID |
| typedef uint32 | PhysicalUITypeID |
| typedef uint32 | PrefetchableSupport |
| typedef char16 | TChar |
| UTF-16 character. | |
| typedef TChar | String128[128] |
| 128 character UTF-16 string | |
| typedef const char8 * | CString |
| C-String. | |
| typedef int32 | MediaType |
| media type (audio/event) | |
| typedef int32 | BusDirection |
| bus direction (in/out) | |
| typedef int32 | BusType |
| bus type (main/aux) | |
| typedef int32 | IoMode |
| I/O mode (see vst3IoMode). | |
| typedef int32 | UnitID |
| unit identifier | |
| typedef double | ParamValue |
| parameter value type | |
| typedef uint32 | ParamID |
| parameter identifier | |
| typedef int32 | ProgramListID |
| program list identifier | |
| typedef int16 | CtrlNumber |
| MIDI controller number (see ControllerNumbers for allowed values). | |
| typedef double | TQuarterNotes |
| time expressed in quarter notes | |
| typedef int64 | TSamples |
| time expressed in audio samples | |
| typedef uint32 | ColorSpec |
| color defining by 4 component ARGB value (Alpha/Red/Green/Blue) | |
| typedef float | Sample32 |
| 32-bit precision audio sample | |
| typedef double | Sample64 |
| 64-bit precision audio sample | |
| typedef double | SampleRate |
| sample rate | |
| typedef uint64 | SpeakerArrangement |
| Bitset of speakers. | |
| typedef uint64 | Speaker |
| Bit for one speaker. | |
| using | ChunkID = char[4] |
Functions | |
| IMessage * | allocateMessage (IHostApplication *host) |
| tresult | getSpeakerChannelIndex (SpeakerArrangement arrangement, uint64 speaker, int32 &channel) |
| const ChunkID & | getChunkID (ChunkType type) |
| bool | verify (tresult result) |
| bool | copyStream (IBStream *inStream, IBStream *outStream) |
| bool | isEqualID (const ChunkID id1, const ChunkID id2) |
Variables | |
| static const uint32 | kNoTail = 0 |
| static const uint32 | kInfiniteTail = kMaxInt32u |
| const int32 | kDefaultFactoryFlags = PFactoryInfo::kUnicode |
| static const UnitID | kRootUnitId = 0 |
| identifier for the top level unit (root) | |
| static const UnitID | kNoParentUnitId = -1 |
| used for the root unit which does not have a parent. | |
| static const ProgramListID | kNoProgramListId = -1 |
| no programs are used in the unit. | |
| static const int32 | kAllProgramInvalid = -1 |
| all program information is invalid | |
| const Speaker | kSpeakerL = 1 << 0 |
| Left (L). | |
| const Speaker | kSpeakerR = 1 << 1 |
| Right (R). | |
| const Speaker | kSpeakerC = 1 << 2 |
| Center (C). | |
| const Speaker | kSpeakerLfe = 1 << 3 |
| Subbass (Lfe). | |
| const Speaker | kSpeakerLs = 1 << 4 |
| Left Surround (Ls). | |
| const Speaker | kSpeakerRs = 1 << 5 |
| Right Surround (Rs). | |
| const Speaker | kSpeakerLc = 1 << 6 |
| Left of Center (Lc) - Front Left Center. | |
| const Speaker | kSpeakerRc = 1 << 7 |
| Right of Center (Rc) - Front Right Center. | |
| const Speaker | kSpeakerS = 1 << 8 |
| Surround (S). | |
| const Speaker | kSpeakerCs = kSpeakerS |
| Center of Surround (Cs) - Back Center - Surround (S). | |
| const Speaker | kSpeakerSl = 1 << 9 |
| Side Left (Sl). | |
| const Speaker | kSpeakerSr = 1 << 10 |
| Side Right (Sr). | |
| const Speaker | kSpeakerTc = 1 << 11 |
| Top Center Over-head, Top Middle (Tc). | |
| const Speaker | kSpeakerTfl = 1 << 12 |
| Top Front Left (Tfl). | |
| const Speaker | kSpeakerTfc = 1 << 13 |
| Top Front Center (Tfc). | |
| const Speaker | kSpeakerTfr = 1 << 14 |
| Top Front Right (Tfr). | |
| const Speaker | kSpeakerTrl = 1 << 15 |
| Top Rear/Back Left (Trl). | |
| const Speaker | kSpeakerTrc = 1 << 16 |
| Top Rear/Back Center (Trc). | |
| const Speaker | kSpeakerTrr = 1 << 17 |
| Top Rear/Back Right (Trr). | |
| const Speaker | kSpeakerLfe2 = 1 << 18 |
| Subbass 2 (Lfe2). | |
| const Speaker | kSpeakerM = 1 << 19 |
| Mono (M). | |
| const Speaker | kSpeakerACN0 = (Speaker)1 << 20 |
| Ambisonic ACN 0. | |
| const Speaker | kSpeakerACN1 = (Speaker)1 << 21 |
| Ambisonic ACN 1. | |
| const Speaker | kSpeakerACN2 = (Speaker)1 << 22 |
| Ambisonic ACN 2. | |
| const Speaker | kSpeakerACN3 = (Speaker)1 << 23 |
| Ambisonic ACN 3. | |
| const Speaker | kSpeakerACN4 = (Speaker)1 << 38 |
| Ambisonic ACN 4. | |
| const Speaker | kSpeakerACN5 = (Speaker)1 << 39 |
| Ambisonic ACN 5. | |
| const Speaker | kSpeakerACN6 = (Speaker)1 << 40 |
| Ambisonic ACN 6. | |
| const Speaker | kSpeakerACN7 = (Speaker)1 << 41 |
| Ambisonic ACN 7. | |
| const Speaker | kSpeakerACN8 = (Speaker)1 << 42 |
| Ambisonic ACN 8. | |
| const Speaker | kSpeakerACN9 = (Speaker)1 << 43 |
| Ambisonic ACN 9. | |
| const Speaker | kSpeakerACN10 = (Speaker)1 << 44 |
| Ambisonic ACN 10. | |
| const Speaker | kSpeakerACN11 = (Speaker)1 << 45 |
| Ambisonic ACN 11. | |
| const Speaker | kSpeakerACN12 = (Speaker)1 << 46 |
| Ambisonic ACN 12. | |
| const Speaker | kSpeakerACN13 = (Speaker)1 << 47 |
| Ambisonic ACN 13. | |
| const Speaker | kSpeakerACN14 = (Speaker)1 << 48 |
| Ambisonic ACN 14. | |
| const Speaker | kSpeakerACN15 = (Speaker)1 << 49 |
| Ambisonic ACN 15. | |
| const Speaker | kSpeakerTsl = (Speaker)1 << 24 |
| Top Side Left (Tsl). | |
| const Speaker | kSpeakerTsr = (Speaker)1 << 25 |
| Top Side Right (Tsr). | |
| const Speaker | kSpeakerLcs = (Speaker)1 << 26 |
| Left of Center Surround (Lcs) - Back Left Center. | |
| const Speaker | kSpeakerRcs = (Speaker)1 << 27 |
| Right of Center Surround (Rcs) - Back Right Center. | |
| const Speaker | kSpeakerBfl = (Speaker)1 << 28 |
| Bottom Front Left (Bfl). | |
| const Speaker | kSpeakerBfc = (Speaker)1 << 29 |
| Bottom Front Center (Bfc). | |
| const Speaker | kSpeakerBfr = (Speaker)1 << 30 |
| Bottom Front Right (Bfr). | |
| const Speaker | kSpeakerPl = (Speaker)1 << 31 |
| Proximity Left (Pl). | |
| const Speaker | kSpeakerPr = (Speaker)1 << 32 |
| Proximity Right (Pr). | |
| const Speaker | kSpeakerBsl = (Speaker)1 << 33 |
| Bottom Side Left (Bsl). | |
| const Speaker | kSpeakerBsr = (Speaker)1 << 34 |
| Bottom Side Right (Bsr). | |
| const Speaker | kSpeakerBrl = (Speaker)1 << 35 |
| Bottom Rear Left (Brl). | |
| const Speaker | kSpeakerBrc = (Speaker)1 << 36 |
| Bottom Rear Center (Brc). | |
| const Speaker | kSpeakerBrr = (Speaker)1 << 37 |
| Bottom Rear Right (Brr). | |
| static const ParamID | kNoParamId = 0xffffffff |
| default for uninitialized parameter ID | |
| static const ChunkID | commonChunks [kNumPresetChunks] |
| static const int32 | kFormatVersion = 1 |
| static const int32 | kClassIDSize = 32 |
| static const int32 | kHeaderSize = sizeof (ChunkID) + sizeof (int32) + kClassIDSize + sizeof (TSize) |
| static const int32 | kListOffsetPos = kHeaderSize - sizeof (TSize) |
All VST specific interfaces are located in Vst namespace
| typedef int32 Steinberg::Vst::BusDirection |
bus direction (in/out)
| typedef int32 Steinberg::Vst::BusType |
bus type (main/aux)
| using Steinberg::Vst::ChunkID = char[4] |
| typedef uint32 Steinberg::Vst::ColorSpec |
color defining by 4 component ARGB value (Alpha/Red/Green/Blue)
| typedef const char8* Steinberg::Vst::CString |
C-String.
| typedef int16 Steinberg::Vst::CtrlNumber |
MIDI controller number (see ControllerNumbers for allowed values).
| typedef int32 Steinberg::Vst::IoMode |
I/O mode (see vst3IoMode).
| typedef int32 Steinberg::Vst::KnobMode |
Knob Mode Type
| typedef int32 Steinberg::Vst::MediaType |
media type (audio/event)
Note Expression Types
| typedef double Steinberg::Vst::NoteExpressionValue |
Note Expression Value
| typedef uint32 Steinberg::Vst::ParamID |
parameter identifier
| typedef double Steinberg::Vst::ParamValue |
parameter value type
Physical UI Type
Prefetchable Support Type
| typedef int32 Steinberg::Vst::ProgramListID |
program list identifier
| typedef float Steinberg::Vst::Sample32 |
32-bit precision audio sample
| typedef double Steinberg::Vst::Sample64 |
64-bit precision audio sample
| typedef double Steinberg::Vst::SampleRate |
sample rate
| typedef uint64 Steinberg::Vst::Speaker |
Bit for one speaker.
Bitset of speakers.
| typedef TChar Steinberg::Vst::String128[128] |
128 character UTF-16 string
| typedef char16 Steinberg::Vst::TChar |
UTF-16 character.
| typedef double Steinberg::Vst::TQuarterNotes |
time expressed in quarter notes
| typedef int64 Steinberg::Vst::TSamples |
time expressed in audio samples
| typedef int32 Steinberg::Vst::UnitID |
unit identifier
Bus directions
| Enumerator | |
|---|---|
| kInput | input bus |
| kOutput | output bus |
Bus types
| Enumerator | |
|---|---|
| kMain | main bus |
| kAux | auxiliary bus (sidechain) |
Component Flags used as classFlags in PClassInfo2
| Enumerator | |
|---|---|
| kDistributable | Component can be run on remote computer. |
| kSimpleModeSupported | Component supports simple IO mode (or works in simple mode anyway) see vst3IoMode. |
Controller Numbers (MIDI)
| Enumerator | |
|---|---|
| kCtrlBankSelectMSB | Bank Select MSB. |
| kCtrlModWheel | Modulation Wheel. |
| kCtrlBreath | Breath controller. |
| kCtrlFoot | Foot Controller. |
| kCtrlPortaTime | Portamento Time. |
| kCtrlDataEntryMSB | Data Entry MSB. |
| kCtrlVolume | Channel Volume (formerly Main Volume). |
| kCtrlBalance | Balance. |
| kCtrlPan | Pan. |
| kCtrlExpression | Expression. |
| kCtrlEffect1 | |
| kCtrlEffect2 | |
| kCtrlGPC1 | General Purpose Controller #1. |
| kCtrlGPC2 | General Purpose Controller #2. |
| kCtrlGPC3 | General Purpose Controller #3. |
| kCtrlGPC4 | General Purpose Controller #4. |
| kCtrlBankSelectLSB | Bank Select LSB. |
| kCtrlDataEntryLSB | Data Entry LSB. |
| kCtrlSustainOnOff | Damper Pedal On/Off (Sustain). |
| kCtrlPortaOnOff | Portamento On/Off. |
| kCtrlSustenutoOnOff | Sustenuto On/Off. |
| kCtrlSoftPedalOnOff | Soft Pedal On/Off. |
| kCtrlLegatoFootSwOnOff | Legato Footswitch On/Off. |
| kCtrlHold2OnOff | Hold 2 On/Off. |
| kCtrlSoundVariation | Sound Variation. |
| kCtrlFilterCutoff | Filter Cutoff (Timbre/Harmonic Intensity). |
| kCtrlReleaseTime | Release Time. |
| kCtrlAttackTime | Attack Time. |
| kCtrlFilterResonance | |
| kCtrlDecayTime | Decay Time. |
| kCtrlVibratoRate | Vibrato Rate. |
| kCtrlVibratoDepth | Vibrato Depth. |
| kCtrlVibratoDelay | Vibrato Delay. |
| kCtrlSoundCtrler10 | undefined |
| kCtrlGPC5 | General Purpose Controller #5. |
| kCtrlGPC6 | General Purpose Controller #6. |
| kCtrlGPC7 | General Purpose Controller #7. |
| kCtrlGPC8 | General Purpose Controller #8. |
| kCtrlPortaControl | Portamento Control. |
| kCtrlEff1Depth | |
| kCtrlEff2Depth | |
| kCtrlEff3Depth | |
| kCtrlEff4Depth | Effect 4 Depth (Delay/Variation/Detune Level). |
| kCtrlEff5Depth | |
| kCtrlDataIncrement | Data Increment (+1). |
| kCtrlDataDecrement | Data Decrement (-1). |
| kCtrlNRPNSelectLSB | NRPN Select LSB. |
| kCtrlNRPNSelectMSB | NRPN Select MSB. |
| kCtrlRPNSelectLSB | RPN Select LSB. |
| kCtrlRPNSelectMSB | RPN Select MSB. |
| kCtrlAllSoundsOff | All Sounds Off. |
| kCtrlResetAllCtrlers | Reset All Controllers. |
| kCtrlLocalCtrlOnOff | Local Control On/Off. |
| kCtrlAllNotesOff | All Notes Off. |
| kCtrlOmniModeOff | Omni Mode Off + All Notes Off. |
| kCtrlOmniModeOn | Omni Mode On + All Notes Off. |
| kCtrlPolyModeOnOff | Poly Mode On/Off + All Sounds Off. |
| kCtrlPolyModeOn | Poly Mode On. |
| kAfterTouch | After Touch (associated to Channel Pressure). |
| kPitchBend | Pitch Bend Change. |
| kCountCtrlNumber | Count of Controller Number. |
| kCtrlProgramChange | Program Change (use LegacyMIDICCOutEvent.value only). |
| kCtrlPolyPressure | Polyphonic Key Pressure (use LegacyMIDICCOutEvent.value for pitch and |
| kCtrlQuarterFrame | LegacyMIDICCOutEvent.value2 for pressure). Quarter Frame ((use LegacyMIDICCOutEvent.value only) |
Prefetchable Support Enum
KeyswitchTypeIDs describes the type of a key switch
Bus media types
| Enumerator | |
|---|---|
| kAudio | audio |
| kEvent | events |
| kNumMediaTypes | |
NoteExpressionTypeIDs describes the type of the note expression. VST predefines some types like volume, pan, tuning by defining their ranges and curves. Used by NoteExpressionEvent::typeId and NoteExpressionTypeID::typeId
PhysicalUITypeIDs describes the type of Physical UI (PUI) which could be associated to a note expression.
Processing mode informs the plug-in about the context and at which frequency the process call is called. VST3 defines 3 modes:
Note about Process Modes switching:
| Enumerator | |
|---|---|
| kRealtime | realtime processing |
| kPrefetch | prefetch processing |
| kOffline | offline processing |
Flags used for IComponentHandler::restartComponent
| Enumerator | |
|---|---|
| kReloadComponent | The Component should be reloaded The host has to unload completely the plug-in (controller/processor) and reload it. [SDK 3.0.0] |
| kIoChanged | Input / Output Bus configuration has changed The plug-in informs the host that either the bus configuration or the bus count has changed. The host has to deactivate the plug-in, asks the plug-in for its wanted new bus configurations, adapts its processing graph and reactivate the plug-in. [SDK 3.0.0] |
| kParamValuesChanged | Multiple parameter values have changed (as result of a program change for example) The host invalidates all caches of parameter values and asks the edit controller for the current values. [SDK 3.0.0] |
| kLatencyChanged | Latency has changed The plug informs the host that its latency has changed, getLatencySamples should return the new latency after setActive (true) was called The host has to deactivate and reactivate the plug-in, then afterwards the host could ask for the current latency (getLatencySamples) see IAudioProcessor::getLatencySamples [SDK 3.0.0] |
| kParamTitlesChanged | Parameter titles, default values or flags (ParameterFlags) have changed The host invalidates all caches of parameter infos and asks the edit controller for the current infos. [SDK 3.0.0] |
| kMidiCCAssignmentChanged | MIDI Controllers and/or Program Changes Assignments have changed The plug-in informs the host that its MIDI-CC mapping has changed (for example after a MIDI learn or new loaded preset) or if the stepCount or UnitID of a ProgramChange parameter has changed. The host has to rebuild the MIDI-CC => parameter mapping (getMidiControllerAssignment) and reread program changes parameters (stepCount and associated unitID) [SDK 3.0.1] |
| kNoteExpressionChanged | Note Expression has changed (info, count, PhysicalUIMapping, ...) Either the note expression type info, the count of note expressions or the physical UI mapping has changed. The host invalidates all caches of note expression infos and asks the edit controller for the current ones. See INoteExpressionController, NoteExpressionTypeInfo and INoteExpressionPhysicalUIMapping [SDK 3.5.0] |
| kIoTitlesChanged | Input / Output bus titles have changed The host invalidates all caches of bus titles and asks the edit controller for the current titles. [SDK 3.5.0] |
| kPrefetchableSupportChanged | Prefetch support has changed The plug-in informs the host that its PrefetchSupport has changed The host has to deactivate the plug-in, calls IPrefetchableSupport::getPrefetchableSupport and reactivate the plug-in see IPrefetchableSupport [SDK 3.6.1] |
| kRoutingInfoChanged | RoutingInfo has changed The plug-in informs the host that its internal routing (relation of an event-input-channel to an audio-output-bus) has changed The host ask the plug-in for the new routing with IComponent::getRoutingInfo, vst3Routing see IComponent [SDK 3.6.6] |
Symbolic sample size.
| Enumerator | |
|---|---|
| kSample32 | 32-bit precision |
| kSample64 | 64-bit precision |
|
inline |
Helper to allocate a message
| tresult Steinberg::Vst::getSpeakerChannelIndex | ( | SpeakerArrangement | arrangement, |
| uint64 | speaker, | ||
| int32 & | channel ) |
Gets the channel index of a given speaker in a arrangement, returns kResultFalse if speaker not part of the arrangement else returns kResultTrue.
|
inline |
|
static |
all program information is invalid
Special programIndex value for IUnitHandler::notifyProgramListChange
| const int32 Steinberg::Vst::kDefaultFactoryFlags = PFactoryInfo::kUnicode |
Standard value for PFactoryInfo::flags
|
static |
|
static |
kInfiniteTail
to be returned by getTailSamples when infinite tail is wanted
|
static |
used for the root unit which does not have a parent.
|
static |
no programs are used in the unit.
Special ProgramListIDs for UnitInfo
kNoTail
to be returned by getTailSamples when no tail is wanted