mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-17 14:10:02 +02:00
Fully implement IMidiLearn
This commit is contained in:
@@ -95,6 +95,7 @@ using ControlRequest =
|
|||||||
YaInfoListener::SetChannelContextInfos,
|
YaInfoListener::SetChannelContextInfos,
|
||||||
YaKeyswitchController::GetKeyswitchCount,
|
YaKeyswitchController::GetKeyswitchCount,
|
||||||
YaKeyswitchController::GetKeyswitchInfo,
|
YaKeyswitchController::GetKeyswitchInfo,
|
||||||
|
YaMidiLearn::OnLiveMIDIControllerInput,
|
||||||
YaMidiMapping::GetMidiControllerAssignment,
|
YaMidiMapping::GetMidiControllerAssignment,
|
||||||
YaNoteExpressionController::GetNoteExpressionCount,
|
YaNoteExpressionController::GetNoteExpressionCount,
|
||||||
YaNoteExpressionController::GetNoteExpressionInfo,
|
YaNoteExpressionController::GetNoteExpressionInfo,
|
||||||
|
|||||||
@@ -566,10 +566,11 @@ tresult PLUGIN_API Vst3PluginProxyImpl::onLiveMIDIControllerInput(
|
|||||||
int32 busIndex,
|
int32 busIndex,
|
||||||
int16 channel,
|
int16 channel,
|
||||||
Steinberg::Vst::CtrlNumber midiCC) {
|
Steinberg::Vst::CtrlNumber midiCC) {
|
||||||
// TODO: Implement
|
return bridge.send_message(
|
||||||
bridge.logger.log(
|
YaMidiLearn::OnLiveMIDIControllerInput{.instance_id = instance_id(),
|
||||||
"TODO: Implement IMidiLearn::onLiveMIDIControllerInput()");
|
.bus_index = busIndex,
|
||||||
return Steinberg::kNotImplemented;
|
.channel = channel,
|
||||||
|
.midi_cc = midiCC});
|
||||||
}
|
}
|
||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment(
|
tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment(
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
edit_controller_host_editing(object),
|
edit_controller_host_editing(object),
|
||||||
info_listener(object),
|
info_listener(object),
|
||||||
keyswitch_controller(object),
|
keyswitch_controller(object),
|
||||||
|
midi_learn(object),
|
||||||
midi_mapping(object),
|
midi_mapping(object),
|
||||||
note_expression_controller(object),
|
note_expression_controller(object),
|
||||||
note_expression_physical_ui_mapping(object),
|
note_expression_physical_ui_mapping(object),
|
||||||
@@ -465,6 +466,12 @@ void Vst3Bridge::run() {
|
|||||||
return YaKeyswitchController::GetKeyswitchInfoResponse{
|
return YaKeyswitchController::GetKeyswitchInfoResponse{
|
||||||
.result = result, .info = std::move(info)};
|
.result = result, .info = std::move(info)};
|
||||||
},
|
},
|
||||||
|
[&](const YaMidiLearn::OnLiveMIDIControllerInput& request)
|
||||||
|
-> YaMidiLearn::OnLiveMIDIControllerInput::Response {
|
||||||
|
return object_instances[request.instance_id]
|
||||||
|
.midi_learn->onLiveMIDIControllerInput(
|
||||||
|
request.bus_index, request.channel, request.midi_cc);
|
||||||
|
},
|
||||||
[&](const YaMidiMapping::GetMidiControllerAssignment& request)
|
[&](const YaMidiMapping::GetMidiControllerAssignment& request)
|
||||||
-> YaMidiMapping::GetMidiControllerAssignment::Response {
|
-> YaMidiMapping::GetMidiControllerAssignment::Response {
|
||||||
Steinberg::Vst::ParamID id;
|
Steinberg::Vst::ParamID id;
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ struct InstanceInterfaces {
|
|||||||
info_listener;
|
info_listener;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IKeyswitchController>
|
Steinberg::FUnknownPtr<Steinberg::Vst::IKeyswitchController>
|
||||||
keyswitch_controller;
|
keyswitch_controller;
|
||||||
|
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiLearn> midi_learn;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController>
|
Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController>
|
||||||
note_expression_controller;
|
note_expression_controller;
|
||||||
|
|||||||
Reference in New Issue
Block a user