Mercurial > hg > touchkeys
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