mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-15 04:50:43 +02:00
Implement IConnectionPoint::disconnect
This commit is contained in:
@@ -76,6 +76,7 @@ using ControlRequest = std::variant<Vst3PluginProxy::Construct,
|
||||
YaComponent::ActivateBus,
|
||||
YaComponent::SetActive,
|
||||
YaConnectionPoint::Connect,
|
||||
YaConnectionPoint::Disconnect,
|
||||
YaEditController2::SetComponentState,
|
||||
YaEditController2::GetParameterCount,
|
||||
YaEditController2::GetParameterInfo,
|
||||
|
||||
@@ -23,7 +23,7 @@ VST3 host interfaces are implemented as follows:
|
||||
| ------------------- | ------------------ |
|
||||
| `YaHostApplication` | `IHostApplication` |
|
||||
|
||||
The following (host) interfaces are also implemented fur serialization purposes:
|
||||
The following (host) interfaces are also implemented for serialization purposes:
|
||||
|
||||
| yabridge class | Interfaces | Notes |
|
||||
| -------------------- | ------------------- | ---------------------------------------------------------------------- |
|
||||
|
||||
@@ -70,6 +70,8 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
* `IConnectionPoint::connect(other_instance_id)` to the Wine plugin host.
|
||||
* At the moment this is only implemented for directly connecting objects
|
||||
* created by the plugin without any proxies in between them.
|
||||
*/
|
||||
struct Connect {
|
||||
using Response = UniversalTResult;
|
||||
@@ -91,6 +93,31 @@ class YaConnectionPoint : public Steinberg::Vst::IConnectionPoint {
|
||||
};
|
||||
|
||||
virtual tresult PLUGIN_API connect(IConnectionPoint* other) override = 0;
|
||||
|
||||
/**
|
||||
* Message to pass through a call to
|
||||
* `IConnectionPoint::disconnect(other_instance_id)` to the Wine plugin
|
||||
* host. At the moment this is only implemented for directly connecting
|
||||
* objects created by the plugin without any proxies in between them.
|
||||
*/
|
||||
struct Disconnect {
|
||||
using Response = UniversalTResult;
|
||||
|
||||
native_size_t instance_id;
|
||||
|
||||
/**
|
||||
* The other object backed by a `Vst3PluginProxy` this object was
|
||||
* connected to and should be disconnected from. When connecting.
|
||||
*/
|
||||
native_size_t other_instance_id;
|
||||
|
||||
template <typename S>
|
||||
void serialize(S& s) {
|
||||
s.value8b(instance_id);
|
||||
s.value8b(other_instance_id);
|
||||
}
|
||||
};
|
||||
|
||||
virtual tresult PLUGIN_API disconnect(IConnectionPoint* other) override = 0;
|
||||
virtual tresult PLUGIN_API
|
||||
notify(Steinberg::Vst::IMessage* message) override = 0;
|
||||
|
||||
Reference in New Issue
Block a user