diff options
Diffstat (limited to 'muse2/muse/widgets/quantize.cpp')
-rw-r--r-- | muse2/muse/widgets/quantize.cpp | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/muse2/muse/widgets/quantize.cpp b/muse2/muse/widgets/quantize.cpp index 734f3d5d..111087c2 100644 --- a/muse2/muse/widgets/quantize.cpp +++ b/muse2/muse/widgets/quantize.cpp @@ -7,7 +7,7 @@ #include <QButtonGroup> #include "quantize.h" - +#include "xml.h" Quantize::Quantize(QWidget* parent) : QDialog(parent) @@ -52,3 +52,52 @@ int Quantize::exec() return QDialog::exec(); } +void Quantize::read_configuration(Xml& xml) +{ + for (;;) + { + Xml::Token token = xml.parse(); + if (token == Xml::Error || token == Xml::End) + break; + + const QString& tag = xml.s1(); + switch (token) + { + case Xml::TagStart: + if (tag == "range") + range=xml.parseInt(); + else if (tag == "strength") + strength=xml.parseInt(); + else if (tag == "threshold") + threshold=xml.parseInt(); + else if (tag == "raster") + raster_power2=xml.parseInt(); + else if (tag == "swing") + swing=xml.parseInt(); + else if (tag == "quant_len") + quant_len=xml.parseInt(); + else + xml.unknown("Quantize"); + break; + + case Xml::TagEnd: + if (tag == "quantize") + return; + + default: + break; + } + } +} + +void Quantize::write_configuration(int level, Xml& xml) +{ + xml.tag(level++, "quantize"); + xml.intTag(level, "range", range); + xml.intTag(level, "strength", strength); + xml.intTag(level, "threshold", threshold); + xml.intTag(level, "raster", raster_power2); + xml.intTag(level, "swing", swing); + xml.intTag(level, "quant_len", quant_len); + xml.tag(level, "/quantize"); +} |