mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Fully implement IMidiMapping
This commit is contained in:
@@ -85,6 +85,7 @@ using ControlRequest =
|
|||||||
YaEditController2::SetKnobMode,
|
YaEditController2::SetKnobMode,
|
||||||
YaEditController2::OpenHelp,
|
YaEditController2::OpenHelp,
|
||||||
YaEditController2::OpenAboutBox,
|
YaEditController2::OpenAboutBox,
|
||||||
|
YaMidiMapping::GetMidiControllerAssignment,
|
||||||
YaNoteExpressionController::GetNoteExpressionCount,
|
YaNoteExpressionController::GetNoteExpressionCount,
|
||||||
YaNoteExpressionController::GetNoteExpressionInfo,
|
YaNoteExpressionController::GetNoteExpressionInfo,
|
||||||
YaNoteExpressionController::GetNoteExpressionStringByValue,
|
YaNoteExpressionController::GetNoteExpressionStringByValue,
|
||||||
|
|||||||
@@ -418,9 +418,16 @@ tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment(
|
|||||||
int16 channel,
|
int16 channel,
|
||||||
Steinberg::Vst::CtrlNumber midiControllerNumber,
|
Steinberg::Vst::CtrlNumber midiControllerNumber,
|
||||||
Steinberg::Vst::ParamID& id /*out*/) {
|
Steinberg::Vst::ParamID& id /*out*/) {
|
||||||
// TODO: Implement
|
const GetMidiControllerAssignmentResponse response =
|
||||||
bridge.logger.log("TODO: IMidiMapping::getMidiControllerAssignment()");
|
bridge.send_message(YaMidiMapping::GetMidiControllerAssignment{
|
||||||
return Steinberg::kNotImplemented;
|
.instance_id = instance_id(),
|
||||||
|
.bus_index = busIndex,
|
||||||
|
.channel = channel,
|
||||||
|
.midi_controller_number = midiControllerNumber});
|
||||||
|
|
||||||
|
id = response.id;
|
||||||
|
|
||||||
|
return response.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionCount(int32 busIndex,
|
int32 PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionCount(int32 busIndex,
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
connection_point(object),
|
connection_point(object),
|
||||||
edit_controller(object),
|
edit_controller(object),
|
||||||
edit_controller_2(object),
|
edit_controller_2(object),
|
||||||
|
midi_mapping(object),
|
||||||
note_expression_controller(object),
|
note_expression_controller(object),
|
||||||
plugin_base(object),
|
plugin_base(object),
|
||||||
unit_data(object),
|
unit_data(object),
|
||||||
@@ -370,6 +371,18 @@ void Vst3Bridge::run() {
|
|||||||
return object_instances[request.instance_id]
|
return object_instances[request.instance_id]
|
||||||
.edit_controller_2->openAboutBox(request.only_check);
|
.edit_controller_2->openAboutBox(request.only_check);
|
||||||
},
|
},
|
||||||
|
[&](const YaMidiMapping::GetMidiControllerAssignment& request)
|
||||||
|
-> YaMidiMapping::GetMidiControllerAssignment::Response {
|
||||||
|
Steinberg::Vst::ParamID id;
|
||||||
|
const tresult result =
|
||||||
|
object_instances[request.instance_id]
|
||||||
|
.midi_mapping->getMidiControllerAssignment(
|
||||||
|
request.bus_index, request.channel,
|
||||||
|
request.midi_controller_number, id);
|
||||||
|
|
||||||
|
return YaMidiMapping::GetMidiControllerAssignmentResponse{
|
||||||
|
.result = result, .id = id};
|
||||||
|
},
|
||||||
[&](const YaNoteExpressionController::GetNoteExpressionCount&
|
[&](const YaNoteExpressionController::GetNoteExpressionCount&
|
||||||
request)
|
request)
|
||||||
-> YaNoteExpressionController::GetNoteExpressionCount::
|
-> YaNoteExpressionController::GetNoteExpressionCount::
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ struct InstanceInterfaces {
|
|||||||
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;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2;
|
||||||
|
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController>
|
Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController>
|
||||||
note_expression_controller;
|
note_expression_controller;
|
||||||
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
||||||
|
|||||||
Reference in New Issue
Block a user