From b45ce65ca39817a0678f2172410b71433f79f736 Mon Sep 17 00:00:00 2001 From: "Tim E. Real" Date: Sun, 28 Oct 2012 01:34:16 +0000 Subject: Improved: Eliminated copious unrequired "controller" sections from songs and templates. Eliminated ALL "controller" and "midiport" sections from built-in templates. For template "synth.med", changed synth ports to 198 and 199. Improved: Templates, use your chosen default output port/channel from the midi ports setup dialog. --- muse2/ChangeLog | 11 + muse2/muse/conf.cpp | 17 +- muse2/muse/midictrl.cpp | 18 +- muse2/muse/midictrl.h | 9 +- muse2/muse/midiport.cpp | 32 +- muse2/muse/midiport.h | 2 + muse2/muse/track.cpp | 47 +- muse2/share/templates/audio.med | 611 ------------------- muse2/share/templates/default.med | 611 ------------------- muse2/share/templates/midiGM.med | 675 +-------------------- muse2/share/templates/monorecord.med | 1004 ------------------------------- muse2/share/templates/synti.med | 1098 ++-------------------------------- 12 files changed, 155 insertions(+), 3980 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index f8c4da81..6bdb943a 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,14 @@ +28.10.2012: + * Improved: Eliminated copious unrequired "controller" sections from songs and templates. (Tim) + These controllers such as volume, pan are already always added, so it's useless to store them when "Off". + Added midiport.cpp:defaultManagedMidiController, populated and used in init, also used when saving song + to look up these controllers and ignore them if "Off". + - Eliminated ALL "controller" sections from built-in templates, which were already over-populated. + - Also eliminated ALL "midiport" sections from buit-in templates, so that they don't touch existing setups. + - Also, specifically for the "synth.med", changed synth ports to 198 and 199 so that it is (almost) + guaranteed not to touch existing used ports with the synths. + * Improved: Also, wrote mechanism allowing track port/channel = -1 in templates, so that it uses your + chosen default output port/channel from the midi ports setup dialog. Try midiGM.med template for example. 27.10.2012: * Improved: Velocity graphs. Icon for showing per-note or all velocities. Also found in Settings. (Tim) * Improved: Piano KB has current selected note (yellow). For velocity/polyaftertouch/other per-note ctrls. (Tim) diff --git a/muse2/muse/conf.cpp b/muse2/muse/conf.cpp index 54a02265..ea2390c3 100644 --- a/muse2/muse/conf.cpp +++ b/muse2/muse/conf.cpp @@ -1167,18 +1167,31 @@ static void writeSeqConfiguration(int level, Xml& xml, bool writePortInfo) for (int k = 0; k < MIDI_CHANNELS; ++k) { int min = k << 24; int max = min + 0x100000; - xml.tag(level++, "channel idx=\"%d\"", k); + bool found = false; iMidiCtrlValList s = vll->lower_bound(min); iMidiCtrlValList e = vll->lower_bound(max); if (s != e) { for (iMidiCtrlValList i = s; i != e; ++i) { + int ctl = i->second->num(); + if(mport->drumController(ctl)) // Including internals like polyaftertouch + ctl |= 0xff; + // Don't bother saving these empty controllers since they are already always added! + if(defaultManagedMidiController.find(ctl) != defaultManagedMidiController.end() + && i->second->hwVal() == CTRL_VAL_UNKNOWN) + continue; + if(!found) + { + xml.tag(level++, "channel idx=\"%d\"", k); + found = true; + } xml.tag(level++, "controller id=\"%d\"", i->second->num()); if (i->second->hwVal() != CTRL_VAL_UNKNOWN) xml.intTag(level, "val", i->second->hwVal()); xml.etag(level--, "controller"); } } - xml.etag(level--, "channel"); + if(found) + xml.etag(level--, "channel"); } xml.etag(level--, "midiport"); } diff --git a/muse2/muse/midictrl.cpp b/muse2/muse/midictrl.cpp index b87ea8d1..56b1b2a8 100644 --- a/muse2/muse/midictrl.cpp +++ b/muse2/muse/midictrl.cpp @@ -81,12 +81,15 @@ MidiControllerList defaultMidiController; // // some global controller which are always available: // -MidiController veloCtrl("Velocity", CTRL_VELOCITY, 0, 127, 0); -static MidiController pitchCtrl("PitchBend", CTRL_PITCH, -8192, +8191, 0); -static MidiController programCtrl("Program", CTRL_PROGRAM, 0, 0xffffff, 0); -static MidiController mastervolCtrl("MasterVolume", CTRL_MASTER_VOLUME, 0, 0x3fff, 0x3000); -static MidiController volumeCtrl("MainVolume", CTRL_VOLUME, 0, 127, 100); -static MidiController panCtrl("Pan", CTRL_PANPOT, -64, 63, 0); +MidiController veloCtrl("Velocity", CTRL_VELOCITY, 0, 127, 0); +MidiController pitchCtrl("PitchBend", CTRL_PITCH, -8192, +8191, 0); +MidiController programCtrl("Program", CTRL_PROGRAM, 0, 0xffffff, 0); +MidiController mastervolCtrl("MasterVolume", CTRL_MASTER_VOLUME, 0, 0x3fff, 0x3000); +MidiController volumeCtrl("MainVolume", CTRL_VOLUME, 0, 127, 100); +MidiController panCtrl("Pan", CTRL_PANPOT, -64, 63, 0); +MidiController reverbSendCtrl("ReverbSend", CTRL_REVERB_SEND, 0, 127, 0); +MidiController chorusSendCtrl("ChorusSend", CTRL_CHORUS_SEND, 0, 127, 0); +MidiController variationSendCtrl("VariationSend", CTRL_VARIATION_SEND, 0, 127, 0); //--------------------------------------------------------- // ctrlType2Int @@ -151,6 +154,9 @@ void initMidiController() defaultMidiController.add(&mastervolCtrl); defaultMidiController.add(&volumeCtrl); defaultMidiController.add(&panCtrl); + defaultMidiController.add(&reverbSendCtrl); + defaultMidiController.add(&chorusSendCtrl); + defaultMidiController.add(&variationSendCtrl); } //--------------------------------------------------------- diff --git a/muse2/muse/midictrl.h b/muse2/muse/midictrl.h index 5ff3f129..d4cd1079 100644 --- a/muse2/muse/midictrl.h +++ b/muse2/muse/midictrl.h @@ -256,7 +256,14 @@ extern MidiController::ControllerType ctrlType2Int(const QString& s); extern QString midiCtrlName(int ctrl, bool fullyQualified = false); extern QString midiCtrlNumString(int ctrl, bool fullyQualified = false); extern MidiController veloCtrl; - +extern MidiController pitchCtrl; +extern MidiController programCtrl; +extern MidiController mastervolCtrl; +extern MidiController volumeCtrl; +extern MidiController panCtrl; +extern MidiController reverbSendCtrl; +extern MidiController chorusSendCtrl; +extern MidiController variationSendCtrl; typedef std::map > MidiCtl2LadspaPortMap; typedef MidiCtl2LadspaPortMap::iterator iMidiCtl2LadspaPort; diff --git a/muse2/muse/midiport.cpp b/muse2/muse/midiport.cpp index 4365d698..f7a3d5e3 100644 --- a/muse2/muse/midiport.cpp +++ b/muse2/muse/midiport.cpp @@ -50,14 +50,32 @@ MusECore::MidiPort midiPorts[MIDI_PORTS]; namespace MusECore { + +MidiControllerList defaultManagedMidiController; + //--------------------------------------------------------- // initMidiPorts //--------------------------------------------------------- void initMidiPorts() { + defaultManagedMidiController.add(&pitchCtrl); + defaultManagedMidiController.add(&programCtrl); + defaultManagedMidiController.add(&volumeCtrl); + defaultManagedMidiController.add(&panCtrl); + defaultManagedMidiController.add(&reverbSendCtrl); + defaultManagedMidiController.add(&chorusSendCtrl); + defaultManagedMidiController.add(&variationSendCtrl); + for (int i = 0; i < MIDI_PORTS; ++i) { MidiPort* port = &MusEGlobal::midiPorts[i]; + + // + // create minimum set of managed controllers + // to make midi mixer operational + // + port->addDefaultControllers(); + ///port->setInstrument(genericMidiInstrument); port->setInstrument(registerMidiInstrument("GM")); // Changed by Tim. port->syncInfo().setPort(i); @@ -81,12 +99,6 @@ MidiPort::MidiPort() _instrument = 0; _controller = new MidiCtrlValListList(); _foundInSongFile = false; - - // - // create minimum set of managed controllers - // to make midi mixer operational - // - addDefaultControllers(); } //--------------------------------------------------------- @@ -739,9 +751,8 @@ MidiCtrlValList* MidiPort::addManagedController(int channel, int ctrl) void MidiPort::addDefaultControllers() { for (int i = 0; i < MIDI_CHANNELS; ++i) { - addManagedController(i, CTRL_PROGRAM); - addManagedController(i, CTRL_VOLUME); - addManagedController(i, CTRL_PANPOT); + for(ciMidiController imc = defaultManagedMidiController.begin(); imc != defaultManagedMidiController.end(); ++imc) + addManagedController(i, imc->second->num()); _automationType[i] = AUTO_READ; } } @@ -1074,7 +1085,8 @@ MidiController* MidiPort::drumController(int ctl) if(((ctl - CTRL_RPN_OFFSET >= 0) && (ctl - CTRL_RPN_OFFSET <= 0xffff)) || ((ctl - CTRL_NRPN_OFFSET >= 0) && (ctl - CTRL_NRPN_OFFSET <= 0xffff)) || ((ctl - CTRL_RPN14_OFFSET >= 0) && (ctl - CTRL_RPN14_OFFSET <= 0xffff)) || - ((ctl - CTRL_NRPN14_OFFSET >= 0) && (ctl - CTRL_NRPN14_OFFSET <= 0xffff))) + ((ctl - CTRL_NRPN14_OFFSET >= 0) && (ctl - CTRL_NRPN14_OFFSET <= 0xffff)) || + ((ctl - CTRL_INTERNAL_OFFSET >= 0) && (ctl - CTRL_INTERNAL_OFFSET <= 0xffff))) // Include internals { // Does the instrument have a drum controller to match this controller's number? iMidiController imc = cl->find(ctl | 0xff); diff --git a/muse2/muse/midiport.h b/muse2/muse/midiport.h index 6f92cb02..3a1feba6 100644 --- a/muse2/muse/midiport.h +++ b/muse2/muse/midiport.h @@ -37,6 +37,7 @@ class MidiDevice; class Part; //class MidiSyncInfo; class MidiController; +class MidiControllerList; class MidiCtrlValListList; class MidiCtrlValList; class MidiInstrument; @@ -164,6 +165,7 @@ extern void setPortExclusiveDefOutChan(int /*port*/, int /*chan*/); #endif extern QMenu* midiPortsPopup(QWidget* parent = 0, int checkPort = -1); +extern MidiControllerList defaultManagedMidiController; } // namespace MusECore diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp index 0fa419c6..b18a9410 100644 --- a/muse2/muse/track.cpp +++ b/muse2/muse/track.cpp @@ -1037,10 +1037,49 @@ void MidiTrack::read(Xml& xml) if(p) parts()->add(p); } - else if (tag == "device") - setOutPort(xml.parseInt()); - else if (tag == "channel") - setOutChannel(xml.parseInt()); + // TODO: These two device and channel sections will need to change + // if and when multiple output routes are supported. + // For now just look for the first default (there's only one)... + else if (tag == "device") { + int port = xml.parseInt(); + if(port == -1) + { + for(int i = 0; i < MIDI_PORTS; ++i) + { + if(MusEGlobal::midiPorts[i].defaultOutChannels()) + { + port = i; + break; + } + } + } + if(port == -1) + port = 0; + setOutPort(port); + } + else if (tag == "channel") { + int chan = xml.parseInt(); + if(chan == -1) + { + for(int i = 0; i < MIDI_PORTS; ++i) + { + int defchans = MusEGlobal::midiPorts[i].defaultOutChannels(); + for(int c = 0; c < MIDI_CHANNELS; ++c) + { + if(defchans & (1 << c)) + { + chan = c; + break; + } + } + if(chan != -1) + break; + } + } + if(chan == -1) + chan = 0; + setOutChannel(chan); + } else if (tag == "inportMap") portmask = xml.parseUInt(); // Obsolete but support old files. else if (tag == "inchannelMap") diff --git a/muse2/share/templates/audio.med b/muse2/share/templates/audio.med index 8fc7d9b5..1ef4d2e9 100644 --- a/muse2/share/templates/audio.med +++ b/muse2/share/templates/audio.med @@ -48,617 +48,6 @@ 33 29 36 - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/muse2/share/templates/default.med b/muse2/share/templates/default.med index 7c235df5..97578fc8 100644 --- a/muse2/share/templates/default.med +++ b/muse2/share/templates/default.med @@ -48,617 +48,6 @@ 33 29 36 - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/muse2/share/templates/midiGM.med b/muse2/share/templates/midiGM.med index c21f6d0f..d0f2b991 100644 --- a/muse2/share/templates/midiGM.med +++ b/muse2/share/templates/midiGM.med @@ -48,665 +48,6 @@ 33 29 36 - - 1 - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - @@ -808,7 +149,7 @@ 20 0 1 - 0 + -1 0 0 1 @@ -829,8 +170,8 @@ 0 20 0 - 0 - 0 + -1 + 1 0 1 0 @@ -850,8 +191,8 @@ 0 20 0 - 0 - 0 + -1 + 2 0 1 0 @@ -871,8 +212,8 @@ 0 20 0 - 0 - 0 + -1 + 3 0 1 0 @@ -892,7 +233,7 @@ 0 20 0 - 0 + -1 9 0 1 diff --git a/muse2/share/templates/monorecord.med b/muse2/share/templates/monorecord.med index 77207417..5024637a 100644 --- a/muse2/share/templates/monorecord.med +++ b/muse2/share/templates/monorecord.med @@ -48,1010 +48,6 @@ 33 29 36 - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - General Midi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - General Midi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - General Midi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/muse2/share/templates/synti.med b/muse2/share/templates/synti.med index 3884f97e..65da9766 100644 --- a/muse2/share/templates/synti.med +++ b/muse2/share/templates/synti.med @@ -48,1019 +48,18 @@ 33 29 36 - + 1 organ-1 organ-1 2 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fluid-1 - fluid-1 - 2 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - General Midi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + vam-1 vam-1 2 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1172,65 +171,12 @@ - - Track 1 - 0 - 0 - 0 - 0 - 0 - 20 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 100 - 100 - 1 - 0 - - Track 1 - - 0 - 0 - - - - fluid-1 - 0 - 0 - 0 - 1 - 2 - 20 - 1 - 0 - 0 - 0 - - - - - - - MESS - fluid - - 1 - 0 - - organ-1 0 0 0 - 0 + 1 1 20 0 @@ -1246,7 +192,7 @@ MESS organ - 0 + 198 0 @@ -1265,7 +211,7 @@ 0 0 0 - 1 + 0 1 20 0 @@ -1281,7 +227,7 @@ MESS vam - 3 + 199 0 @@ -1299,6 +245,34 @@ + + Track 1 + 0 + 0 + 0 + 0 + 0 + 20 + 0 + 1 + 199 + 0 + 0 + 1 + 0 + 0 + 0 + 100 + 100 + 1 + 0 + + Track 1 + + 0 + 0 + + @@ -1307,10 +281,6 @@ - - - - -- cgit v1.2.3