mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-15 16:03:55 +02:00
Partially implement IConnectionPoint::connect()
This now works for direct connections, which is probably how most hosts will use this.
This commit is contained in:
@@ -32,6 +32,7 @@ InstanceInterfaces::InstanceInterfaces(
|
||||
: object(object),
|
||||
audio_processor(object),
|
||||
component(object),
|
||||
connection_point(object),
|
||||
edit_controller(object),
|
||||
plugin_base(object) {}
|
||||
|
||||
@@ -250,6 +251,16 @@ void Vst3Bridge::run() {
|
||||
return object_instances[request.instance_id]
|
||||
.component->setActive(request.state);
|
||||
},
|
||||
[&](const YaConnectionPoint::Connect& request)
|
||||
-> YaConnectionPoint::Connect::Response {
|
||||
// We can directly connect the underlying objects
|
||||
// TODO: Add support for connecting objects through a proxy
|
||||
// object provided by the host
|
||||
return object_instances[request.instance_id]
|
||||
.connection_point->connect(
|
||||
object_instances[request.other_instance_id]
|
||||
.connection_point);
|
||||
},
|
||||
[&](YaEditController2::SetComponentState& request)
|
||||
-> YaEditController2::SetComponentState::Response {
|
||||
return object_instances[request.instance_id]
|
||||
|
||||
@@ -54,6 +54,7 @@ struct InstanceInterfaces {
|
||||
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioProcessor> audio_processor;
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IComponent> component;
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint> connection_point;
|
||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController> edit_controller;
|
||||
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user