From f43935b5c873676a632b23cbfcef45a4431b233d Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 8 Aug 2021 10:34:54 +0200 Subject: Add support for a single midi note that plays multiple instruments. --- plugin/drumgizmo_plugin.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'plugin') diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc index 82c0ee9..7960763 100644 --- a/plugin/drumgizmo_plugin.cc +++ b/plugin/drumgizmo_plugin.cc @@ -410,7 +410,18 @@ bool DrumGizmoPlugin::Input::loadMidiMap(const std::string& file, bool result = AudioInputEngineMidi::loadMidiMap(file, i); std::vector> midnam; - const auto& map = mmap.getMap(); + const auto& midimap = mmap.getMap(); + std::map map; + for(const auto& entry : midimap) + { + // in case of multiple instruments mapped to one note, use '/' as separator + if(!map[entry.note_id].empty()) + { + map[entry.note_id] += "/"; + } + map[entry.note_id] += entry.instrument_name; + } + midnam.reserve(map.size()); for(const auto& m : map) { -- cgit v1.2.3