From 884cb355230d293233e599bdfebae7f67684a48e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 31 Mar 2016 20:28:48 +0200 Subject: plugin-pin-map: * fix MIDI-bypass * prepare combined channel-map report (for GUI) * fix route failed config return --- libs/ardour/chan_mapping.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'libs/ardour/chan_mapping.cc') diff --git a/libs/ardour/chan_mapping.cc b/libs/ardour/chan_mapping.cc index 0ca79af505..6386c2863b 100644 --- a/libs/ardour/chan_mapping.cc +++ b/libs/ardour/chan_mapping.cc @@ -67,6 +67,26 @@ ChanMapping::get(DataType t, uint32_t from, bool* valid) const return m->second; } +uint32_t +ChanMapping::get_src(DataType t, uint32_t to, bool* valid) const +{ + Mappings::const_iterator tm = _mappings.find(t); + if (tm == _mappings.end()) { + if (valid) { *valid = false; } + return -1; + } + for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) { + if (i->second == to) { + if (valid) { *valid = true; } + return i->first; + } + } + if (valid) { *valid = false; } + return -1; +} + + + void ChanMapping::set(DataType t, uint32_t from, uint32_t to) { -- cgit v1.2.3