diff Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp @ 36:0deac2806a7b

Preset support for the rest of the mappings.
author Andrew McPherson <andrewm@eecs.qmul.ac.uk>
date Fri, 21 Mar 2014 12:53:50 +0000
parents 353276611036
children 73576f49ad1c
line wrap: on
line diff
--- a/Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp	Fri Mar 21 00:23:32 2014 +0000
+++ b/Source/Mappings/KeyDivision/TouchkeyKeyDivisionMappingFactory.cpp	Fri Mar 21 12:53:50 2014 +0000
@@ -131,6 +131,38 @@
     setBendParameters();
 }
 
+
+// ****** Preset Save/Load ******
+XmlElement* TouchkeyKeyDivisionMappingFactory::getPreset() {
+    PropertySet properties;
+    
+    storeCommonProperties(properties);
+    
+    // No properties for now
+    
+    XmlElement* preset = properties.createXml("MappingFactory");
+    preset->setAttribute("type", "KeyDivision");
+    
+    return preset;
+}
+
+bool TouchkeyKeyDivisionMappingFactory::loadPreset(XmlElement const* preset) {
+    if(preset == 0)
+        return false;
+    
+    PropertySet properties;
+    properties.restoreFromXml(*preset);
+    
+    if(!loadCommonProperties(properties))
+        return false;
+
+    // Nothing specific to do for now
+    
+    return true;
+}
+
+// ***** Private Methods *****
+
 // Set the initial parameters for a new mapping
 void TouchkeyKeyDivisionMappingFactory::initializeMappingParameters(int noteNumber, TouchkeyKeyDivisionMapping *mapping) {
     // KLUDGE: testing Maqam tunings. Go from absolute tunings in cents to pitch bends in semitones