mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 20:40:11 +02:00
VST3 interfaces
TODO: After merging into master, update this link to just point to GitHub
See docs/vst3.md for more information on how the serialization works.
VST3 plugin interfaces are implemented as follows:
| yabridge class | Included in | Interfaces |
|---|---|---|
YaPluginFactory |
IPluginFactory, IPluginFactory2, IPluginFactory3 |
|
Vst3PlugViewProxy |
All of the below: | |
YaPlugView |
Vst3PlugViewProxy |
IPlugView |
Vst3PluginProxy |
All of the below: | |
YaAudioProcessor |
Vst3PluginProxy |
IAudioProcessor |
YaComponent |
Vst3PluginProxy |
IComponent |
YaConnectionPoint |
Vst3PluginProxy |
IConnectionPoint |
YaEditController |
Vst3PluginProxy |
IEditController |
YaEditController2 |
Vst3PluginProxy |
IEditController2 |
YaPluginBase |
Vst3PluginProxy |
IPluginBase |
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 |
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 |
|
YaEventList |
IEventList |
Comes with a lot of serialization wrappers around the related structs. |
YaParameterChanges |
IParameterChanges |
|
YaParamValueQueue |
IParamValueQueue |
|
VectorStream |
IBStream |
Used for serializing data streams. |
And finally YaProcessData uses the above along with YaAudioBusBuffers to
wrap around ProcessData.