Rename YaHostApplication implementation

The context should make it obvious where it's implemented, and with the
current design we only an implementation on one of the two sides.
This commit is contained in:
Robbert van der Helm
2020-12-18 20:43:43 +01:00
parent d2585a3550
commit d99f880277
7 changed files with 41 additions and 31 deletions
+11 -6
View File
@@ -5,22 +5,27 @@ TODO: After merging into master, update this link to just point to GitHub
See [docs/vst3.md](../../../../docs/vst3.md) for more information on how the
serialization works.
VST3 interfaces are implemented as follows:
VST3 plugin interfaces are implemented as follows:
| Yabridge class | Included in | Interfaces |
| yabridge class | Included in | Interfaces |
| ------------------- | ----------------- | ------------------------------------------------------ |
| `YaPluginFactory` | | `IPluginFactory`, `IPluginFactory2`, `IPluginFactory3` |
| `Vst3PluginProxy` | | All of the below: |
| `YaAudioProcessor` | `Vst3PluginProxy` | `IAudioProcessor` |
| `YaComponent` | `Vst3PluginProxy` | `IComponent` |
| `YaConnectionPoint` | `Vst3PluginProxy` | `IConnectionPoint` |
| `YaEditController` | `Vst3PluginProxy` | `IEditController`, `IEditController2` |
| `YaPluginBase` | `Vst3PluginProxy` | `IPluginBase` |
| `YaHostApplication` | | `iHostAPplication` |
| `YaPluginFactory` | | `IPluginFactory`, `IPluginFactory2`, `IPluginFactory3` |
The following interfaces are implemented purely fur serialization purposes:
VST3 host interfaces are implemented as follows:
| Yabridge class | Interfaces | Notes |
| yabridge class | Interfaces |
| ------------------- | ------------------ |
| `YaHostApplication` | `IHostApplication` |
The following (host) interfaces are also implemented fur serialization purposes:
| yabridge class | Interfaces | Notes |
| -------------------- | ------------------- | ---------------------------------------------------------------------- |
| `YaEventList` | `IEventList` | Comes with a lot of serialization wrappers around the related structs. |
| `YaParameterChanges` | `IParameterChanges` | |
@@ -95,9 +95,9 @@ class YaHostApplication : public Steinberg::Vst::IHostApplication {
/**
* The lifetime of this object should be bound to the object we created it
* for. When for instance the `IComponent` instance with id `x` gets dropped
* and we also track a `YaHostApplicationHostImpl` for the component with
* instance id `x`, then that should also be dropped.
* for. When for instance the `Vst3PluginProxy` instance with id `n` gets
* dropped and we also track a `YaHostApplicationImpl` for the component
* with instance id `n`, then that should also be dropped.
*/
virtual ~YaHostApplication();