summaryrefslogtreecommitdiff
path: root/src/midimapper.h
diff options
context:
space:
mode:
authorVolker Fischer <corrados@users.noreply.github.com>2023-10-02 16:12:18 +0200
committerVolker Fischer <corrados@users.noreply.github.com>2023-10-02 16:12:18 +0200
commit644742033b73eb19485b47277fb1a33343e8b356 (patch)
tree8bca1202a86428a42445cba8a31ccd7a28e11a19 /src/midimapper.h
parente559a014f9cc6205bc15b6f09729751b9b14386f (diff)
introduce controlthresh in MIDI mapping XML to support playing different hi-hat sounds depending on the MIDI controller 4 input
Diffstat (limited to 'src/midimapper.h')
-rw-r--r--src/midimapper.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/midimapper.h b/src/midimapper.h
index 4673e33..659d9c8 100644
--- a/src/midimapper.h
+++ b/src/midimapper.h
@@ -31,23 +31,27 @@
#include <mutex>
typedef std::map<int, std::string> midimap_t;
+typedef std::multimap<int, std::string> midimultimap_t;
typedef std::map<std::string, int> instrmap_t;
+typedef std::map<int, std::map<std::string, int> > controlthreshmap_t;
class MidiMapper
{
public:
//! Lookup note in map and return its index.
//! \returns -1 if not found or the note index.
- int lookup(int note);
+ int lookup(int note, int controller = -1);
//! Set new map sets.
- void swap(instrmap_t& instrmap, midimap_t& midimap);
+ void swap(instrmap_t& instrmap, midimap_t& midimap, midimultimap_t& midimultimap, controlthreshmap_t& controlthreshmap);
const midimap_t& getMap();
private:
instrmap_t instrmap;
midimap_t midimap;
+ midimultimap_t midimultimap;
+ controlthreshmap_t controlthreshmap;
std::mutex mutex;
};