summaryrefslogtreecommitdiff
path: root/src/midimapparser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/midimapparser.cc')
-rw-r--r--src/midimapparser.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/midimapparser.cc b/src/midimapparser.cc
index 363e1d5..1e41244 100644
--- a/src/midimapparser.cc
+++ b/src/midimapparser.cc
@@ -54,5 +54,19 @@ bool MidiMapParser::parseFile(const std::string& filename)
midimap.push_back(entry);
}
+ for(pugi::xml_node ccmap_node : midimap_node.children("CCmap"))
+ {
+ constexpr int bad_value = 10000;
+ auto cc = ccmap_node.attribute("cc").as_int(bad_value);
+ auto note = ccmap_node.attribute("note").as_int(bad_value);
+ if(cc == bad_value || note == bad_value)
+ {
+ continue;
+ }
+
+ MidiCCmapEntry entry{cc, note};
+ ccmap.push_back(entry);
+ }
+
return true;
}