diff options
author | Nils Brederlow <62596379+dingodoppelt@users.noreply.github.com> | 2022-02-03 20:57:53 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2022-02-03 20:57:53 +0100 |
commit | 76d649620c321d94cf8fcbe8ee5f006ffd191b14 (patch) | |
tree | fbff2cbb76b620845eaf5b192ef928b0f95e0897 /src/midimapper.cc | |
parent | 235ad6fbbce2e0ae9e06db960a5ba3b099936ace (diff) |
Add feature CC to note to midimap
Diffstat (limited to 'src/midimapper.cc')
-rw-r--r-- | src/midimapper.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/midimapper.cc b/src/midimapper.cc index b9316c5..b8dafc0 100644 --- a/src/midimapper.cc +++ b/src/midimapper.cc @@ -47,12 +47,30 @@ std::vector<int> MidiMapper::lookup(int note_id) return instruments; } -void MidiMapper::swap(instrmap_t& instrmap, midimap_t& midimap) +std::vector<int> MidiMapper::lookupCC(int cc_id) +{ + std::vector<int> notes; + + std::lock_guard<std::mutex> guard(mutex); + + for(const auto& map_entry : ccmap) + { + if(map_entry.cc_id == cc_id) + { + notes.push_back(map_entry.note_id); + } + } + + return notes; +} + +void MidiMapper::swap(instrmap_t& instrmap, midimap_t& midimap, ccmap_t& ccmap) { std::lock_guard<std::mutex> guard(mutex); std::swap(this->instrmap, instrmap); std::swap(this->midimap, midimap); + std::swap(this->ccmap, ccmap); } const midimap_t& MidiMapper::getMap() |