diff options
-rw-r--r-- | muse/ChangeLog | 3 | ||||
-rw-r--r-- | muse/muse/midievent.cpp | 21 |
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"); } } |