Mention destructors in VST3 implementation docs

This commit is contained in:
Robbert van der Helm
2020-12-12 16:15:35 +01:00
parent 68084bc555
commit 1088483f15
+6 -1
View File
@@ -53,6 +53,11 @@ instantiated and managed by the host. The model works as follows:
would be on the side of the native plugin) should then provide a `YaFoo{Plugin,Host}Impl` would be on the side of the native plugin) should then provide a `YaFoo{Plugin,Host}Impl`
that implements those functions through yabridge's `Vst3MessageHandler` that implements those functions through yabridge's `Vst3MessageHandler`
callback interface. callback interface.
7. If the `IFoo` has side effects and thus needs a corresonding 'real' isntance
on the other side to communicate to, then `YaFoo{Plugin,Host}Impl` should
implement a destructor that destroys the 'real' object when `YaFoo` proxy
gets destroyed. See [interface instantiation](#interface-instantiation) for
more information.
## Interface Instantiation ## Interface Instantiation
@@ -65,7 +70,7 @@ follows:
the interface, we'll log a message about it and return that we do not support the interface, we'll log a message about it and return that we do not support
the itnerface. the itnerface.
3. If we determine that `_iid` matches `IFoo`, then we'll send a 3. If we determine that `_iid` matches `IFoo`, then we'll send a
`YaFoo::Create{cid}` to the Wine plugin host process. `YaFoo::Construct{cid}` to the Wine plugin host process.
4. The Wine plugin host will then call 4. The Wine plugin host will then call
`module->getFactory().createInstance<IFoo>(cid)` using the Windows VST3 `module->getFactory().createInstance<IFoo>(cid)` using the Windows VST3
plugin's plugin factory to ask it to create an instance of that interface. If plugin's plugin factory to ask it to create an instance of that interface. If