summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muse/ChangeLog3
-rw-r--r--muse/muse/midievent.cpp21
2 files changed, 18 insertions, 6 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog
index 797c8715..19d353f0 100644
--- a/muse/ChangeLog
+++ b/muse/ChangeLog
@@ -1,4 +1,7 @@
06.02.2010
+ * Fixed: BUG ID: 2879426: *.med does not save meta event types. (T356)
+ - Changed midievent.cpp MidiEventBase::write(). Now saves value A, B, C and sysex/meta data. Tested OK.
+06.02.2010
* Fixed: Midi meters now show for each track even if they're all on same device and channel. (T356)
- Oversight, long overdue. The meters AND automation control needed to be 'per-track'.
06.01.2010
diff --git a/muse/muse/midievent.cpp b/muse/muse/midievent.cpp
index ac475a27..8f2b0756 100644
--- a/muse/muse/midievent.cpp
+++ b/muse/muse/midievent.cpp
@@ -85,6 +85,15 @@ void MidiEventBase::write(int level, Xml& xml, const Pos& offset, bool /*forcePa
xml.nput(" type=\"%d\"", type());
break;
}
+
+ // Changed by T356. BUG: *.med does not save meta event types - ID: 2879426
+ if (a)
+ xml.nput(" a=\"%d\"", a);
+ if (b)
+ xml.nput(" b=\"%d\"", b);
+ if (c)
+ xml.nput(" c=\"%d\"", c);
+
if (edata.dataLen) {
xml.nput(" datalen=\"%d\">\n", edata.dataLen);
xml.nput(level, "");
@@ -94,12 +103,12 @@ void MidiEventBase::write(int level, Xml& xml, const Pos& offset, bool /*forcePa
xml.tag(level, "/event");
}
else {
- if (a)
- xml.nput(" a=\"%d\"", a);
- if (b)
- xml.nput(" b=\"%d\"", b);
- if (c)
- xml.nput(" c=\"%d\"", c);
+ //if (a)
+ // xml.nput(" a=\"%d\"", a);
+ //if (b)
+ // xml.nput(" b=\"%d\"", b);
+ //if (c)
+ // xml.nput(" c=\"%d\"", c);
xml.nput(" />\n");
}
}