mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 04:20:13 +02:00
5.5 KiB
5.5 KiB
VST3 interfaces
See docs/vst3.md for more information on how the serialization works.
The following interfaces are not yet implemented:
- Every interface introduced after VST 3.1.0, although most of the VST 3.5.0 interfaces have already been implemented
- The Presonus extensions, although most of these things seem to overlap with newer VST3 interfaces
VST3 plugin interfaces are implemented as follows:
| yabridge class | Included in | Interfaces |
|---|---|---|
YaPluginFactory |
IPluginFactory, IPluginFactory2, IPluginFactory3 |
|
Vst3ConnectionPointProxy |
IConnectionPoint through YaConnectionPoint |
|
Vst3PlugViewProxy |
All of the below: | |
YaParameterFinder |
Vst3PlugViewProxy |
IParameterFinder |
YaPlugView |
Vst3PlugViewProxy |
IPlugView |
Vst3PluginProxy |
All of the below: | |
YaAudioPresentationLatency |
Vst3PluginProxy |
IAudioPresentationLatency |
YaAudioProcessor |
Vst3PluginProxy |
IAudioProcessor |
YaComponent |
Vst3PluginProxy |
IComponent |
YaConnectionPoint |
Vst3PluginProxy |
IConnectionPoint |
YaEditController |
Vst3PluginProxy |
IEditController |
YaEditController2 |
Vst3PluginProxy |
IEditController2 |
YaEditControllerHostEditing |
Vst3PluginProxy |
IEditControllerHostEditing |
YaKeyswitchController |
Vst3PluginProxy |
IKeyswitchController |
YaMidiMapping |
Vst3PluginProxy |
IMidiMapping |
YaNoteExpressionController |
Vst3PluginProxy |
INoteExpressionController |
YaPluginBase |
Vst3PluginProxy |
IPluginBase |
YaProgramListData |
Vst3PluginProxy |
IProgramListData |
YaUnitData |
Vst3PluginProxy |
IUnitData |
YaUnitInfo |
Vst3PluginProxy |
IUnitInfo |
VST3 host interfaces are implemented as follows:
| yabridge class | Included in | Interfaces |
|---|---|---|
Vst3HostContextProxy |
All of the below: | |
YaHostApplication |
Vst3HostContextProxy |
IHostApplication |
Vst3ComponentHandlerProxy |
All of the below: | |
YaComponentHandler |
Vst3ComponentHandlerProxy |
IComponentHandler |
YaComponentHandler2 |
Vst3ComponentHandlerProxy |
IComponentHandler2 |
YaComponentHandler3 |
Vst3ComponentHandlerProxy |
IComponentHandler3 |
YaUnitHandler |
Vst3ComponentHandlerProxy |
IUnitHandler |
Vst3ContextMenuProxy |
All of the below: | |
YaContextMenu |
Vst3ContextMenuProxy |
IContextMenu |
Vst3PlugFrameProxy |
All of the below: | |
YaPlugFrame |
Vst3PlugFrameProxy |
IPlugFrame |
The following host interfaces are passed as function arguments and are thus also implemented for serialization purposes:
| yabridge class | Interfaces | Notes |
|---|---|---|
YaAttributeList |
IAttributeList |
|
YaContextMenuTarget |
IContextMenuTarget |
Used in YaContextMenu to proxy specific menu items |
YaEventList |
IEventList |
Comes with a lot of serialization wrappers around the related structs |
YaMessage |
IMessage |
|
YaMessagePtr |
IMessage |
Should be used in inter process communication to exchange messages |
YaParameterChanges |
IParameterChanges |
|
YaParamValueQueue |
IParamValueQueue |
|
VectorStream |
IBStream |
Used for serializing data streams |
And finally YaProcessData uses the above along with YaAudioBusBuffers to
wrap around ProcessData.