mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Fully implement IInfoListener
This commit is contained in:
@@ -92,6 +92,7 @@ using ControlRequest =
|
|||||||
YaEditController2::OpenAboutBox,
|
YaEditController2::OpenAboutBox,
|
||||||
YaEditControllerHostEditing::BeginEditFromHost,
|
YaEditControllerHostEditing::BeginEditFromHost,
|
||||||
YaEditControllerHostEditing::EndEditFromHost,
|
YaEditControllerHostEditing::EndEditFromHost,
|
||||||
|
YaInfoListener::SetChannelContextInfos,
|
||||||
YaKeyswitchController::GetKeyswitchCount,
|
YaKeyswitchController::GetKeyswitchCount,
|
||||||
YaKeyswitchController::GetKeyswitchInfo,
|
YaKeyswitchController::GetKeyswitchInfo,
|
||||||
YaMidiMapping::GetMidiControllerAssignment,
|
YaMidiMapping::GetMidiControllerAssignment,
|
||||||
|
|||||||
@@ -524,10 +524,16 @@ Vst3PluginProxyImpl::endEditFromHost(Steinberg::Vst::ParamID paramID) {
|
|||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::setChannelContextInfos(
|
tresult PLUGIN_API Vst3PluginProxyImpl::setChannelContextInfos(
|
||||||
Steinberg::Vst::IAttributeList* list) {
|
Steinberg::Vst::IAttributeList* list) {
|
||||||
// TODO: Implement
|
if (list) {
|
||||||
bridge.logger.log(
|
return bridge.send_message(YaInfoListener::SetChannelContextInfos{
|
||||||
"TODO: Implement IInfoListener::setChannelContextInfos()");
|
.instance_id = instance_id(),
|
||||||
return Steinberg::kNotImplemented;
|
.list = YaAttributeList::read_channel_context(list)});
|
||||||
|
} else {
|
||||||
|
bridge.logger.log(
|
||||||
|
"WARNING: Null pointer passed to "
|
||||||
|
"'IInfoListener::setChannelContextInfos()'");
|
||||||
|
return Steinberg::kInvalidArgument;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 PLUGIN_API Vst3PluginProxyImpl::getKeyswitchCount(int32 busIndex,
|
int32 PLUGIN_API Vst3PluginProxyImpl::getKeyswitchCount(int32 busIndex,
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
edit_controller(object),
|
edit_controller(object),
|
||||||
edit_controller_2(object),
|
edit_controller_2(object),
|
||||||
edit_controller_host_editing(object),
|
edit_controller_host_editing(object),
|
||||||
|
info_listener(object),
|
||||||
keyswitch_controller(object),
|
keyswitch_controller(object),
|
||||||
midi_mapping(object),
|
midi_mapping(object),
|
||||||
note_expression_controller(object),
|
note_expression_controller(object),
|
||||||
@@ -430,6 +431,11 @@ void Vst3Bridge::run() {
|
|||||||
.edit_controller_host_editing->endEditFromHost(
|
.edit_controller_host_editing->endEditFromHost(
|
||||||
request.param_id);
|
request.param_id);
|
||||||
},
|
},
|
||||||
|
[&](YaInfoListener::SetChannelContextInfos& request)
|
||||||
|
-> YaInfoListener::SetChannelContextInfos::Response {
|
||||||
|
return object_instances[request.instance_id]
|
||||||
|
.info_listener->setChannelContextInfos(&request.list);
|
||||||
|
},
|
||||||
[&](const YaKeyswitchController::GetKeyswitchCount& request)
|
[&](const YaKeyswitchController::GetKeyswitchCount& request)
|
||||||
-> YaKeyswitchController::GetKeyswitchCount::Response {
|
-> YaKeyswitchController::GetKeyswitchCount::Response {
|
||||||
return object_instances[request.instance_id]
|
return object_instances[request.instance_id]
|
||||||
|
|||||||
@@ -155,6 +155,8 @@ struct InstanceInterfaces {
|
|||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditControllerHostEditing>
|
Steinberg::FUnknownPtr<Steinberg::Vst::IEditControllerHostEditing>
|
||||||
edit_controller_host_editing;
|
edit_controller_host_editing;
|
||||||
|
Steinberg::FUnknownPtr<Steinberg::Vst::ChannelContext::IInfoListener>
|
||||||
|
info_listener;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IKeyswitchController>
|
Steinberg::FUnknownPtr<Steinberg::Vst::IKeyswitchController>
|
||||||
keyswitch_controller;
|
keyswitch_controller;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
|
||||||
|
|||||||
Reference in New Issue
Block a user