Split IPluginBase from IComponent

We're also going to need this for `IEditController`. Separating all of
these classes will also keep everything much more maintainable with all
of these associated structs.
This commit is contained in:
Robbert van der Helm
2020-12-16 23:46:47 +01:00
parent 97570a47ba
commit 6809e73d6b
14 changed files with 257 additions and 150 deletions
+6 -5
View File
@@ -7,11 +7,12 @@ serialization works.
VST3 interfaces are implemented as follows:
| Yabridge class | Interfaces | Notes |
| ------------------- | ------------------------------------------------------ | ---------------------------------------------------------- |
| `YaComponent` | `IComponent`, `IPluginBase`, `IAudioProcessor` | |
| `YaHostApplication` | `iHostAPplication` | Used as a 'context' to allow the plugin to maek callbacks. |
| `YaPluginFactory` | `IPluginFactory`, `IPluginFactory2`, `IPluginFactory3` | |
| Yabridge class | Included in | Interfaces |
| ------------------- | ------------- | ------------------------------------------------------ |
| `YaComponent` | | `IComponent`, `IAudioProcessor` |
| `YaHostApplication` | | `iHostAPplication` |
| `YaPluginBase` | `YaComponent` | `IPluginBase` |
| `YaPluginFactory` | | `IPluginFactory`, `IPluginFactory2`, `IPluginFactory3` |
The following interfaces are implemented purely fur serialization purposes: