VST 3 SDK VST 3.7
SDK for developing VST plug-in
|
Namespaces | |
namespace | Algo |
namespace | Attributes |
namespace | AttributesFlags |
namespace | AttributesFunction |
namespace | AttributesStyle |
namespace | ChannelContext |
namespace | CurveType |
namespace | FunctionNameType |
namespace | Helpers |
namespace | InterAppAudio |
namespace | LayerType |
namespace | MPE |
namespace | MusicalCharacter |
namespace | MusicalInstrument |
namespace | MusicalStyle |
namespace | PlugType |
namespace | PresetAttributes |
namespace | SampleAccurate |
namespace | SpeakerArr |
namespace | StateType |
namespace | StringConvert |
namespace | Test |
namespace | UMP |
namespace | ViewType |
Classes | |
class | AudioBuffer |
class | AudioBus |
Description of an Audio Bus. More... | |
struct | AudioBusBuffers |
class | AudioEffect |
Default implementation for a VST 3 audio effect. More... | |
class | BufferStream |
Stream implementation for a memory buffer. More... | |
class | Bus |
Basic Bus object. More... | |
struct | BusInfo |
class | BusList |
List of Busses. More... | |
class | BypassProcessor |
struct | Chord |
struct | ChordEvent |
class | Component |
Default implementation for a VST 3 Component. More... | |
class | ComponentBase |
Base class for VST 3 Component and Edit Controller. More... | |
class | ConnectionProxy |
Helper for creating and initializing component. More... | |
struct | DataEvent |
struct | DataExchangeBlock |
class | DataExchangeHandler |
Helper class to provide a single API for plug-ins to transfer data from the realtime audio process to the edit controller either via the backwards compatible message handling protocol (see IMessage) or the new IDataExchangeHandler/IDataExchangeReceiver API. More... | |
class | DataExchangeReceiverHandler |
Helper class to provide a single API for plug-ins to transfer data from the realtime audio process to the edit controller either via the message handling protocol (see IMessage) or the new IDataExchangeHandler/IDataExchangeReceiver API. More... | |
class | EditController |
Default implementation for a VST 3 edit controller. More... | |
class | EditControllerEx1 |
Advanced implementation (support IUnitInfo) for a VST 3 edit controller. More... | |
class | EditorView |
View related to an edit controller. More... | |
struct | Event |
class | EventBus |
Description of an Event Bus. More... | |
class | EventList |
Example implementation of IEventList. More... | |
class | FileStream |
Stream implementation for a file using stdio. More... | |
struct | FrameRate |
class | HostApplication |
Implementation's example of IHostApplication. More... | |
class | HostAttributeList |
Example, ready to use implementation of IAttributeList. More... | |
struct | HostDataExchangeHandler |
class | HostMessage |
Example implementation of IMessage. More... | |
class | HostProcessData |
Extension of ProcessData. More... | |
class | IAttributeList |
class | IAudioPresentationLatency |
class | IAudioProcessor |
class | IAutomationState |
class | IComponent |
class | IComponentHandler |
class | IComponentHandler2 |
class | IComponentHandler3 |
class | IComponentHandlerBusActivation |
class | IComponentHandlerSystemTime |
class | IConnectionPoint |
class | IContextMenu |
struct | IContextMenuItem |
class | IContextMenuTarget |
class | IDataExchangeHandler |
struct | IDataExchangeHandlerHost |
class | IDataExchangeReceiver |
class | IEditController |
class | IEditController2 |
class | IEditControllerHostEditing |
class | IEventList |
class | IHostApplication |
class | IInterAppAudioConnectionNotification |
class | IInterAppAudioHost |
class | IInterAppAudioPresetManager |
class | IKeyswitchController |
class | IMessage |
class | IMidiLearn |
class | IMidiMapping |
class | INoteExpressionController |
class | INoteExpressionPhysicalUIMapping |
class | IParameterChanges |
class | IParameterFinder |
class | IParameterFunctionName |
class | IParamValueQueue |
class | IPlugInterfaceSupport |
class | IPrefetchableSupport |
class | IProcessContextRequirements |
class | IProgramListData |
class | IProgress |
class | IRemapParamID |
class | IStreamAttributes |
class | ITestPlugProvider |
class | ITestPlugProvider2 |
class | IUnitData |
class | IUnitHandler |
class | IUnitHandler2 |
class | IUnitInfo |
class | IVst3ToAAXWrapper |
class | IVst3ToAUWrapper |
class | IVst3ToVst2Wrapper |
class | IVst3WrapperMPESupport |
class | IXmlRepresentationController |
struct | KeyswitchInfo |
struct | LegacyMIDICCOutEvent |
struct | NoteExpressionTextEvent |
class | NoteExpressionType |
Note expression type object. More... | |
class | NoteExpressionTypeContainer |
Collection of note expression types. More... | |
struct | NoteExpressionTypeInfo |
struct | NoteExpressionValueDescription |
struct | NoteExpressionValueEvent |
struct | NoteOffEvent |
struct | NoteOnEvent |
class | ParamChanges |
AutomationTest helper classes: implementation of IParamValueQueue. More... | |
class | Parameter |
Description of a Parameter. More... | |
class | ParameterChanges |
Implementation's example of IParameterChanges - not threadsave!. More... | |
class | ParameterChangeTransfer |
Ring buffer for transferring parameter changes from a writer to a read thread . More... | |
class | ParameterContainer |
Collection of parameters. More... | |
struct | ParameterInfo |
class | ParameterValueQueue |
Implementation's example of IParamValueQueue - not threadsave!. More... | |
class | ParamPoint |
AutomationTest helper classes. More... | |
struct | PhysicalUIMap |
struct | PhysicalUIMapList |
class | PluginContextFactory |
class | PlugInterfaceSupport |
Example implementation of IPlugInterfaceSupport. More... | |
class | PlugProvider |
Helper for creating and initializing component. More... | |
struct | PolyPressureEvent |
class | PresetFile |
Handler for a VST 3 Preset File. More... | |
struct | ProcessContext |
class | ProcessContextRequirements |
struct | ProcessData |
class | ProcessDataSlicer |
Process Data Slicer. More... | |
struct | ProcessSetup |
class | ProgramList |
ProgramList element. More... | |
struct | ProgramListInfo |
class | ProgramListWithPitchNames |
ProgramListWithPitchNames element. More... | |
class | RangeNoteExpressionType |
Note expression type object representing a custom range. More... | |
class | RangeParameter |
Description of a RangeParameter. More... | |
class | ReadOnlyBStream |
Stream representing a Read-Only subsection of its source stream. More... | |
struct | RepresentationInfo |
struct | RoutingInfo |
struct | RTTransferT |
Transfer objects from a non realtime thread to a realtime one. More... | |
struct | ScaleEvent |
class | SingleComponentEffect |
Default implementation for a non-distributable Plug-in that combines processor and edit controller in one component. More... | |
class | SpeakerArray |
Helper class representing speaker arrangement as array of speaker types. More... | |
class | StringListParameter |
Description of a StringListParameter. More... | |
class | StringResult |
class | SystemTime |
SystemTime Helper class. More... | |
class | TestBase |
Test Helper. More... | |
struct | TestDefaults |
class | TestEnh |
Test Helper. More... | |
struct | TestingPluginContext |
class | ThreadChecker |
class | Unit |
Unit element. More... | |
struct | UnitInfo |
class | VSTGUIEditor |
Base class for an edit view using VSTGUI. More... | |
class | XmlRepresentationHelper |
Helper for XML Representation creation. More... | |
Enumerations | |
enum | ComponentFlags |
enum | SymbolicSampleSizes |
enum | ProcessModes |
enum | MediaTypes |
enum | BusDirections |
enum | BusTypes |
enum | IoModes |
enum | RestartFlags |
enum | KnobModes |
enum | NoteIDUserRange |
enum | ControllerNumbers |
enum | NoteExpressionTypeIDs |
enum | KeyswitchTypeIDs |
enum | PhysicalUITypeIDs |
enum | ePrefetchableSupport |
enum | ChunkType { kHeader , kComponentState , kControllerState , kProgramData , kMetaInfo , kChunkList , kNumPresetChunks } |
Functions | |
IMessage * | allocateMessage (IHostApplication *host) |
void ** | getChannelBuffersPointer (const ProcessSetup &processSetup, const AudioBusBuffers &bufs) |
Returns the current channelBuffers used (depending of symbolicSampleSize). More... | |
uint32 | getSampleFramesSizeInBytes (const ProcessSetup &processSetup, int32 numSamples) |
Returns the size in bytes of numSamples for one channel depending of symbolicSampleSize. More... | |
uint64 | getChannelMask (int32 numChannels) |
return the bit-mask of channels for the given number of channel for example: numChannels = 1 => 0b0001 (binar) = 0x01 = 1 (decimal) numChannels = 2 => 0b0011 (binar) = 0x03 = 3 (decimal) numChannels = 6 => 0b0011 1111 (binar) = 0x3F = 63 (decimal) More... | |
tresult | 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. More... | |
void | setupVSTGUIBundleSupport (void *hInstance) |
const ChunkID & | getChunkID (ChunkType type) |
bool | verify (tresult result) |
bool | copyStream (IBStream *inStream, IBStream *outStream) |
IMPLEMENT_FUNKNOWN_METHODS (FileStream, IBStream, IBStream::iid) tresult FileStream | |
IMPLEMENT_REFCOUNT (ReadOnlyBStream) ReadOnlyBStream | |
IMPLEMENT_FUNKNOWN_METHODS (BufferStream, IBStream, IBStream::iid) BufferStream | |
bool | isEqualID (const ChunkID id1, const ChunkID id2) |
IMPLEMENT_FUNKNOWN_METHODS (ConnectionProxy, IConnectionPoint, IConnectionPoint::iid) ConnectionProxy | |
IMPLEMENT_FUNKNOWN_METHODS (EventList, IEventList, IEventList::iid) EventList | |
IMPLEMENT_FUNKNOWN_METHODS (HostMessage, IMessage, IMessage::iid) HostMessage | |
IMPLEMENT_FUNKNOWN_METHODS (HostAttributeList, IAttributeList, IAttributeList::iid) IPtr< IAttributeList > HostAttributeList | |
IMPLEMENT_FUNKNOWN_METHODS (ParameterChanges, IParameterChanges, IParameterChanges::iid) IMPLEMENT_FUNKNOWN_METHODS(ParameterValueQueue | |
IMPLEMENT_FUNKNOWN_METHODS (TestBase, ITest, ITest::iid) | |
void | addMessage (ITestResult *testResult, const std::u16string &str) |
void | addMessage (ITestResult *testResult, const char *str) |
void | addErrorMessage (ITestResult *testResult, const char *str) |
void | addErrorMessage (ITestResult *testResult, const std::u16string &str) |
std::u16string | printf (const char8 *format,...) |
IMPLEMENT_FUNKNOWN_METHODS (ParamChanges, IParamValueQueue, IParamValueQueue::iid) ParamChanges | |
SMTG_TYPE_ALIGN_CHECK (PFactoryInfo, 4, 4, 4, 4) SMTG_TYPE_ALIGN_CHECK(PClassInfo | |
SMTG_TYPE_ALIGN_CHECK (PClassInfo2, 4, 4, 4, 4) SMTG_TYPE_ALIGN_CHECK(PClassInfoW | |
SMTG_TYPE_ALIGN_CHECK (ProcessSetup, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(AudioBusBuffers | |
SMTG_TYPE_ALIGN_CHECK (ProcessData, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(BusInfo | |
SMTG_TYPE_ALIGN_CHECK (RoutingInfo, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(IContextMenuItem | |
SMTG_TYPE_ALIGN_CHECK (ParameterInfo, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(NoteOnEvent | |
SMTG_TYPE_ALIGN_CHECK (NoteOffEvent, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(DataEvent | |
SMTG_TYPE_ALIGN_CHECK (PolyPressureEvent, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(ChordEvent | |
SMTG_TYPE_ALIGN_CHECK (ScaleEvent, 8, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(LegacyMIDICCOutEvent | |
SMTG_TYPE_ALIGN_CHECK (Event, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(NoteExpressionValueDescription | |
SMTG_TYPE_ALIGN_CHECK (NoteExpressionValueEvent, 8, 1, 4, 8) SMTG_TYPE_ALIGN_CHECK(NoteExpressionTextEvent | |
SMTG_TYPE_ALIGN_CHECK (NoteExpressionTypeInfo, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(KeyswitchInfo | |
SMTG_TYPE_ALIGN_CHECK (FrameRate, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(Chord | |
SMTG_TYPE_ALIGN_CHECK (ProcessContext, 8, 1, 8, 8) SMTG_TYPE_ALIGN_CHECK(RepresentationInfo | |
SMTG_TYPE_ALIGN_CHECK (UnitInfo, 4, 1, 4, 4) SMTG_TYPE_ALIGN_CHECK(ProgramListInfo | |
void | printStructSizes () |
void * | aligned_alloc (size_t numBytes, uint32_t alignment) |
aligned allocation More... | |
void | aligned_free (void *addr, uint32_t alignment) |
template<SymbolicSampleSizes SampleSize, typename std::enable_if< SampleSize==SymbolicSampleSizes::kSample32 >::type * = nullptr> | |
Sample32 ** | getChannelBuffers (AudioBusBuffers &buffer) |
get channel buffers from audio bus buffers 32 bit variant More... | |
template<SymbolicSampleSizes SampleSize, typename std::enable_if< SampleSize==SymbolicSampleSizes::kSample64 >::type * = nullptr> | |
Sample64 ** | getChannelBuffers (AudioBusBuffers &buffer) |
get channel buffers from audio bus buffers 64 bit variant More... | |
bool | operator== (const DataExchangeHandler::Config &c1, const DataExchangeHandler::Config &c2) |
bool | operator!= (const DataExchangeBlock &lhs, const DataExchangeBlock &rhs) |
bool | operator== (const DataExchangeBlock &lhs, const DataExchangeBlock &rhs) |
const Steinberg::Vst::TChar * | toTChar (const std::u16string &str) |
template<typename NumberT > | |
std::u16string | toString (NumberT value) |
convert a number to an UTF-16 string More... | |
FUnknown * | createTestFactoryInstance (void *) |
create a Test Factory instance More... | |
const FUID & | getTestFactoryUID () |
get the test factory class ID More... | |
void | registerTest (FIDString name, const char *desc, const TestFunc &func) |
register a simple test function More... | |
void | registerTest (FIDString name, const char *desc, TestFunc &&func) |
register a simple test function More... | |
void | registerTest (FIDString name, const char *desc, const TestFuncWithContext &func) |
register a test function with context pointer More... | |
void | registerTest (FIDString name, const char *desc, TestFuncWithContext &&func) |
register a test function with context pointer More... | |
void | registerTest (FIDString name, ITest *test) |
register a custom test, the test object will be owned by the implementation More... | |
using ProcessSampleSize = int32 |
using TestFunc = std::function<bool (ITestResult*)> |
simple test function
using TestFuncWithContext = std::function<bool (FUnknown*, ITestResult*)> |
test function with context pointer
enum ChunkType |
|
inline |
Returns the current channelBuffers used (depending of symbolicSampleSize).
|
inline |
Returns the size in bytes of numSamples for one channel depending of symbolicSampleSize.
return the bit-mask of channels for the given number of channel for example: numChannels = 1 => 0b0001 (binar) = 0x01 = 1 (decimal) numChannels = 2 => 0b0011 (binar) = 0x03 = 3 (decimal) numChannels = 6 => 0b0011 1111 (binar) = 0x3F = 63 (decimal)
tresult 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.
void setupVSTGUIBundleSupport | ( | void * | hInstance | ) |
|
inline |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | FileStream | , |
IBStream | , | ||
IBStream::iid | |||
) |
Steinberg::Vst::IMPLEMENT_REFCOUNT | ( | ReadOnlyBStream | ) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | BufferStream | , |
IBStream | , | ||
IBStream::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | ConnectionProxy | , |
IConnectionPoint | , | ||
IConnectionPoint::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | EventList | , |
IEventList | , | ||
IEventList::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | HostMessage | , |
IMessage | , | ||
IMessage::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | HostAttributeList | , |
IAttributeList | , | ||
IAttributeList::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | ParameterChanges | , |
IParameterChanges | , | ||
IParameterChanges::iid | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | TestBase | , |
ITest | , | ||
ITest::iid | |||
) |
void addMessage | ( | ITestResult * | testResult, |
const std::u16string & | str | ||
) |
void addMessage | ( | ITestResult * | testResult, |
const char * | str | ||
) |
void addErrorMessage | ( | ITestResult * | testResult, |
const char * | str | ||
) |
void addErrorMessage | ( | ITestResult * | testResult, |
const std::u16string & | str | ||
) |
std::u16string printf | ( | const char8 * | format, |
... | |||
) |
Steinberg::Vst::IMPLEMENT_FUNKNOWN_METHODS | ( | ParamChanges | , |
IParamValueQueue | , | ||
IParamValueQueue::iid | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | PFactoryInfo | , |
4 | , | ||
4 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | PClassInfo2 | , |
4 | , | ||
4 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | ProcessSetup | , |
8 | , | ||
1 | , | ||
8 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | ProcessData | , |
8 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | RoutingInfo | , |
4 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | ParameterInfo | , |
8 | , | ||
1 | , | ||
8 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | NoteOffEvent | , |
4 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | PolyPressureEvent | , |
4 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | ScaleEvent | , |
8 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | Event | , |
8 | , | ||
1 | , | ||
8 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | NoteExpressionValueEvent | , |
8 | , | ||
1 | , | ||
4 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | NoteExpressionTypeInfo | , |
8 | , | ||
1 | , | ||
8 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | FrameRate | , |
4 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | ProcessContext | , |
8 | , | ||
1 | , | ||
8 | , | ||
8 | |||
) |
Steinberg::Vst::SMTG_TYPE_ALIGN_CHECK | ( | UnitInfo | , |
4 | , | ||
1 | , | ||
4 | , | ||
4 | |||
) |
|
inline |
|
inline |
aligned allocation
note that you need to use aligned_free to free the block of memory
numBytes | number of bytes to allocate |
alignment | alignment of memory base address. must be a power of 2 and at least as large as sizeof (void*) or zero in which it uses malloc for allocation |
|
inline |
|
inline |
get channel buffers from audio bus buffers 32 bit variant
|
inline |
get channel buffers from audio bus buffers 64 bit variant
bool Steinberg::Vst::operator== | ( | const DataExchangeHandler::Config & | c1, |
const DataExchangeHandler::Config & | c2 | ||
) |
|
inline |
|
inline |
|
inline |
std::u16string Steinberg::Vst::toString | ( | NumberT | value | ) |
convert a number to an UTF-16 string
value | number |
const FUID & Steinberg::Vst::getTestFactoryUID | ( | ) |
get the test factory class ID
register a simple test function
register a simple test function
void Steinberg::Vst::registerTest | ( | FIDString | name, |
const char * | desc, | ||
const TestFuncWithContext & | func | ||
) |
register a test function with context pointer
void Steinberg::Vst::registerTest | ( | FIDString | name, |
const char * | desc, | ||
TestFuncWithContext && | func | ||
) |
register a test function with context pointer
register a custom test, the test object will be owned by the implementation
|
constexpr |