mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Fully implement IAutomationState
This commit is contained in:
@@ -71,6 +71,7 @@ using ControlRequest =
|
|||||||
Vst3PluginProxy::SetState,
|
Vst3PluginProxy::SetState,
|
||||||
Vst3PluginProxy::GetState,
|
Vst3PluginProxy::GetState,
|
||||||
YaAudioPresentationLatency::SetAudioPresentationLatencySamples,
|
YaAudioPresentationLatency::SetAudioPresentationLatencySamples,
|
||||||
|
YaAutomationState::SetAutomationState,
|
||||||
YaConnectionPoint::Connect,
|
YaConnectionPoint::Connect,
|
||||||
YaConnectionPoint::Disconnect,
|
YaConnectionPoint::Disconnect,
|
||||||
YaConnectionPoint::Notify,
|
YaConnectionPoint::Notify,
|
||||||
|
|||||||
@@ -157,10 +157,8 @@ uint32 PLUGIN_API Vst3PluginProxyImpl::getTailSamples() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::setAutomationState(int32 state) {
|
tresult PLUGIN_API Vst3PluginProxyImpl::setAutomationState(int32 state) {
|
||||||
// TODO: Implement
|
return bridge.send_message(YaAutomationState::SetAutomationState{
|
||||||
bridge.logger.log(
|
.instance_id = instance_id(), .state = state});
|
||||||
"TODO: Implyement IAutomationState::setAutomationState()");
|
|
||||||
return Steinberg::kNotImplemented;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tresult PLUGIN_API
|
tresult PLUGIN_API
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
: object(object),
|
: object(object),
|
||||||
audio_presentation_latency(object),
|
audio_presentation_latency(object),
|
||||||
audio_processor(object),
|
audio_processor(object),
|
||||||
|
automation_state(object),
|
||||||
component(object),
|
component(object),
|
||||||
connection_point(object),
|
connection_point(object),
|
||||||
edit_controller(object),
|
edit_controller(object),
|
||||||
@@ -197,6 +198,11 @@ void Vst3Bridge::run() {
|
|||||||
request.dir, request.bus_index,
|
request.dir, request.bus_index,
|
||||||
request.latency_in_samples);
|
request.latency_in_samples);
|
||||||
},
|
},
|
||||||
|
[&](YaAutomationState::SetAutomationState& request)
|
||||||
|
-> YaAutomationState::SetAutomationState::Response {
|
||||||
|
return object_instances[request.instance_id]
|
||||||
|
.automation_state->setAutomationState(request.state);
|
||||||
|
},
|
||||||
[&](YaConnectionPoint::Connect& request)
|
[&](YaConnectionPoint::Connect& request)
|
||||||
-> YaConnectionPoint::Connect::Response {
|
-> YaConnectionPoint::Connect::Response {
|
||||||
// If the host directly connected the underlying objects then we
|
// If the host directly connected the underlying objects then we
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ struct InstanceInterfaces {
|
|||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioPresentationLatency>
|
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioPresentationLatency>
|
||||||
audio_presentation_latency;
|
audio_presentation_latency;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioProcessor> audio_processor;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IAudioProcessor> audio_processor;
|
||||||
|
Steinberg::FUnknownPtr<Steinberg::Vst::IAutomationState> automation_state;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IComponent> component;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IComponent> component;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint> connection_point;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint> connection_point;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController> edit_controller;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController> edit_controller;
|
||||||
|
|||||||
Reference in New Issue
Block a user