diff options
Diffstat (limited to 'src/drumkitparser.cc')
-rw-r--r-- | src/drumkitparser.cc | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/drumkitparser.cc b/src/drumkitparser.cc index 1b7ecaf..2af022a 100644 --- a/src/drumkitparser.cc +++ b/src/drumkitparser.cc @@ -36,6 +36,10 @@ DrumKitParser::DrumKitParser(const std::string &kitfile, DrumKit &k) : kit(k) { + in_metadata = false; + in_channel = false; + in_instrument = false; + // instr = NULL; path = getPath(kitfile); @@ -54,15 +58,17 @@ DrumKitParser::~DrumKitParser() } void DrumKitParser::startTag(std::string name, - std::map<std::string, std::string> attr) + std::map<std::string, std::string> attr, + std::string &data) { if(name == "drumkit") { + /* if(attr.find("name") != attr.end()) kit._name = attr["name"]; if(attr.find("description") != attr.end()) kit._description = attr["description"]; - + */ if(attr.find("version") != attr.end()) { try { kit._version = VersionStr(attr["version"]); @@ -76,6 +82,19 @@ void DrumKitParser::startTag(std::string name, } } + if(name == "metadata") { + in_metadata = true; + } + + if(in_metadata) { + if(name == "name") { + if(data != "") { + kit._name = data; + printf("TEST!\n"); + } + } + } + if(name == "channels") {} if(name == "channel") { |