summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muse2/ChangeLog9
-rw-r--r--muse2/muse/arranger/tlist.cpp122
-rw-r--r--muse2/muse/conf.cpp12
-rw-r--r--muse2/muse/ctrl/ctrlcanvas.cpp37
-rw-r--r--muse2/muse/ctrl/ctrlpanel.cpp23
-rw-r--r--muse2/muse/gconfig.cpp6
-rw-r--r--muse2/muse/helper.cpp4
-rw-r--r--muse2/muse/icons.cpp16
-rw-r--r--muse2/muse/icons.h1
-rw-r--r--muse2/muse/liste/editevent.cpp7
-rw-r--r--muse2/muse/midi.cpp31
-rw-r--r--muse2/muse/mididev.cpp11
-rw-r--r--muse2/muse/midiedit/dcanvas.cpp60
-rw-r--r--muse2/muse/midiedit/dlist.cpp80
-rw-r--r--muse2/muse/midiedit/drumedit.cpp8
-rw-r--r--muse2/muse/midiedit/drummap.cpp286
-rw-r--r--muse2/muse/midiedit/drummap.h4
-rw-r--r--muse2/muse/midiport.cpp26
-rw-r--r--muse2/muse/midiport.h2
-rw-r--r--muse2/muse/part.cpp112
-rw-r--r--muse2/muse/song.cpp20
-rw-r--r--muse2/muse/track.cpp14
-rw-r--r--muse2/muse/widgets/musewidgetsplug.cpp6
-rw-r--r--muse2/share/drummaps/AKAI_SG01v_Bank_dr1.map276
-rw-r--r--muse2/share/drummaps/AKAI_SG01v_Bank_dr2.map276
-rw-r--r--muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_GM_ReMap.map404
-rw-r--r--muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_Normal.map404
-rw-r--r--muse2/share/drummaps/addictive_drums.map512
-rw-r--r--muse2/share/drummaps/dx200_drum.map14
-rw-r--r--muse2/share/templates/MusE.cfg5
-rw-r--r--muse2/xpm/addtrack_addmiditrack_2.xpm89
-rw-r--r--muse2/xpm/addtrack_auxsend_2.xpm62
-rw-r--r--muse2/xpm/addtrack_drumtrack_2.xpm86
-rw-r--r--muse2/xpm/addtrack_old_drumtrack.xpm81
34 files changed, 1804 insertions, 1302 deletions
diff --git a/muse2/ChangeLog b/muse2/ChangeLog
index d0ab39f7..73585573 100644
--- a/muse2/ChangeLog
+++ b/muse2/ChangeLog
@@ -1,3 +1,12 @@
+02.02.2013:
+ * Solved: "Old style" Drums: Track channel/port re-enabled, drum list columns default to them. (Tim...)
+ The drum list port and channel columns are now blank by default until overriden by user.
+ When blank they default to the track port and channel.
+ Internally, -1 is now an acceptable value for members DrumMap::port and ::channel, meaning default to track.
+ All built-in drum maps have been changed, as well as the initial and blank DrumMap structures.
+ - Since Old Style Drum and New Style Drum had the same icon, and the only way to tell the difference between them
+ was the port and channel columns, and that difference is now gone, this required some icon and colour changes.
+ - Fixed Old Style Drum lockup: Certain item channel overrides caused infinite loop in Audio::processMidi().
28.01.2013:
- MusE 2.1.1 released!
- Added setting for default track height (rj)
diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp
index 262527a9..526b36de 100644
--- a/muse2/muse/arranger/tlist.cpp
+++ b/muse2/muse/arranger/tlist.cpp
@@ -330,6 +330,8 @@ void TList::paint(const QRect& r)
pm = addtrack_addmiditrackIcon;
break;
case MusECore::Track::NEW_DRUM:
+ pm = addtrack_newDrumtrackIcon;
+ break;
case MusECore::Track::DRUM:
pm = addtrack_drumtrackIcon;
break;
@@ -388,11 +390,8 @@ void TList::paint(const QRect& r)
{
QString s;
int n;
- if (track->isMidiTrack() && track->type() == MusECore::Track::DRUM) {
- p.drawText(r, Qt::AlignVCenter|Qt::AlignHCenter, "-");
- break;
- }
- else if (track->isMidiTrack()) {
+ // Default to track port if -1 and track channel if -1.
+ if (track->isMidiTrack()) {
n = ((MusECore::MidiTrack*)track)->outChannel() + 1;
}
else {
@@ -631,7 +630,8 @@ void TList::chanValueFinished()
if(editTrack->isMidiTrack())
{
MusECore::MidiTrack* mt = dynamic_cast<MusECore::MidiTrack*>(editTrack);
- if (mt && mt->type() != MusECore::Track::DRUM)
+ // Default to track port if -1 and track channel if -1.
+ if (mt)
{
int channel = chan_edit->value() - 1;
if(channel >= MIDI_CHANNELS)
@@ -645,18 +645,10 @@ void TList::chanValueFinished()
editTrack,
mt->outChannel(),
channel));
- //mt->setOutChannel(channel); DELETETHIS 10 (only the comments of course)
MusEGlobal::audio->msgIdle(true);
- //MusEGlobal::audio->msgSetTrackOutChannel(mt, channel);
mt->setOutChanAndUpdate(channel);
MusEGlobal::audio->msgIdle(false);
- //if (mt->type() == MusECore::MidiTrack::DRUM) {//Change channel on all drum instruments
- // for (int i=0; i<DRUM_MAPSIZE; i++)
- // MusEGlobal::drumMap[i].channel = channel;
- // }
MusEGlobal::audio->msgUpdateSoloStates();
- //MusEGlobal::song->endUndo(SC_CHANNELS);
- //MusEGlobal::song->endUndo(SC_MIDI_TRACK_PROP | SC_ROUTE);
MusEGlobal::song->endUndo(SC_MIDI_TRACK_PROP);
}
}
@@ -706,7 +698,10 @@ void TList::ctrlValueFinished()
if(editTrack && editTrack->isMidiTrack())
{
MusECore::MidiTrack* mt = dynamic_cast<MusECore::MidiTrack*>(editTrack);
- if (mt && mt->type() != MusECore::Track::DRUM)
+ //if (mt && mt->type() != MusECore::Track::DRUM)
+ // Default to track port if -1 and track channel if -1.
+ // TODO TEST: Why was DRUM excluded? I want to say just "if(mt)", but will it break something with dynamic columns? // REMOVE Tim.
+ if (mt)
{
int val = ctrl_edit->value();
MusECore::MidiPort* mp = &MusEGlobal::midiPorts[mt->outPort()];
@@ -832,9 +827,9 @@ void TList::mouseDoubleClickEvent(QMouseEvent* ev)
editor->show();
}
else if (section == COL_OCHANNEL) {
- //if (t->isMidiTrack() && t->type() != MusECore::Track::DRUM)
// Enabled for audio tracks. And synth channels cannot be changed ATM.
- if(t->type() == MusECore::Track::DRUM || t->type() == MusECore::Track::AUDIO_SOFTSYNTH)
+ // Default to track port if -1 and track channel if -1.
+ if(t->type() == MusECore::Track::AUDIO_SOFTSYNTH)
{
mousePressEvent(ev);
return;
@@ -1101,36 +1096,9 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y)
MusEGlobal::song->update();
}
- // Changed by T356. DELETETHIS 5
- //track->setOutPort(n);
- //MusEGlobal::audio->msgSetTrackOutPort(track, n);
-
- //MusEGlobal::song->update();
- if (t->type() == MusECore::Track::DRUM) {
- bool change = QMessageBox::question(this, tr("Update drummap?"),
- tr("Do you want to use same port for all instruments in the drummap?"),
- tr("&Yes"), tr("&No"), QString::null, 0, 1);
- MusEGlobal::audio->msgIdle(true);
- if (!change)
- {
- // Delete all port controller events.
- MusEGlobal::song->changeAllPortDrumCtrlEvents(false);
- track->setOutPort(n);
-
- for (int i=0; i<DRUM_MAPSIZE; i++) //Remap all drum instruments to this port
- MusEGlobal::drumMap[i].port = track->outPort();
- // Add all port controller events.
- MusEGlobal::song->changeAllPortDrumCtrlEvents(true);
- }
- else
- {
- track->setOutPortAndUpdate(n);
- }
- MusEGlobal::audio->msgIdle(false);
- MusEGlobal::audio->msgUpdateSoloStates(); // (p4.0.14) p4.0.17
- MusEGlobal::song->update();
- }
- else if (t->type() == MusECore::Track::AUDIO_SOFTSYNTH)
+
+ // Default to track port if -1 and track channel if -1. No need anymore to ask to change all items
+ if (t->type() == MusECore::Track::AUDIO_SOFTSYNTH)
{
if(md != 0)
{
@@ -1149,8 +1117,8 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y)
MusEGlobal::audio->msgIdle(true);
track->setOutPortAndUpdate(n);
MusEGlobal::audio->msgIdle(false);
- MusEGlobal::audio->msgUpdateSoloStates(); // (p4.0.14) p4.0.17
- MusEGlobal::song->update(SC_MIDI_TRACK_PROP); //
+ MusEGlobal::audio->msgUpdateSoloStates();
+ MusEGlobal::song->update(SC_MIDI_TRACK_PROP);
}
// Prompt and send init sequences.
@@ -2074,9 +2042,6 @@ void TList::mousePressEvent(QMouseEvent* ev)
MusECore::MidiTrack* mt = dynamic_cast<MusECore::MidiTrack*>(t);
if (mt == 0)
break;
- if (mt->type() == MusECore::Track::DRUM)
- break;
-
int channel = mt->outChannel();
channel += delta;
if(channel >= MIDI_CHANNELS)
@@ -2085,25 +2050,11 @@ void TList::mousePressEvent(QMouseEvent* ev)
channel = 0;
if (channel != mt->outChannel())
{
- // Changed by T356.
MusEGlobal::audio->msgIdle(true);
mt->setOutChanAndUpdate(channel);
MusEGlobal::audio->msgIdle(false);
-
- // DELETETHIS 15?
- /* --- I really don't like this, you can mess up the whole map "as easy as dell"
- if (mt->type() == MusECore::MidiTrack::DRUM) {//Change channel on all drum instruments
- for (int i=0; i<DRUM_MAPSIZE; i++)
- MusEGlobal::drumMap[i].channel = channel;
- }*/
-
- // may result in adding/removing mixer strip:
- //MusEGlobal::song->update(-1);
- //MusEGlobal::song->update(SC_CHANNELS);
- //MusEGlobal::song->update(SC_MIDI_TRACK_PROP);
- MusEGlobal::audio->msgUpdateSoloStates(); // p4.0.14
- //MusEGlobal::song->update(SC_MIDI_TRACK_PROP | SC_ROUTE); //
- MusEGlobal::song->update(SC_MIDI_TRACK_PROP); //
+ MusEGlobal::audio->msgUpdateSoloStates();
+ MusEGlobal::song->update(SC_MIDI_TRACK_PROP);
}
}
else
@@ -2748,7 +2699,7 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
p.clear();
p.addAction(QIcon(*addtrack_addmiditrackIcon), tr("Midi"))->setData(MusECore::Track::MIDI);
p.addAction(QIcon(*addtrack_drumtrackIcon), tr("Drum"))->setData(MusECore::Track::DRUM);
- p.addAction(QIcon(*addtrack_drumtrackIcon), tr("New style drum"))->setData(MusECore::Track::NEW_DRUM);
+ p.addAction(QIcon(*addtrack_newDrumtrackIcon), tr("New style drum"))->setData(MusECore::Track::NEW_DRUM);
QAction* act = p.exec(mapToGlobal(QPoint(x, y)), 0);
if (!act)
@@ -2769,11 +2720,7 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
if(ev.type() == MusECore::Note)
{
int pitch = ev.pitch();
- // Changed by T356.
- // Tested: Notes were being mixed up switching back and forth between midi and drum.
- //pitch = MusEGlobal::drumMap[pitch].anote; DELETETHIS
pitch = MusEGlobal::drumMap[pitch].enote;
-
ev.setPitch(pitch);
}
else
@@ -2786,7 +2733,6 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
// Change the controller event's index into the drum map to an instrument note.
ev.setA((ctl & ~0xff) | MusEGlobal::drumMap[ctl & 0x7f].enote);
}
-
}
}
t->setType(MusECore::Track::TrackType(n));
@@ -2797,22 +2743,14 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
//
// Midi -> Drum
//
- bool change = QMessageBox::question(this, tr("Update drummap?"),
- tr("Do you want to use same port and channel for all instruments in the drummap?"),
- tr("&Yes"), tr("&No"), QString::null, 0, 1);
-
+
+ // Default to track port if -1 and track channel if -1. No need anymore to ask to change all items.
+
MusEGlobal::audio->msgIdle(true);
+
// Delete all port controller events.
MusEGlobal::song->changeAllPortDrumCtrlEvents(false);
- if (!change) {
- MusECore::MidiTrack* m = (MusECore::MidiTrack*) t;
- for (int i=0; i<DRUM_MAPSIZE; i++) {
- MusEGlobal::drumMap[i].channel = m->outChannel();
- MusEGlobal::drumMap[i].port = m->outPort();
- }
- }
-
MusECore::PartList* pl = t->parts();
MusECore::MidiTrack* m = (MusECore::MidiTrack*) t;
for (MusECore::iPart ip = pl->begin(); ip != pl->end(); ++ip) {
@@ -2824,7 +2762,7 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
int pitch = ev.pitch();
pitch = MusEGlobal::drumInmap[pitch];
ev.setPitch(pitch);
- }
+ }
else
{
if(ev.type() == MusECore::Controller)
@@ -2836,17 +2774,17 @@ void TList::classesPopupMenu(MusECore::Track* t, int x, int y)
// Change the controller event's instrument note to an index into the drum map.
ev.setA((ctl & ~0xff) | MusEGlobal::drumInmap[ctl & 0x7f]);
}
-
}
-
}
}
+
t->setType(MusECore::Track::DRUM);
- // Add all port controller events.
- MusEGlobal::song->changeAllPortDrumCtrlEvents(true);
+ // Add all port controller events.
+ MusEGlobal::song->changeAllPortDrumCtrlEvents(true);
+
MusEGlobal::audio->msgIdle(false);
- MusEGlobal::song->update(SC_EVENT_MODIFIED);
+ MusEGlobal::song->update(SC_EVENT_MODIFIED);
}
else // MIDI -> NEW_DRUM or vice versa. added by flo.
{
diff --git a/muse2/muse/conf.cpp b/muse2/muse/conf.cpp
index 0d92b239..b63437d2 100644
--- a/muse2/muse/conf.cpp
+++ b/muse2/muse/conf.cpp
@@ -754,9 +754,9 @@ void readConfiguration(Xml& xml, bool doReadMidiPortConfig, bool doReadGlobalCon
MusEGlobal::config.mixerBg = readColor(xml);
else if (tag == "midiTrackLabelBg")
MusEGlobal::config.midiTrackLabelBg = readColor(xml);
- else if (tag == "drumTrackLabelBg")
+ else if (tag == "drumTrackLabelBg2")
MusEGlobal::config.drumTrackLabelBg = readColor(xml);
- else if (tag == "newDrumTrackLabelBg")
+ else if (tag == "newDrumTrackLabelBg2")
MusEGlobal::config.newDrumTrackLabelBg = readColor(xml);
else if (tag == "waveTrackLabelBg")
MusEGlobal::config.waveTrackLabelBg = readColor(xml);
@@ -766,7 +766,7 @@ void readConfiguration(Xml& xml, bool doReadMidiPortConfig, bool doReadGlobalCon
MusEGlobal::config.inputTrackLabelBg = readColor(xml);
else if (tag == "groupTrackLabelBg")
MusEGlobal::config.groupTrackLabelBg = readColor(xml);
- else if (tag == "auxTrackLabelBg")
+ else if (tag == "auxTrackLabelBg2")
MusEGlobal::config.auxTrackLabelBg = readColor(xml);
else if (tag == "synthTrackLabelBg")
MusEGlobal::config.synthTrackLabelBg = readColor(xml);
@@ -1334,13 +1334,13 @@ void MusE::writeGlobalConfiguration(int level, MusECore::Xml& xml) const
xml.colorTag(level, "mixerBg", MusEGlobal::config.mixerBg);
xml.colorTag(level, "midiTrackLabelBg", MusEGlobal::config.midiTrackLabelBg);
- xml.colorTag(level, "drumTrackLabelBg", MusEGlobal::config.drumTrackLabelBg);
- xml.colorTag(level, "newDrumTrackLabelBg",MusEGlobal::config.newDrumTrackLabelBg);
+ xml.colorTag(level, "drumTrackLabelBg2", MusEGlobal::config.drumTrackLabelBg);
+ xml.colorTag(level, "newDrumTrackLabelBg2",MusEGlobal::config.newDrumTrackLabelBg);
xml.colorTag(level, "waveTrackLabelBg", MusEGlobal::config.waveTrackLabelBg);
xml.colorTag(level, "outputTrackLabelBg", MusEGlobal::config.outputTrackLabelBg);
xml.colorTag(level, "inputTrackLabelBg", MusEGlobal::config.inputTrackLabelBg);
xml.colorTag(level, "groupTrackLabelBg", MusEGlobal::config.groupTrackLabelBg);
- xml.colorTag(level, "auxTrackLabelBg", MusEGlobal::config.auxTrackLabelBg);
+ xml.colorTag(level, "auxTrackLabelBg2", MusEGlobal::config.auxTrackLabelBg);
xml.colorTag(level, "synthTrackLabelBg", MusEGlobal::config.synthTrackLabelBg);
xml.colorTag(level, "midiTrackBg", MusEGlobal::config.midiTrackBg);
diff --git a/muse2/muse/ctrl/ctrlcanvas.cpp b/muse2/muse/ctrl/ctrlcanvas.cpp
index 0028d426..9c19cf8b 100644
--- a/muse2/muse/ctrl/ctrlcanvas.cpp
+++ b/muse2/muse/ctrl/ctrlcanvas.cpp
@@ -518,7 +518,11 @@ void CtrlCanvas::partControllers(const MusECore::MidiPart* part, int num, int* d
if((mt->type() == MusECore::Track::DRUM))
{
n = (num & ~0xff) | MusEGlobal::drumMap[curDrumPitch].anote;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[curDrumPitch].port];
+ // Default to track port if -1 and track channel if -1.
+ int mport = MusEGlobal::drumMap[curDrumPitch].port;
+ if(mport == -1)
+ mport = mt->outPort();
+ mp = &MusEGlobal::midiPorts[mport];
}
if(mt->type() == MusECore::Track::NEW_DRUM)
{
@@ -619,10 +623,19 @@ void CtrlCanvas::updateItems()
{
if(curDrumPitch < 0)
continue;
+ // Default to track port if -1 and track channel if -1.
int port = MusEGlobal::drumMap[ctl & 0x7f].port;
+ if(port == -1)
+ port = part->track()->outPort();
int chan = MusEGlobal::drumMap[ctl & 0x7f].channel;
+ if(chan == -1)
+ chan = part->track()->outChannel();
int cur_port = MusEGlobal::drumMap[curDrumPitch].port;
+ if(cur_port == -1)
+ cur_port = part->track()->outPort();
int cur_chan = MusEGlobal::drumMap[curDrumPitch].channel;
+ if(cur_chan == -1)
+ cur_chan = part->track()->outChannel();
if((port != cur_port) || (chan != cur_chan))
continue;
ctl = (ctl & ~0xff) | MusEGlobal::drumMap[ctl & 0x7f].anote;
@@ -1601,7 +1614,11 @@ void CtrlCanvas::pdrawItems(QPainter& p, const QRect& rect, const MusECore::Midi
if(is_drum_ctl)
{
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[curDrumPitch].port];
+ // Default to track port if -1 and track channel if -1.
+ int mport = MusEGlobal::drumMap[curDrumPitch].port;
+ if(mport == -1)
+ mport = mt->outPort();
+ mp = &MusEGlobal::midiPorts[mport];
cnum = (_cnum & ~0xff) | MusEGlobal::drumMap[curDrumPitch].anote;
}
else
@@ -1736,7 +1753,11 @@ void CtrlCanvas::pdrawExtraDrumCtrlItems(QPainter& p, const QRect& rect, const M
if(is_drum_ctl)
{
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[curDrumPitch].port];
+ // Default to track port if -1 and track channel if -1.
+ int mport = MusEGlobal::drumMap[curDrumPitch].port;
+ if(mport == -1)
+ mport = mt->outPort();
+ mp = &MusEGlobal::midiPorts[mport];
cnum = (_cnum & ~0xff) | MusEGlobal::drumMap[curDrumPitch].anote;
}
else
@@ -1892,11 +1913,17 @@ void CtrlCanvas::pdraw(QPainter& p, const QRect& rect)
if(curPart && curPart->track() && curPart->track()->type() == MusECore::Track::DRUM &&
curDrumPitch >= 0 && ((_cnum & 0xff) == 0xff))
{
- int port = MusEGlobal::drumMap[curDrumPitch].port;
+ // Default to track port if -1 and track channel if -1.
+ int port = MusEGlobal::drumMap[curDrumPitch].port;
+ if(port == -1)
+ port = curPart->track()->outPort();
int anote = MusEGlobal::drumMap[curDrumPitch].anote;
for(int i = 0; i < DRUM_MAPSIZE; ++i)
{
- if(i != curDrumPitch && MusEGlobal::drumMap[i].port == port && MusEGlobal::drumMap[i].anote == anote)
+ int iport = MusEGlobal::drumMap[i].port;
+ if(iport == -1)
+ iport = curPart->track()->outPort();
+ if(i != curDrumPitch && iport == port && MusEGlobal::drumMap[i].anote == anote)
pdrawExtraDrumCtrlItems(p, rect, curPart, anote);
}
}
diff --git a/muse2/muse/ctrl/ctrlpanel.cpp b/muse2/muse/ctrl/ctrlpanel.cpp
index 84d155ea..7856f51c 100644
--- a/muse2/muse/ctrl/ctrlpanel.cpp
+++ b/muse2/muse/ctrl/ctrlpanel.cpp
@@ -188,8 +188,13 @@ void CtrlPanel::heartBeat()
int cdp = ctrlcanvas->getCurDrumPitch();
if(_track->type() == MusECore::Track::DRUM && _ctrl->isPerNoteController() && cdp != -1)
{
+ // Default to track port if -1 and track channel if -1.
outport = MusEGlobal::drumMap[cdp].port;
+ if(outport == -1)
+ outport = _track->outPort();
chan = MusEGlobal::drumMap[cdp].channel;
+ if(chan == -1)
+ chan = _track->outChannel();
}
else
{
@@ -284,8 +289,13 @@ void CtrlPanel::labelDoubleClicked()
int cdp = ctrlcanvas->getCurDrumPitch();
if(_track->type() == MusECore::Track::DRUM && _ctrl->isPerNoteController() && cdp != -1)
{
+ // Default to track port if -1 and track channel if -1.
outport = MusEGlobal::drumMap[cdp].port;
+ if(outport == -1)
+ outport = _track->outPort();
chan = MusEGlobal::drumMap[cdp].channel;
+ if(chan == -1)
+ chan = _track->outChannel();
}
else
{
@@ -389,8 +399,13 @@ void CtrlPanel::ctrlChanged(double val)
int cdp = ctrlcanvas->getCurDrumPitch();
if(_track->type() == MusECore::Track::DRUM && _ctrl->isPerNoteController() && cdp != -1)
{
+ // Default to track port if -1 and track channel if -1.
outport = MusEGlobal::drumMap[cdp].port;
+ if(outport == -1)
+ outport = _track->outPort();
chan = MusEGlobal::drumMap[cdp].channel;
+ if(chan == -1)
+ chan = _track->outChannel();
}
else
{
@@ -465,8 +480,14 @@ void CtrlPanel::setHWController(MusECore::MidiTrack* t, MusECore::MidiController
if(_track->type() == MusECore::Track::DRUM && _ctrl->isPerNoteController() && cdp != -1)
{
_dnum = (_dnum & ~0xff) | MusEGlobal::drumMap[cdp].anote;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[cdp].port];
+ int mport = MusEGlobal::drumMap[cdp].port;
+ // Default to track port if -1 and track channel if -1.
+ if(mport == -1)
+ mport = _track->outPort();
+ mp = &MusEGlobal::midiPorts[mport];
ch = MusEGlobal::drumMap[cdp].channel;
+ if(ch == -1)
+ ch = _track->outChannel();
}
else if((_track->type() == MusECore::Track::NEW_DRUM || _track->type() == MusECore::Track::MIDI) && _ctrl->isPerNoteController() && cdp != -1)
{
diff --git a/muse2/muse/gconfig.cpp b/muse2/muse/gconfig.cpp
index ab743572..ac7c50a6 100644
--- a/muse2/muse/gconfig.cpp
+++ b/muse2/muse/gconfig.cpp
@@ -102,13 +102,13 @@ GlobalConfigValues config = {
QColor(0x00, 0x00, 0x00), // selected track Fg;
QColor(74, 150, 194), // midiTrackLabelBg; // Med blue
- QColor(74, 150, 194), // drumTrackLabelBg; // Med blue
- QColor(74, 150, 194), // newDrumTrackLabelBg; // Med blue
+ QColor(150, 177, 189), // drumTrackLabelBg; // Pale pastel blue
+ QColor(116, 232, 242), // newDrumTrackLabelBg; // Light blue
QColor(213, 128, 202), // waveTrackLabelBg; // magenta
QColor(84, 185, 58), // outputTrackLabelBg; // green
QColor(199, 75, 64), // inputTrackLabelBg; // red
QColor(236, 214, 90), // groupTrackLabelBg; // yellow
- QColor(161, 234, 242), // auxTrackLabelBg; // Light blue
+ QColor(142, 157, 6), // auxTrackLabelBg; // Med olive
QColor(229, 157, 101), // synthTrackLabelBg; // Med orange
QColor(215, 220, 230), // midiTrackBg;
diff --git a/muse2/muse/helper.cpp b/muse2/muse/helper.cpp
index 0d9b74bd..2a6992fc 100644
--- a/muse2/muse/helper.cpp
+++ b/muse2/muse/helper.cpp
@@ -457,7 +457,7 @@ QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll, bool evenIgnor
if (!evenIgnoreDrumPreference && (MusEGlobal::config.drumTrackPreference==MusEGlobal::PREFER_NEW || MusEGlobal::config.drumTrackPreference==MusEGlobal::ONLY_NEW))
{
- QAction* newdrum = addTrack->addAction(QIcon(*addtrack_drumtrackIcon),
+ QAction* newdrum = addTrack->addAction(QIcon(*addtrack_newDrumtrackIcon),
qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Drum Track")));
newdrum->setData(MusECore::Track::NEW_DRUM);
grp->addAction(newdrum);
@@ -472,7 +472,7 @@ QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll, bool evenIgnor
}
if (evenIgnoreDrumPreference || MusEGlobal::config.drumTrackPreference==MusEGlobal::PREFER_OLD)
{
- QAction* newdrum = addTrack->addAction(QIcon(*addtrack_drumtrackIcon),
+ QAction* newdrum = addTrack->addAction(QIcon(*addtrack_newDrumtrackIcon),
qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add New Style Drum Track")));
newdrum->setData(MusECore::Track::NEW_DRUM);
grp->addAction(newdrum);
diff --git a/muse2/muse/icons.cpp b/muse2/muse/icons.cpp
index 9a36b11b..2c48bcab 100644
--- a/muse2/muse/icons.cpp
+++ b/muse2/muse/icons.cpp
@@ -220,12 +220,13 @@
#include "xpm/velo_all.xpm"
#include "xpm/velo_per_note.xpm"
-#include "xpm/addtrack_addmiditrack.xpm"
+#include "xpm/addtrack_addmiditrack_2.xpm"
#include "xpm/addtrack_audiogroup.xpm"
#include "xpm/addtrack_audioinput.xpm"
#include "xpm/addtrack_audiooutput.xpm"
-#include "xpm/addtrack_auxsend.xpm"
-#include "xpm/addtrack_drumtrack.xpm"
+#include "xpm/addtrack_auxsend_2.xpm"
+#include "xpm/addtrack_old_drumtrack.xpm"
+#include "xpm/addtrack_drumtrack_2.xpm"
#include "xpm/addtrack_wavetrack.xpm"
#include "xpm/edit_drumms.xpm"
#include "xpm/edit_list.xpm"
@@ -453,6 +454,7 @@ QPixmap* addtrack_audioinputIcon;
QPixmap* addtrack_audiooutputIcon;
QPixmap* addtrack_auxsendIcon;
QPixmap* addtrack_drumtrackIcon;
+QPixmap* addtrack_newDrumtrackIcon;
QPixmap* addtrack_wavetrackIcon;
QPixmap* edit_drummsIcon;
QPixmap* edit_listIcon;
@@ -700,12 +702,13 @@ void initIcons()
veloPerNote_OnIcon = new MPIXMAP(velo_per_note_xpm, NULL);
veloPerNote_OffIcon = new MPIXMAP(velo_all_xpm, NULL);
- addtrack_addmiditrackIcon = new MPIXMAP(addtrack_addmiditrack_xpm, NULL);
+ addtrack_addmiditrackIcon = new MPIXMAP(addtrack_addmiditrack_2_xpm, NULL);
addtrack_audiogroupIcon = new MPIXMAP(addtrack_audiogroup_xpm, NULL);
addtrack_audioinputIcon = new MPIXMAP(addtrack_audioinput_xpm, NULL);
addtrack_audiooutputIcon = new MPIXMAP(addtrack_audiooutput_xpm, NULL);
- addtrack_auxsendIcon = new MPIXMAP(addtrack_auxsend_xpm, NULL);
- addtrack_drumtrackIcon = new MPIXMAP(addtrack_drumtrack_xpm, NULL);
+ addtrack_auxsendIcon = new MPIXMAP(addtrack_auxsend_2_xpm, NULL);
+ addtrack_drumtrackIcon = new MPIXMAP(addtrack_old_drumtrack_xpm, NULL);
+ addtrack_newDrumtrackIcon = new MPIXMAP(addtrack_drumtrack_2_xpm, NULL);
addtrack_wavetrackIcon = new MPIXMAP(addtrack_wavetrack_xpm, NULL);
edit_drummsIcon = new MPIXMAP(edit_drumms_xpm, NULL);
edit_listIcon = new MPIXMAP(edit_list_xpm, NULL);
@@ -948,6 +951,7 @@ void deleteIcons()
delete addtrack_audiooutputIcon;
delete addtrack_auxsendIcon;
delete addtrack_drumtrackIcon;
+ delete addtrack_newDrumtrackIcon;
delete addtrack_wavetrackIcon;
delete edit_drummsIcon;
delete edit_listIcon;
diff --git a/muse2/muse/icons.h b/muse2/muse/icons.h
index 673392da..2bba40cd 100644
--- a/muse2/muse/icons.h
+++ b/muse2/muse/icons.h
@@ -209,6 +209,7 @@ extern QPixmap* addtrack_audioinputIcon;
extern QPixmap* addtrack_audiooutputIcon;
extern QPixmap* addtrack_auxsendIcon;
extern QPixmap* addtrack_drumtrackIcon;
+extern QPixmap* addtrack_newDrumtrackIcon;
extern QPixmap* addtrack_wavetrackIcon;
extern QPixmap* edit_drummsIcon;
extern QPixmap* edit_listIcon;
diff --git a/muse2/muse/liste/editevent.cpp b/muse2/muse/liste/editevent.cpp
index e75a7359..14bd0d8a 100644
--- a/muse2/muse/liste/editevent.cpp
+++ b/muse2/muse/liste/editevent.cpp
@@ -456,8 +456,11 @@ MusECore::Event EditCtrlDialog::event()
{
MusECore::DrumMap* dm = &MusEGlobal::drumMap[noteSpinBox->value() & 0x7f];
num = (cnum & ~0xff) | dm->anote;
- port = &MusEGlobal::midiPorts[dm->port];
- channel = dm->channel;
+ // Default to track port if -1 and track channel if -1.
+ if(dm->port != -1)
+ port = &MusEGlobal::midiPorts[dm->port];
+ if(dm->channel != -1)
+ channel = dm->channel;
}
}
diff --git a/muse2/muse/midi.cpp b/muse2/muse/midi.cpp
index 61053739..2751d562 100644
--- a/muse2/muse/midi.cpp
+++ b/muse2/muse/midi.cpp
@@ -679,8 +679,13 @@ void Audio::collectEvents(MusECore::MidiTrack* track, unsigned int cts, unsigned
// Map drum-notes to the drum-map values
int instr = ev.pitch();
pitch = MusEGlobal::drumMap[instr].anote;
+ // Default to track port if -1 and track channel if -1.
port = MusEGlobal::drumMap[instr].port; //This changes to non-default port
+ if(port == -1)
+ port = track->outPort();
channel = MusEGlobal::drumMap[instr].channel;
+ if(channel == -1)
+ channel = track->outChannel();
velo = int(double(velo) * (double(MusEGlobal::drumMap[instr].vol) / 100.0)) ;
}
else if (track->type() != Track::NEW_DRUM) {
@@ -744,8 +749,13 @@ void Audio::collectEvents(MusECore::MidiTrack* track, unsigned int cts, unsigned
int instr = ctl & 0x7f;
ctl &= ~0xff;
int pitch = MusEGlobal::drumMap[instr].anote & 0x7f;
+ // Default to track port if -1 and track channel if -1.
port = MusEGlobal::drumMap[instr].port; //This changes to non-default port
+ if(port == -1)
+ port = track->outPort();
channel = MusEGlobal::drumMap[instr].channel;
+ if(channel == -1)
+ channel = track->outChannel();
MidiDevice* mdAlt = MusEGlobal::midiPorts[port].device();
if(mdAlt)
{
@@ -1044,11 +1054,15 @@ void Audio::processMidi()
int pitch = event.dataA();
//Map note that is played according to MusEGlobal::drumInmap
drumRecPitch = MusEGlobal::drumMap[(unsigned int)MusEGlobal::drumInmap[pitch]].enote;
+ // Default to track port if -1 and track channel if -1.
devport = MusEGlobal::drumMap[(unsigned int)MusEGlobal::drumInmap[pitch]].port;
+ if(devport == -1)
+ devport = track->outPort();
event.setPort(devport);
- channel = MusEGlobal::drumMap[(unsigned int)MusEGlobal::drumInmap[pitch]].channel;
+ int mapchan = MusEGlobal::drumMap[(unsigned int)MusEGlobal::drumInmap[pitch]].channel;
+ if(mapchan != -1)
+ event.setChannel(mapchan);
event.setA(MusEGlobal::drumMap[(unsigned int)MusEGlobal::drumInmap[pitch]].anote);
- event.setChannel(channel);
}
else if (track->type() == Track::NEW_DRUM)
{
@@ -1100,11 +1114,15 @@ void Audio::processMidi()
int dmindex = MusEGlobal::drumInmap[pitch] & 0x7f;
//Map note that is played according to MusEGlobal::drumInmap
drumRecPitch = MusEGlobal::drumMap[dmindex].enote;
+ // Default to track port if -1 and track channel if -1.
devport = MusEGlobal::drumMap[dmindex].port;
+ if(devport == -1)
+ devport = track->outPort();
event.setPort(devport);
- channel = MusEGlobal::drumMap[dmindex].channel;
+ int mapchan = MusEGlobal::drumMap[dmindex].channel;
+ if(mapchan != -1)
+ event.setChannel(mapchan);
event.setA(ctl | MusEGlobal::drumMap[dmindex].anote);
- event.setChannel(channel);
}
}
else if (track->type() == Track::NEW_DRUM) //FINDMICHJETZT TEST
@@ -1197,10 +1215,9 @@ void Audio::processMidi()
MusECore::MidiPlayEvent drumRecEvent = event;
drumRecEvent.setA(drumRecPitch);
drumRecEvent.setB(preVelo);
- // Tested: Events were not being recorded for a drum map entry pointing to a
- // different port. This must have been wrong - buildMidiEventList would ignore this. Tim.
+ // Changed to 'port'. Events were not being recorded for a drum map entry pointing to a
+ // different port. That must have been wrong - buildMidiEventList would ignore that. Tim.
drumRecEvent.setPort(port); //rec-event to current port
-
drumRecEvent.setChannel(track->outChannel()); //rec-event to current channel
rl->add(drumRecEvent);
}
diff --git a/muse2/muse/mididev.cpp b/muse2/muse/mididev.cpp
index 46db236a..8657991f 100644
--- a/muse2/muse/mididev.cpp
+++ b/muse2/muse/mididev.cpp
@@ -730,9 +730,16 @@ void MidiDevice::handleSeek()
drum_found = true;
for(int i = 0; i < DRUM_MAPSIZE; ++i)
{
- if(MusEGlobal::drumMap[i].port != _port || usedChans[MusEGlobal::drumMap[i].channel])
+ // Default to track port if -1 and track channel if -1.
+ int mport = MusEGlobal::drumMap[i].port;
+ if(mport == -1)
+ mport = (*imt)->outPort();
+ int mchan = MusEGlobal::drumMap[i].channel;
+ if(mchan == -1)
+ mchan = (*imt)->outChannel();
+ if(mport != _port || usedChans[mchan])
continue;
- usedChans[MusEGlobal::drumMap[i].channel] = true;
+ usedChans[mchan] = true;
++usedChanCount;
if(usedChanCount >= MIDI_CHANNELS)
break; // All are used, done searching.
diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp
index 300f6927..7984d904 100644
--- a/muse2/muse/midiedit/dcanvas.cpp
+++ b/muse2/muse/midiedit/dcanvas.cpp
@@ -420,8 +420,23 @@ CItem* DrumCanvas::newItem(int tick, int instrument, int velocity)
int port, channel;
if(old_style_drummap_mode)
{
+ // Default to track port if -1 and track channel if -1.
port = ourDrumMap[instrument].port;
+ if(port == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return 0;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ port = mt->outPort();
+ }
channel = ourDrumMap[instrument].channel;
+ if(channel == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return 0;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ channel = mt->outChannel();
+ }
}
else
{
@@ -649,8 +664,23 @@ void DrumCanvas::drawMoving(QPainter& p, const CItem* item, const QRect& rect)
if (pitch != playedPitch && _playEvents) {
keyReleased(playedPitch, true); // kinda backwards but this should pick the right port, stopPlayEvent does not know.
if (moving.size() == 1) {
+ // Default to track port if -1 and track channel if -1.
int port = old_style_drummap_mode ? ourDrumMap[instrument].port : dynamic_cast<MidiTrack*>(*instrument_map[instrument].tracks.begin())->outPort();
+ if(port == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ port = mt->outPort();
+ }
int channel = old_style_drummap_mode ? ourDrumMap[instrument].channel : dynamic_cast<MidiTrack*>(*instrument_map[instrument].tracks.begin())->outChannel();
+ if(channel == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ channel = mt->outChannel();
+ }
startPlayEvent(pitch, e.velo(), port, channel);
}
}
@@ -930,8 +960,23 @@ void DrumCanvas::keyPressed(int index, int velocity)
return;
// called from DList - play event
+ // Default to track port if -1 and track channel if -1.
int port = old_style_drummap_mode ? ourDrumMap[index].port : dynamic_cast<MidiTrack*>(*instrument_map[index].tracks.begin())->outPort();
+ if(port == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ port = mt->outPort();
+ }
int channel = old_style_drummap_mode ? ourDrumMap[index].channel : dynamic_cast<MidiTrack*>(*instrument_map[index].tracks.begin())->outChannel();
+ if(channel == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ channel = mt->outChannel();
+ }
int pitch = old_style_drummap_mode ? ourDrumMap[index].anote : instrument_map[index].pitch;
// play note:
if(_playEvents)
@@ -966,8 +1011,23 @@ void DrumCanvas::keyReleased(int index, bool)
return;
// called from DList - silence playing event
+ // Default to track port if -1 and track channel if -1.
int port = old_style_drummap_mode ? ourDrumMap[index].port : dynamic_cast<MidiTrack*>(*instrument_map[index].tracks.begin())->outPort();
+ if(port == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ port = mt->outPort();
+ }
int channel = old_style_drummap_mode ? ourDrumMap[index].channel : dynamic_cast<MidiTrack*>(*instrument_map[index].tracks.begin())->outChannel();
+ if(channel == -1)
+ {
+ if(!curPart || !curPart->track() || !curPart->track()->isMidiTrack())
+ return;
+ MidiTrack* mt = static_cast<MidiTrack*>(curPart->track());
+ channel = mt->outChannel();
+ }
int pitch = old_style_drummap_mode ? ourDrumMap[index].anote : instrument_map[index].pitch;
// release note:
diff --git a/muse2/muse/midiedit/dlist.cpp b/muse2/muse/midiedit/dlist.cpp
index de89834f..a8555cc9 100644
--- a/muse2/muse/midiedit/dlist.cpp
+++ b/muse2/muse/midiedit/dlist.cpp
@@ -30,6 +30,7 @@
#include <stdio.h>
#include "globals.h"
+#include "globaldefs.h"
#include "app.h"
#include "audio.h"
#include "pitchedit.h"
@@ -178,8 +179,14 @@ void DList::draw(QPainter& p, const QRect& rect)
if(old_style_drummap_mode)
{
- int channel = dm->channel;
- MusECore::MidiPort* mp = &MusEGlobal::midiPorts[dm->port];
+ // Default to track port if -1 and track channel if -1.
+ int channel = dm->channel;
+ if(channel == -1)
+ channel = cur_channel;
+ int mport = dm->port;
+ if(mport == -1)
+ mport = cur_track->outPort();
+ MusECore::MidiPort* mp = &MusEGlobal::midiPorts[mport];
int instr_pitch = dm->anote;
MusECore::MidiCtrlValListList* cll = mp->controller();
const int min = channel << 24;
@@ -351,11 +358,15 @@ void DList::draw(QPainter& p, const QRect& rect)
p.drawText(r.x() + 8, r.y(), r.width() - 8, r.height(), align, str);
}
break;
+
+ // Default to track port if -1 and track channel if -1.
case COL_OUTCHANNEL:
- s.setNum(dm->channel+1);
+ if(dm->channel != -1)
+ s.setNum(dm->channel+1);
break;
case COL_OUTPORT:
- s.sprintf("%d:%s", dm->port+1, MusEGlobal::midiPorts[dm->port].portname().toLatin1().constData());
+ if(dm->port != -1)
+ s.sprintf("%d:%s", dm->port+1, MusEGlobal::midiPorts[dm->port].portname().toLatin1().constData());
align = Qt::AlignVCenter | Qt::AlignLeft;
break;
}
@@ -411,7 +422,7 @@ void DList::devicesPopupMenu(MusECore::DrumMap* t, int x, int y, bool changeAll)
return;
}
- QMenu* p = MusECore::midiPortsPopup(this, t->port);
+ QMenu* p = MusECore::midiPortsPopup(this, t->port, true); // Include a "<Default>" entry.
QAction* act = p->exec(mapToGlobal(QPoint(x, y)), 0);
bool doemit = false;
if(!act)
@@ -423,23 +434,41 @@ void DList::devicesPopupMenu(MusECore::DrumMap* t, int x, int y, bool changeAll)
int n = act->data().toInt();
delete p;
- if(n < 0) // Invalid item.
+ const int openConfigId = MIDI_PORTS;
+ const int defaultId = MIDI_PORTS + 1;
+
+ if(n < 0 || n > defaultId) // Invalid item.
return;
-
- if(n >= MIDI_PORTS) // Show port config dialog.
+
+ if(n == openConfigId) // Show port config dialog.
{
MusEGlobal::muse->configMidiPorts();
return;
}
-
+
+ if(n == defaultId) // Means the <default> -1
+ n = -1;
+
if (!changeAll)
{
if(n != t->port)
{
+ int mport = n;
+ // Default to track port if -1 and track channel if -1.
+ if(mport == -1)
+ {
+ if(!dcanvas || !dcanvas->part())
+ return;
+ MusECore::Part* cur_part = dcanvas->part();
+ if(!cur_part->track() || !cur_part->track()->isMidiTrack())
+ return;
+ MusECore::MidiTrack* cur_track = static_cast<MusECore::MidiTrack*>(cur_part->track());
+ mport = cur_track->outPort();
+ }
MusEGlobal::audio->msgIdle(true);
- MusEGlobal::song->remapPortDrumCtrlEvents(getSelectedInstrument(), -1, -1, n);
+ MusEGlobal::song->remapPortDrumCtrlEvents(getSelectedInstrument(), -1, -1, mport);
MusEGlobal::audio->msgIdle(false);
- t->port = n;
+ t->port = n; // -1 is allowed
doemit = true;
}
}
@@ -631,8 +660,9 @@ void DList::viewMousePressEvent(QMouseEvent* ev)
break;
case COL_OUTCHANNEL: // this column isn't visible in new style drum mode
val = dm->channel + incVal;
- if (val < 0)
- val = 0;
+ // Default to track port if -1 and track channel if -1.
+ if (val < -1)
+ val = -1;
else if (val > 127)
val = 127;
@@ -653,7 +683,11 @@ void DList::viewMousePressEvent(QMouseEvent* ev)
if(val != dm->channel)
{
MusEGlobal::audio->msgIdle(true);
- MusEGlobal::song->remapPortDrumCtrlEvents(instrument, -1, val, -1);
+ int mchan = val;
+ if(mchan == -1 && dcanvas && dcanvas->part() && dcanvas->part()->track() && dcanvas->part()->track()->isMidiTrack())
+ mchan = static_cast<MusECore::MidiTrack*>(dcanvas->part()->track())->outChannel();
+ if(val != -1)
+ MusEGlobal::song->remapPortDrumCtrlEvents(instrument, -1, val, -1);
MusEGlobal::audio->msgIdle(false);
dm->channel = val;
MusEGlobal::song->update(SC_DRUMMAP);
@@ -836,7 +870,9 @@ void DList::lineEdit(int line, int section)
break;
case COL_OUTCHANNEL:
- editor->setText(QString::number(dm->channel+1));
+ // Default to track port if -1 and track channel if -1.
+ if(dm->channel != -1)
+ editor->setText(QString::number(dm->channel+1));
break;
}
@@ -970,11 +1006,13 @@ void DList::returnPressed()
break;
case COL_OUTCHANNEL:
- val--;
- if (val >= 16)
- val = 15;
- if (val < 0)
- val = 0;
+ // Default to track port if -1 and track channel if -1.
+ if(val <= 0)
+ val = -1;
+ else
+ val--;
+ if (val >= MIDI_CHANNELS)
+ val = MIDI_CHANNELS - 1;
break;
default: break;
@@ -1016,7 +1054,7 @@ void DList::returnPressed()
break;
case COL_OUTCHANNEL:
- editEntry->channel = val;
+ editEntry->channel = val;
break;
default:
diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp
index c64641e9..fd28d8ea 100644
--- a/muse2/muse/midiedit/drumedit.cpp
+++ b/muse2/muse/midiedit/drumedit.cpp
@@ -96,8 +96,8 @@ void DrumEdit::setHeaderWhatsThis()
header->setWhatsThis(COL_INPUTTRIGGER, tr("this input note triggers the sound"));
header->setWhatsThis(COL_NOTELENGTH, tr("note length"));
header->setWhatsThis(COL_NOTE, tr("this is the note which is played"));
- header->setWhatsThis(COL_OUTCHANNEL, tr("output channel (hold ctl to affect all rows)"));
- header->setWhatsThis(COL_OUTPORT, tr("output port (hold ctl to affect all rows)"));
+ header->setWhatsThis(COL_OUTCHANNEL, tr("override track output channel (hold ctl to affect all rows)"));
+ header->setWhatsThis(COL_OUTPORT, tr("override track output port (hold ctl to affect all rows)"));
header->setWhatsThis(COL_LEVEL1, tr("shift + control key: draw velocity level 1"));
header->setWhatsThis(COL_LEVEL2, tr("control key: draw velocity level 2"));
header->setWhatsThis(COL_LEVEL3, tr("shift key: draw velocity level 3"));
@@ -118,8 +118,8 @@ void DrumEdit::setHeaderToolTips()
header->setToolTip(COL_INPUTTRIGGER, tr("this input note triggers the sound"));
header->setToolTip(COL_NOTELENGTH, tr("note length"));
header->setToolTip(COL_NOTE, tr("this is the note which is played"));
- header->setToolTip(COL_OUTCHANNEL, tr("output channel (ctl: affect all rows)"));
- header->setToolTip(COL_OUTPORT, tr("output port (ctl: affect all rows)"));
+ header->setToolTip(COL_OUTCHANNEL, tr("override track output channel (ctl: affect all rows)"));
+ header->setToolTip(COL_OUTPORT, tr("override track output port (ctl: affect all rows)"));
header->setToolTip(COL_LEVEL1, tr("shift + control key: draw velocity level 1"));
header->setToolTip(COL_LEVEL2, tr("control key: draw velocity level 2"));
header->setToolTip(COL_LEVEL3, tr("shift key: draw velocity level 3"));
diff --git a/muse2/muse/midiedit/drummap.cpp b/muse2/muse/midiedit/drummap.cpp
index 477b2f9d..6853a3e5 100644
--- a/muse2/muse/midiedit/drummap.cpp
+++ b/muse2/muse/midiedit/drummap.cpp
@@ -41,7 +41,8 @@ namespace MusECore {
// GM default drum map
//---------------------------------------------------------
-const DrumMap blankdm = { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 127, 127, false };
+// Default to track port if -1 and track channel if -1. (These used to say 9, 0 for chan, port).
+const DrumMap blankdm = { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 127, 127, false };
// this map should have 128 entries, as it's used for initalising iNewDrumMap as well.
// iNewDrumMap only has 128 entries. also, the every "out-note" ("anote") should be
@@ -51,141 +52,141 @@ const DrumMap blankdm = { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 127,
// iNewDrumMap[ idrumMap[i].anote ] = idrumMap[i]
// if you ever want to change this, you will need to fix the initNewDrumMap() function.
const DrumMap idrumMap[DRUM_MAPSIZE] = {
- { QString("Acoustic Bass Drum"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 35, 35, false },
- { QString("Bass Drum 1"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 36, 36, false },
- { QString("Side Stick"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 37, 37, false },
- { QString("Acoustic Snare"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 38, 38, false },
- { QString("Hand Clap"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 39, 39, false },
- { QString("Electric Snare"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 40, 40, false },
- { QString("Low Floor Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 41, 41, false },
- { QString("Closed Hi-Hat"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 42, 42, false },
- { QString("High Floor Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 43, 43, false },
- { QString("Pedal Hi-Hat"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 44, 44, false },
- { QString("Low Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 45, 45, false },
- { QString("Open Hi-Hat"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 46, 46, false },
- { QString("Low-Mid Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 47, 47, false },
- { QString("Hi-Mid Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 48, 48, false },
- { QString("Crash Cymbal 1"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 49, 49, false },
- { QString("High Tom"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 50, 50, false },
-
- { QString("Ride Cymbal 1"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 51, 51, false },
- { QString("Chinese Cymbal"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 52, 52, false },
- { QString("Ride Bell"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 53, 53, false },
- { QString("Tambourine"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 54, 54, false },
- { QString("Splash Cymbal"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 55, 55, false },
- { QString("Cowbell"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 56, 56, false },
- { QString("Crash Cymbal 2"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 57, 57, false },
- { QString("Vibraslap"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 58, 58, false },
- { QString("Ride Cymbal 2"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 59, 59, false },
- { QString("Hi Bongo"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 60, 60, false },
- { QString("Low Bongo"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 61, 61, false },
- { QString("Mute Hi Conga"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 62, 62, false },
- { QString("Open Hi Conga"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 63, 63, false },
- { QString("Low Conga"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 64, 64, false },
- { QString("High Timbale"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 65, 65, false },
- { QString("Low Timbale"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 66, 66, false },
-
- { QString("High Agogo"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 67, 67, false },
- { QString("Low Agogo"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 68, 68, false },
- { QString("Cabasa"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 69, 69, false },
- { QString("Maracas"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 70, 70, false },
- { QString("Short Whistle"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 71, 71, false },
- { QString("Long Whistle"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 72, 72, false },
- { QString("Short Guiro"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 73, 73, false },
- { QString("Long Guiro"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 74, 74, false },
- { QString("Claves"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 75, 75, false },
- { QString("Hi Wood Block"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 76, 76, false },
- { QString("Low Wood Block"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 77, 77, false },
- { QString("Mute Cuica"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 78, 78, false },
- { QString("Open Cuica"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 79, 79, false },
- { QString("Mute Triangle"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 80, 80, false },
- { QString("Open Triangle"), 100, 16, 32, 9, 0, 70, 90, 127, 110, 81, 81, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 82, 82, false },
-
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 83, 83, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 84, 84, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 85, 85, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 86, 86, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 87, 87, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 88, 88, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 89, 89, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 90, 90, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 91, 91, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 92, 92, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 93, 93, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 94, 94, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 95, 95, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 96, 96, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 97, 97, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 98, 98, false },
-
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 99, 99, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 100, 100, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 101, 101, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 102, 102, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 103, 103, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 104, 104, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 105, 105, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 106, 106, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 107, 107, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 108, 108, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 109, 109, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 110, 110, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 111, 111, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 112, 112, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 113, 113, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 114, 114, false },
-
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 115, 115, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 116, 116, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 117, 117, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 118, 118, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 119, 119, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 120, 120, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 121, 121, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 122, 122, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 123, 123, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 124, 124, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 125, 125, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 126, 126, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 127, 127, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 0, 0, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 1, 1, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 2, 2, false },
-
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 3, 3, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 4, 4, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 5, 5, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 6, 6, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 7, 7, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 8, 8, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 9, 9, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 10, 10, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 11, 11, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 12, 12, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 13, 13, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 14, 14, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 15, 15, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 16, 16, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 17, 17, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 18, 18, false },
-
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 19, 19, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 20, 20, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 21, 21, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 22, 22, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 23, 23, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 24, 24, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 25, 25, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 26, 26, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 27, 27, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 28, 28, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 29, 29, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 30, 30, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 31, 31, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 32, 32, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 33, 33, false },
- { QString(""), 100, 16, 32, 9, 0, 70, 90, 127, 110, 34, 34, false }
+ { QString("Acoustic Bass Drum"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 35, 35, false },
+ { QString("Bass Drum 1"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 36, 36, false },
+ { QString("Side Stick"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 37, 37, false },
+ { QString("Acoustic Snare"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 38, 38, false },
+ { QString("Hand Clap"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 39, 39, false },
+ { QString("Electric Snare"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 40, 40, false },
+ { QString("Low Floor Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 41, 41, false },
+ { QString("Closed Hi-Hat"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 42, 42, false },
+ { QString("High Floor Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 43, 43, false },
+ { QString("Pedal Hi-Hat"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 44, 44, false },
+ { QString("Low Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 45, 45, false },
+ { QString("Open Hi-Hat"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 46, 46, false },
+ { QString("Low-Mid Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 47, 47, false },
+ { QString("Hi-Mid Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 48, 48, false },
+ { QString("Crash Cymbal 1"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 49, 49, false },
+ { QString("High Tom"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 50, 50, false },
+
+ { QString("Ride Cymbal 1"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 51, 51, false },
+ { QString("Chinese Cymbal"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 52, 52, false },
+ { QString("Ride Bell"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 53, 53, false },
+ { QString("Tambourine"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 54, 54, false },
+ { QString("Splash Cymbal"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 55, 55, false },
+ { QString("Cowbell"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 56, 56, false },
+ { QString("Crash Cymbal 2"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 57, 57, false },
+ { QString("Vibraslap"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 58, 58, false },
+ { QString("Ride Cymbal 2"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 59, 59, false },
+ { QString("Hi Bongo"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 60, 60, false },
+ { QString("Low Bongo"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 61, 61, false },
+ { QString("Mute Hi Conga"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 62, 62, false },
+ { QString("Open Hi Conga"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 63, 63, false },
+ { QString("Low Conga"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 64, 64, false },
+ { QString("High Timbale"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 65, 65, false },
+ { QString("Low Timbale"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 66, 66, false },
+
+ { QString("High Agogo"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 67, 67, false },
+ { QString("Low Agogo"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 68, 68, false },
+ { QString("Cabasa"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 69, 69, false },
+ { QString("Maracas"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 70, 70, false },
+ { QString("Short Whistle"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 71, 71, false },
+ { QString("Long Whistle"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 72, 72, false },
+ { QString("Short Guiro"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 73, 73, false },
+ { QString("Long Guiro"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 74, 74, false },
+ { QString("Claves"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 75, 75, false },
+ { QString("Hi Wood Block"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 76, 76, false },
+ { QString("Low Wood Block"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 77, 77, false },
+ { QString("Mute Cuica"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 78, 78, false },
+ { QString("Open Cuica"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 79, 79, false },
+ { QString("Mute Triangle"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 80, 80, false },
+ { QString("Open Triangle"), 100, 16, 32, -1, -1, 70, 90, 127, 110, 81, 81, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 82, 82, false },
+
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 83, 83, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 84, 84, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 85, 85, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 86, 86, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 87, 87, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 88, 88, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 89, 89, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 90, 90, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 91, 91, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 92, 92, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 93, 93, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 94, 94, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 95, 95, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 96, 96, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 97, 97, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 98, 98, false },
+
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 99, 99, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 100, 100, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 101, 101, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 102, 102, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 103, 103, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 104, 104, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 105, 105, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 106, 106, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 107, 107, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 108, 108, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 109, 109, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 110, 110, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 111, 111, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 112, 112, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 113, 113, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 114, 114, false },
+
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 115, 115, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 116, 116, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 117, 117, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 118, 118, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 119, 119, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 120, 120, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 121, 121, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 122, 122, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 123, 123, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 124, 124, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 125, 125, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 126, 126, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 127, 127, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 0, 0, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 1, 1, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 2, 2, false },
+
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 3, 3, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 4, 4, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 5, 5, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 6, 6, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 7, 7, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 8, 8, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 9, 9, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 10, 10, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 11, 11, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 12, 12, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 13, 13, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 14, 14, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 15, 15, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 16, 16, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 17, 17, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 18, 18, false },
+
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 19, 19, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 20, 20, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 21, 21, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 22, 22, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 23, 23, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 24, 24, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 25, 25, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 26, 26, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 27, 27, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 28, 28, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 29, 29, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 30, 30, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 31, 31, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 32, 32, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 33, 33, false },
+ { QString(""), 100, 16, 32, -1, -1, 70, 90, 127, 110, 34, 34, false }
};
DrumMap iNewDrumMap[128];
@@ -237,7 +238,18 @@ void initNewDrumMap()
}
}
+//---------------------------------------------------------
+// clearDrumMap
+// One-time only early init
+//---------------------------------------------------------
+void clearDrumMap()
+ {
+ for (int i = 0; i < DRUM_MAPSIZE; ++i) {
+ DrumMap& d = MusEGlobal::drumMap[i];
+ d.vol = d.len = d.channel = d.port = d.lv1 = d.lv2 = d.lv3 = d.lv4 = d.enote = d.anote = d.mute = 0;
+ }
+ }
//---------------------------------------------------------
// initDrumMap
// populate Inmap and Outmap
@@ -246,7 +258,7 @@ void initNewDrumMap()
void initDrumMap()
{
for (int i = 0; i < DRUM_MAPSIZE; ++i) {
- DrumMap d = MusEGlobal::drumMap[i];
+ DrumMap& d = MusEGlobal::drumMap[i];
//Make sure we're not overwriting any values loaded
//On init, all these values are zero. If so, just set the drummap entry to the initial drummap entry.
if (!(d.vol || d.len || d.channel || d.port || d.lv1 || d.lv2 || d.lv3 || d.lv4 || d.enote || d.anote || d.mute))
diff --git a/muse2/muse/midiedit/drummap.h b/muse2/muse/midiedit/drummap.h
index 2dca10d6..f8633b2f 100644
--- a/muse2/muse/midiedit/drummap.h
+++ b/muse2/muse/midiedit/drummap.h
@@ -40,8 +40,11 @@ struct DrumMap {
unsigned char vol; // playback volume, percent.
int quant;
int len; // len of event in ticks
+
+ // Default to track port if -1 and track channel if -1.
int channel; // midi channel
int port; // midi port
+
char lv1, lv2, lv3, lv4; // velocities
char enote, anote; // input note - output note
bool mute;
@@ -57,6 +60,7 @@ struct DrumMap {
extern DrumMap iNewDrumMap[128];
extern void initNewDrumMap();
+extern void clearDrumMap(); // One-time only early init
extern void initDrumMap();
extern void writeDrumMap(int level, Xml& xml, bool external);
extern void readDrumMap(Xml& xml, bool external);
diff --git a/muse2/muse/midiport.cpp b/muse2/muse/midiport.cpp
index e4759d31..758f577b 100644
--- a/muse2/muse/midiport.cpp
+++ b/muse2/muse/midiport.cpp
@@ -261,9 +261,16 @@ bool MidiPort::sendInitialControllers(unsigned start_time)
drum_found = true;
for(int i = 0; i < DRUM_MAPSIZE; ++i)
{
- if(MusEGlobal::drumMap[i].port != port || usedChans[MusEGlobal::drumMap[i].channel])
+ // Default to track port if -1 and track channel if -1.
+ int mport = MusEGlobal::drumMap[i].port;
+ if(mport == -1)
+ mport = (*imt)->outPort();
+ int mchan = MusEGlobal::drumMap[i].channel;
+ if(mchan == -1)
+ mchan = (*imt)->outChannel();
+ if(mport != port || usedChans[mchan])
continue;
- usedChans[MusEGlobal::drumMap[i].channel] = true;
+ usedChans[mchan] = true;
++usedChanCount;
if(usedChanCount >= MIDI_CHANNELS)
break; // All are used, done searching.
@@ -383,13 +390,15 @@ int MidiPort::portno() const
// midiPortsPopup
//---------------------------------------------------------
-QMenu* midiPortsPopup(QWidget* parent, int checkPort)
+QMenu* midiPortsPopup(QWidget* parent, int checkPort, bool includeDefaultEntry)
{
QMenu* p = new QMenu(parent);
QMenu* subp = 0;
QAction *act = 0;
QString name;
-
+ const int openConfigId = MIDI_PORTS;
+ const int defaultId = MIDI_PORTS + 1;
+
// Warn if no devices available. Add an item to open midi config.
int pi = 0;
for( ; pi < MIDI_PORTS; ++pi)
@@ -407,11 +416,18 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort)
}
act = p->addAction(QIcon(*MusEGui::settings_midiport_softsynthsIcon), qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Open midi config...")));
act->setCheckable(false);
- act->setData(MIDI_PORTS);
+ act->setData(openConfigId);
p->addSeparator();
p->addAction(new MusEGui::MenuTitleItem(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Output port/device")), p));
+ if(includeDefaultEntry)
+ {
+ act = p->addAction(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "default")));
+ act->setCheckable(false);
+ act->setData(defaultId);
+ }
+
for (int i = 0; i < MIDI_PORTS; ++i) {
MidiPort* port = &MusEGlobal::midiPorts[i];
MusECore::MidiDevice* md = port->device();
diff --git a/muse2/muse/midiport.h b/muse2/muse/midiport.h
index 71e36154..a8b09ed7 100644
--- a/muse2/muse/midiport.h
+++ b/muse2/muse/midiport.h
@@ -165,7 +165,7 @@ extern void initMidiPorts();
extern void setPortExclusiveDefOutChan(int /*port*/, int /*chan*/);
#endif
-extern QMenu* midiPortsPopup(QWidget* parent = 0, int checkPort = -1);
+extern QMenu* midiPortsPopup(QWidget* parent = 0, int checkPort = -1, bool includeDefaultEntry = false);
extern MidiControllerList defaultManagedMidiController;
} // namespace MusECore
diff --git a/muse2/muse/part.cpp b/muse2/muse/part.cpp
index 3f9fbd62..5f3aa8ee 100644
--- a/muse2/muse/part.cpp
+++ b/muse2/muse/part.cpp
@@ -381,37 +381,39 @@ void addPortCtrlEvents(Event& event, Part* part, bool doClones)
if(t && t->isMidiTrack())
{
MidiTrack* mt = (MidiTrack*)t;
- int port = mt->outPort();
+ MidiPort* mp = &MusEGlobal::midiPorts[mt->outPort()];
+ int ch = mt->outChannel();
unsigned len = p->lenTick();
- // Do not add events which are past the end of the part.
- if(event.tick() >= len)
- break;
-
- if(event.type() == Controller)
+ // Do not add events which are past the end of the part.
+ if(event.tick() >= len)
+ break;
+
+ if(event.type() == Controller)
+ {
+ int tck = event.tick() + p->tick();
+ int cntrl = event.dataA();
+ int val = event.dataB();
+
+ // Is it a drum controller event, according to the track port's instrument?
+ if(mt->type() == Track::DRUM)
{
- int ch = mt->outChannel();
- int tck = event.tick() + p->tick();
- int cntrl = event.dataA();
- int val = event.dataB();
- MidiPort* mp = &MusEGlobal::midiPorts[port];
-
- // Is it a drum controller event, according to the track port's instrument?
- if(mt->type() == Track::DRUM)
+ MidiController* mc = mp->drumController(cntrl);
+ if(mc)
{
- MidiController* mc = mp->drumController(cntrl);
- if(mc)
- {
- int note = cntrl & 0x7f;
- cntrl &= ~0xff;
+ int note = cntrl & 0x7f;
+ cntrl &= ~0xff;
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
- cntrl |= MusEGlobal::drumMap[note].anote;
- }
+ cntrl |= MusEGlobal::drumMap[note].anote;
}
-
- mp->setControllerVal(ch, tck, cntrl, val, p);
}
+
+ mp->setControllerVal(ch, tck, cntrl, val, p);
+ }
}
if(!doClones)
@@ -441,7 +443,8 @@ void addPortCtrlEvents(Part* part, bool doClones)
if(t && t->isMidiTrack())
{
MidiTrack* mt = (MidiTrack*)t;
- int port = mt->outPort();
+ MidiPort* mp = &MusEGlobal::midiPorts[mt->outPort()];
+ int ch = mt->outChannel();
const EventList* el = p->cevents();
unsigned len = p->lenTick();
for(ciEvent ie = el->begin(); ie != el->end(); ++ie)
@@ -453,11 +456,9 @@ void addPortCtrlEvents(Part* part, bool doClones)
if(ev.type() == Controller)
{
- int ch = mt->outChannel();
int tck = ev.tick() + p->tick();
int cntrl = ev.dataA();
int val = ev.dataB();
- MidiPort* mp = &MusEGlobal::midiPorts[port];
// Is it a drum controller event, according to the track port's instrument?
if(mt->type() == Track::DRUM)
@@ -467,8 +468,11 @@ void addPortCtrlEvents(Part* part, bool doClones)
{
int note = cntrl & 0x7f;
cntrl &= ~0xff;
- ch = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
cntrl |= MusEGlobal::drumMap[note].anote;
}
}
@@ -504,32 +508,34 @@ void removePortCtrlEvents(Event& event, Part* part, bool doClones)
if(t && t->isMidiTrack())
{
MidiTrack* mt = (MidiTrack*)t;
- int port = mt->outPort();
+ MidiPort* mp = &MusEGlobal::midiPorts[mt->outPort()];
+ int ch = mt->outChannel();
- if(event.type() == Controller)
+ if(event.type() == Controller)
+ {
+ int tck = event.tick() + p->tick();
+ int cntrl = event.dataA();
+
+ // Is it a drum controller event, according to the track port's instrument?
+ if(mt->type() == Track::DRUM)
{
- int ch = mt->outChannel();
- int tck = event.tick() + p->tick();
- int cntrl = event.dataA();
- MidiPort* mp = &MusEGlobal::midiPorts[port];
-
- // Is it a drum controller event, according to the track port's instrument?
- if(mt->type() == Track::DRUM)
+ MidiController* mc = mp->drumController(cntrl);
+ if(mc)
{
- MidiController* mc = mp->drumController(cntrl);
- if(mc)
- {
- int note = cntrl & 0x7f;
- cntrl &= ~0xff;
+ int note = cntrl & 0x7f;
+ cntrl &= ~0xff;
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
- cntrl |= MusEGlobal::drumMap[note].anote;
- }
+ cntrl |= MusEGlobal::drumMap[note].anote;
}
-
- mp->deleteController(ch, tck, cntrl, p);
}
- }
+
+ mp->deleteController(ch, tck, cntrl, p);
+ }
+ }
if(!doClones)
break;
@@ -558,7 +564,8 @@ void removePortCtrlEvents(Part* part, bool doClones)
if(t && t->isMidiTrack())
{
MidiTrack* mt = (MidiTrack*)t;
- int port = mt->outPort();
+ MidiPort* mp = &MusEGlobal::midiPorts[mt->outPort()];
+ int ch = mt->outChannel();
const EventList* el = p->cevents();
//unsigned len = p->lenTick();
for(ciEvent ie = el->begin(); ie != el->end(); ++ie)
@@ -572,10 +579,8 @@ void removePortCtrlEvents(Part* part, bool doClones)
if(ev.type() == Controller)
{
- int ch = mt->outChannel();
int tck = ev.tick() + p->tick();
int cntrl = ev.dataA();
- MidiPort* mp = &MusEGlobal::midiPorts[port];
// Is it a drum controller event, according to the track port's instrument?
if(mt->type() == Track::DRUM)
@@ -585,8 +590,11 @@ void removePortCtrlEvents(Part* part, bool doClones)
{
int note = cntrl & 0x7f;
cntrl &= ~0xff;
- ch = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
cntrl |= MusEGlobal::drumMap[note].anote;
}
}
diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp
index 3349686b..1ef45cd1 100644
--- a/muse2/muse/song.cpp
+++ b/muse2/muse/song.cpp
@@ -93,6 +93,7 @@ Song::Song(const char* name)
bounceTrack = NULL;
bounceOutput = NULL;
showSongInfo=true;
+ clearDrumMap(); // One-time only early init
clear(false);
}
@@ -669,8 +670,13 @@ void Song::remapPortDrumCtrlEvents(int mapidx, int newnote, int newchan, int new
if(note == mapidx)
{
int tick = ev.tick() + part->tick();
+ // Default to track port if -1 and track channel if -1.
int ch = MusEGlobal::drumMap[note].channel;
+ if(ch == -1)
+ ch = mt->outChannel();
int port = MusEGlobal::drumMap[note].port;
+ if(port == -1)
+ port = mt->outPort();
MidiPort* mp = &MusEGlobal::midiPorts[port];
cntrl = (cntrl & ~0xff) | MusEGlobal::drumMap[note].anote;
@@ -738,8 +744,11 @@ void Song::changeAllPortDrumCtrlEvents(bool add, bool drumonly)
if(trackmp->drumController(cntrl))
{
int note = cntrl & 0x7f;
- ch = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
cntrl = (cntrl & ~0xff) | MusEGlobal::drumMap[note].anote;
}
else
@@ -2663,8 +2672,11 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo
// Change the controller event's index into the drum map to an instrument note.
int note = ctlnum & 0x7f;
dctl &= ~0xff;
- channel = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ channel = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
dctl |= MusEGlobal::drumMap[note].anote;
}
diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp
index cbe8fd8c..25f93804 100644
--- a/muse2/muse/track.cpp
+++ b/muse2/muse/track.cpp
@@ -90,8 +90,11 @@ void addPortCtrlEvents(MidiTrack* t)
{
int note = cntrl & 0x7f;
cntrl &= ~0xff;
- ch = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
cntrl |= MusEGlobal::drumMap[note].anote;
}
}
@@ -132,8 +135,11 @@ void removePortCtrlEvents(MidiTrack* t)
{
int note = cntrl & 0x7f;
cntrl &= ~0xff;
- ch = MusEGlobal::drumMap[note].channel;
- mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
+ // Default to track port if -1 and track channel if -1.
+ if(MusEGlobal::drumMap[note].channel != -1)
+ ch = MusEGlobal::drumMap[note].channel;
+ if(MusEGlobal::drumMap[note].port != -1)
+ mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port];
cntrl |= MusEGlobal::drumMap[note].anote;
}
}
diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp
index 967ab9ac..90eec237 100644
--- a/muse2/muse/widgets/musewidgetsplug.cpp
+++ b/muse2/muse/widgets/musewidgetsplug.cpp
@@ -130,13 +130,13 @@ MusEGlobal::GlobalConfigValues config = {
QColor(0x00, 0x00, 0x00), // selected track Fg;
QColor(0, 160, 255), // midiTrackLabelBg; // Med blue
- QColor(0, 160, 255), // drumTrackLabelBg; // Med blue
- QColor(0, 160, 255), // newDrumTrackLabelBg; // Med blue
+ QColor(150, 177, 189), // drumTrackLabelBg; // Pale pastel blue
+ QColor(116, 232, 242), // newDrumTrackLabelBg; // Light blue
Qt::magenta, // waveTrackLabelBg;
Qt::green, // outputTrackLabelBg;
Qt::red, // inputTrackLabelBg;
Qt::yellow, // groupTrackLabelBg;
- QColor(120, 255, 255), // auxTrackLabelBg; // Light blue
+ QColor(142, 157, 6), // auxTrackLabelBg; // Med olive
QColor(255, 130, 0), // synthTrackLabelBg; // Med orange
QColor(220, 220, 220), // midiTrackBg;
diff --git a/muse2/share/drummaps/AKAI_SG01v_Bank_dr1.map b/muse2/share/drummaps/AKAI_SG01v_Bank_dr1.map
index adf9b5c0..14e6bce5 100644
--- a/muse2/share/drummaps/AKAI_SG01v_Bank_dr1.map
+++ b/muse2/share/drummaps/AKAI_SG01v_Bank_dr1.map
@@ -12,8 +12,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -26,8 +26,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -40,8 +40,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -54,8 +54,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -68,8 +68,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -82,8 +82,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -96,8 +96,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -110,8 +110,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -124,8 +124,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -138,8 +138,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -152,8 +152,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -166,8 +166,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -180,8 +180,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -194,8 +194,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -208,8 +208,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -222,8 +222,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -236,8 +236,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -250,8 +250,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -264,8 +264,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -278,8 +278,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -292,8 +292,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -306,8 +306,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -320,8 +320,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -334,8 +334,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -348,8 +348,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -362,8 +362,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -376,8 +376,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -390,8 +390,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -404,8 +404,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -418,8 +418,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -432,8 +432,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -446,8 +446,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -460,8 +460,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -474,8 +474,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -488,8 +488,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -502,8 +502,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -516,8 +516,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -530,8 +530,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -544,8 +544,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -558,8 +558,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -572,8 +572,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -586,8 +586,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -600,8 +600,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -614,8 +614,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -628,8 +628,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -642,8 +642,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -656,8 +656,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -670,8 +670,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -684,8 +684,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -698,8 +698,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -712,8 +712,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -726,8 +726,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -740,8 +740,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -754,8 +754,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -768,8 +768,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -782,8 +782,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -796,8 +796,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -810,8 +810,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -824,8 +824,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -838,8 +838,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -852,8 +852,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -866,8 +866,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -880,8 +880,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -894,8 +894,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -908,8 +908,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -922,8 +922,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -936,8 +936,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -950,8 +950,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -964,8 +964,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
diff --git a/muse2/share/drummaps/AKAI_SG01v_Bank_dr2.map b/muse2/share/drummaps/AKAI_SG01v_Bank_dr2.map
index 46db39a0..e9f82cf4 100644
--- a/muse2/share/drummaps/AKAI_SG01v_Bank_dr2.map
+++ b/muse2/share/drummaps/AKAI_SG01v_Bank_dr2.map
@@ -12,8 +12,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -26,8 +26,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -40,8 +40,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -54,8 +54,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -68,8 +68,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -82,8 +82,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -96,8 +96,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -110,8 +110,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -124,8 +124,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -138,8 +138,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -152,8 +152,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -166,8 +166,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -180,8 +180,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -194,8 +194,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -208,8 +208,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -222,8 +222,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -236,8 +236,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -250,8 +250,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -264,8 +264,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -278,8 +278,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -292,8 +292,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -306,8 +306,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -320,8 +320,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -334,8 +334,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -348,8 +348,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -362,8 +362,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -376,8 +376,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -390,8 +390,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -404,8 +404,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -418,8 +418,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -432,8 +432,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -446,8 +446,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -460,8 +460,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -474,8 +474,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -488,8 +488,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -502,8 +502,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -516,8 +516,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -530,8 +530,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -544,8 +544,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -558,8 +558,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -572,8 +572,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -586,8 +586,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -600,8 +600,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -614,8 +614,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -628,8 +628,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -642,8 +642,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -656,8 +656,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -670,8 +670,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -684,8 +684,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -698,8 +698,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -712,8 +712,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -726,8 +726,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -740,8 +740,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -754,8 +754,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -768,8 +768,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -782,8 +782,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -796,8 +796,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -810,8 +810,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -824,8 +824,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -838,8 +838,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -852,8 +852,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -866,8 +866,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -880,8 +880,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -894,8 +894,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -908,8 +908,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -922,8 +922,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -936,8 +936,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -950,8 +950,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -964,8 +964,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
diff --git a/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_GM_ReMap.map b/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_GM_ReMap.map
index 1106bda1..91bda70d 100644
--- a/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_GM_ReMap.map
+++ b/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_GM_ReMap.map
@@ -12,8 +12,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -26,8 +26,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -40,8 +40,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -54,8 +54,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -68,8 +68,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -82,8 +82,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -96,8 +96,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -110,8 +110,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -124,8 +124,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -138,8 +138,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -152,8 +152,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -166,8 +166,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -180,8 +180,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -194,8 +194,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -208,8 +208,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -222,8 +222,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -236,8 +236,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -250,8 +250,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -264,8 +264,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -278,8 +278,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -292,8 +292,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -306,8 +306,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -320,8 +320,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -334,8 +334,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -348,8 +348,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -362,8 +362,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -376,8 +376,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -390,8 +390,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -404,8 +404,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -418,8 +418,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -432,8 +432,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -446,8 +446,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -460,8 +460,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -474,8 +474,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -488,8 +488,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -502,8 +502,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -516,8 +516,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -530,8 +530,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -544,8 +544,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -558,8 +558,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -572,8 +572,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -586,8 +586,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -600,8 +600,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -614,8 +614,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -628,8 +628,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -642,8 +642,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -656,8 +656,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -670,8 +670,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -684,8 +684,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -698,8 +698,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -712,8 +712,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -726,8 +726,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -740,8 +740,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -754,8 +754,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -768,8 +768,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -782,8 +782,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -796,8 +796,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -810,8 +810,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -824,8 +824,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -838,8 +838,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -852,8 +852,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -866,8 +866,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -880,8 +880,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -894,8 +894,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -908,8 +908,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -922,8 +922,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -936,8 +936,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -950,8 +950,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -964,8 +964,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -978,8 +978,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -992,8 +992,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1006,8 +1006,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1020,8 +1020,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1034,8 +1034,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1048,8 +1048,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1062,8 +1062,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1076,8 +1076,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1090,8 +1090,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1104,8 +1104,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1118,8 +1118,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1132,8 +1132,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1146,8 +1146,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1160,8 +1160,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1174,8 +1174,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1188,8 +1188,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1202,8 +1202,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1216,8 +1216,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1230,8 +1230,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1244,8 +1244,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1258,8 +1258,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1272,8 +1272,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1286,8 +1286,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1300,8 +1300,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1314,8 +1314,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1328,8 +1328,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1342,8 +1342,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1356,8 +1356,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1370,8 +1370,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1384,8 +1384,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1398,8 +1398,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1412,8 +1412,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
diff --git a/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_Normal.map b/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_Normal.map
index a7d9632e..83494014 100644
--- a/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_Normal.map
+++ b/muse2/share/drummaps/KURZWEIL_SP2X_Drum_Map_Normal.map
@@ -6,8 +6,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -20,8 +20,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -34,8 +34,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -48,8 +48,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -62,8 +62,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -76,8 +76,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -90,8 +90,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -104,8 +104,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -118,8 +118,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -132,8 +132,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -146,8 +146,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -160,8 +160,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -174,8 +174,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -188,8 +188,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -202,8 +202,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -216,8 +216,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -230,8 +230,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -244,8 +244,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -258,8 +258,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -272,8 +272,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -286,8 +286,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -300,8 +300,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -314,8 +314,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -328,8 +328,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -342,8 +342,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -356,8 +356,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -370,8 +370,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -384,8 +384,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -398,8 +398,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -412,8 +412,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -426,8 +426,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -440,8 +440,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -454,8 +454,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -468,8 +468,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -482,8 +482,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -496,8 +496,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -510,8 +510,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -524,8 +524,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -538,8 +538,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -552,8 +552,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -566,8 +566,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -580,8 +580,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -594,8 +594,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -608,8 +608,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -622,8 +622,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -636,8 +636,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -650,8 +650,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -664,8 +664,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -678,8 +678,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -692,8 +692,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -706,8 +706,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -720,8 +720,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -734,8 +734,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -748,8 +748,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -762,8 +762,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -776,8 +776,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -790,8 +790,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -804,8 +804,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -818,8 +818,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -832,8 +832,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -846,8 +846,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -860,8 +860,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -874,8 +874,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -888,8 +888,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -902,8 +902,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -916,8 +916,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -930,8 +930,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -944,8 +944,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -958,8 +958,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -972,8 +972,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -986,8 +986,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1000,8 +1000,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1014,8 +1014,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1028,8 +1028,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1042,8 +1042,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1056,8 +1056,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1070,8 +1070,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1084,8 +1084,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1098,8 +1098,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1112,8 +1112,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1126,8 +1126,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1140,8 +1140,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1154,8 +1154,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1168,8 +1168,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1182,8 +1182,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1196,8 +1196,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1210,8 +1210,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1224,8 +1224,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1238,8 +1238,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1252,8 +1252,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1266,8 +1266,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1280,8 +1280,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1294,8 +1294,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1308,8 +1308,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1322,8 +1322,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1336,8 +1336,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1350,8 +1350,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1364,8 +1364,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1378,8 +1378,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1392,8 +1392,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
@@ -1406,8 +1406,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>9</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>127</lv3>
diff --git a/muse2/share/drummaps/addictive_drums.map b/muse2/share/drummaps/addictive_drums.map
index a513f67f..eb855d80 100644
--- a/muse2/share/drummaps/addictive_drums.map
+++ b/muse2/share/drummaps/addictive_drums.map
@@ -6,8 +6,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -20,8 +20,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -34,8 +34,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -48,8 +48,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -62,8 +62,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -76,8 +76,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -90,8 +90,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -104,8 +104,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -118,8 +118,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -132,8 +132,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -146,8 +146,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -160,8 +160,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -174,8 +174,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -188,8 +188,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -202,8 +202,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -216,8 +216,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -230,8 +230,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -244,8 +244,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -258,8 +258,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -272,8 +272,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -286,8 +286,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -300,8 +300,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -314,8 +314,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -328,8 +328,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -342,8 +342,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -356,8 +356,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -370,8 +370,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -384,8 +384,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -398,8 +398,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -412,8 +412,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -426,8 +426,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -440,8 +440,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -454,8 +454,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -468,8 +468,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -482,8 +482,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -496,8 +496,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -510,8 +510,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -524,8 +524,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -538,8 +538,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -552,8 +552,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -566,8 +566,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -580,8 +580,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -594,8 +594,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -608,8 +608,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -622,8 +622,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -636,8 +636,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -650,8 +650,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -664,8 +664,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -678,8 +678,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -692,8 +692,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -706,8 +706,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -720,8 +720,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -734,8 +734,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -748,8 +748,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -762,8 +762,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -776,8 +776,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -790,8 +790,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -804,8 +804,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -818,8 +818,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -832,8 +832,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -846,8 +846,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -860,8 +860,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -874,8 +874,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -888,8 +888,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -902,8 +902,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -916,8 +916,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -930,8 +930,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -944,8 +944,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -958,8 +958,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -972,8 +972,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -986,8 +986,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1000,8 +1000,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1014,8 +1014,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1028,8 +1028,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1042,8 +1042,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1056,8 +1056,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1070,8 +1070,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1084,8 +1084,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1098,8 +1098,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1112,8 +1112,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1126,8 +1126,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1140,8 +1140,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1154,8 +1154,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1168,8 +1168,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1182,8 +1182,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1196,8 +1196,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1210,8 +1210,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1224,8 +1224,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1238,8 +1238,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1252,8 +1252,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1266,8 +1266,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1280,8 +1280,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1294,8 +1294,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1308,8 +1308,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1322,8 +1322,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1336,8 +1336,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1350,8 +1350,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1364,8 +1364,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1378,8 +1378,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1392,8 +1392,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1406,8 +1406,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1420,8 +1420,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1434,8 +1434,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1448,8 +1448,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1462,8 +1462,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1476,8 +1476,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1490,8 +1490,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1504,8 +1504,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1518,8 +1518,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1532,8 +1532,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1546,8 +1546,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1560,8 +1560,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1574,8 +1574,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1588,8 +1588,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1602,8 +1602,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1616,8 +1616,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1630,8 +1630,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1644,8 +1644,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1658,8 +1658,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1672,8 +1672,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1686,8 +1686,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1700,8 +1700,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1714,8 +1714,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1728,8 +1728,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1742,8 +1742,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1756,8 +1756,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1770,8 +1770,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
@@ -1784,8 +1784,8 @@
<vol>100</vol>
<quant>16</quant>
<len>32</len>
- <channel>0</channel>
- <port>0</port>
+ <channel>-1</channel>
+ <port>-1</port>
<lv1>70</lv1>
<lv2>90</lv2>
<lv3>110</lv3>
diff --git a/muse2/share/drummaps/dx200_drum.map b/muse2/share/drummaps/dx200_drum.map
index 25011979..b283bb61 100644
--- a/muse2/share/drummaps/dx200_drum.map
+++ b/muse2/share/drummaps/dx200_drum.map
@@ -38,8 +38,8 @@
<entry><name>PickBass A#</name><channel>1</channel><enote>34</enote><anote>34</anote></entry>
<entry><name>PickBass B</name><channel>1</channel><enote>35</enote><anote>35</anote></entry>
<entry><name>BD Analog 808</name><channel>1</channel><enote>36</enote><anote>36</anote></entry>
-<entry><name>BD R&B 1</name><channel>1</channel><enote>37</enote><anote>37</anote></entry>
-<entry><name>BD R&B 2</name><channel>1</channel><enote>38</enote><anote>38</anote></entry>
+<entry><name>BD R&amp;B 1</name><channel>1</channel><enote>37</enote><anote>37</anote></entry>
+<entry><name>BD R&amp;B 2</name><channel>1</channel><enote>38</enote><anote>38</anote></entry>
<entry><name>BD Lo-Fi</name><channel>1</channel><enote>39</enote><anote>39</anote></entry>
<entry><name>BD Jungle</name><channel>1</channel><enote>40</enote><anote>40</anote></entry>
<entry><name>BD Hip 1</name><channel>1</channel><enote>41</enote><anote>41</anote></entry>
@@ -53,8 +53,8 @@
<entry><name>BD Elec 2 909</name><channel>1</channel><enote>49</enote><anote>49</anote></entry>
<entry><name>BD Elec 3 909</name><channel>1</channel><enote>50</enote><anote>50</anote></entry>
<entry><name>SD Live</name><channel>1</channel><enote>51</enote><anote>51</anote></entry>
-<entry><name>SD R&B 1</name><channel>1</channel><enote>52</enote><anote>52</anote></entry>
-<entry><name>SD R&B 2</name><channel>1</channel><enote>53</enote><anote>53</anote></entry>
+<entry><name>SD R&amp;B 1</name><channel>1</channel><enote>52</enote><anote>52</anote></entry>
+<entry><name>SD R&amp;B 2</name><channel>1</channel><enote>53</enote><anote>53</anote></entry>
<entry><name>SD Analog 808</name><channel>1</channel><enote>54</enote><anote>54</anote></entry>
<entry><name>SD Hip 1</name><channel>1</channel><enote>55</enote><anote>55</anote></entry>
<entry><name>SD Hip 2 Lo-Fi</name><channel>1</channel><enote>56</enote><anote>56</anote></entry>
@@ -62,14 +62,14 @@
<entry><name>SD Cut Jungle</name><channel>1</channel><enote>58</enote><anote>58</anote></entry>
<entry><name>SD Dodge</name><channel>1</channel><enote>59</enote><anote>59</anote></entry>
<entry><name>SD Timbra</name><channel>1</channel><enote>60</enote><anote>60</anote></entry>
-<entry><name>SD D&B</name><channel>1</channel><enote>61</enote><anote>61</anote></entry>
+<entry><name>SD D&amp;B</name><channel>1</channel><enote>61</enote><anote>61</anote></entry>
<entry><name>SD Dist 909</name><channel>1</channel><enote>62</enote><anote>62</anote></entry>
<entry><name>SD Elec 1 909</name><channel>1</channel><enote>63</enote><anote>63</anote></entry>
<entry><name>SD Elec 2 909</name><channel>1</channel><enote>64</enote><anote>64</anote></entry>
<entry><name>SD Rim 1</name><channel>1</channel><enote>65</enote><anote>65</anote></entry>
<entry><name>SD Rim 2</name><channel>1</channel><enote>66</enote><anote>66</anote></entry>
-<entry><name>HH D&B Cls</name><channel>1</channel><enote>67</enote><anote>67</anote></entry>
-<entry><name>HH D&B Opn</name><channel>1</channel><enote>68</enote><anote>68</anote></entry>
+<entry><name>HH D&amp;B Cls</name><channel>1</channel><enote>67</enote><anote>67</anote></entry>
+<entry><name>HH D&amp;B Opn</name><channel>1</channel><enote>68</enote><anote>68</anote></entry>
<entry><name>HH Ana Cls 1 909</name><channel>1</channel><enote>69</enote><anote>69</anote></entry>
<entry><name>HH Ana Opn 1 808</name><channel>1</channel><enote>70</enote><anote>70</anote></entry>
<entry><name>HH Syn Cls</name><channel>1</channel><enote>71</enote><anote>71</anote></entry>
diff --git a/muse2/share/templates/MusE.cfg b/muse2/share/templates/MusE.cfg
index b8be1eff..9634696a 100644
--- a/muse2/share/templates/MusE.cfg
+++ b/muse2/share/templates/MusE.cfg
@@ -139,12 +139,13 @@
<selectTrackFg r="0" g="0" b="0"></selectTrackFg>
<mixerBg r="0" g="0" b="0"></mixerBg>
<midiTrackLabelBg r="74" g="150" b="194"></midiTrackLabelBg>
- <drumTrackLabelBg r="74" g="150" b="194"></drumTrackLabelBg>
+ <drumTrackLabelBg2 r="150" g="177" b="189"></drumTrackLabelBg2>
+ <newDrumTrackLabelBg2 r="116" g="232" b="242"></newDrumTrackLabelBg2>
<waveTrackLabelBg r="213" g="128" b="202"></waveTrackLabelBg>
<outputTrackLabelBg r="84" g="185" b="58"></outputTrackLabelBg>
<inputTrackLabelBg r="199" g="75" b="64"></inputTrackLabelBg>
<groupTrackLabelBg r="236" g="214" b="90"></groupTrackLabelBg>
- <auxTrackLabelBg r="161" g="234" b="242"></auxTrackLabelBg>
+ <auxTrackLabelBg2 r="142" g="157" b="6"></auxTrackLabelBg2>
<synthTrackLabelBg r="229" g="157" b="101"></synthTrackLabelBg>
<midiTrackBg r="215" g="220" b="230"></midiTrackBg>
<ctrlGraphFg r="255" g="170" b="0"></ctrlGraphFg>
diff --git a/muse2/xpm/addtrack_addmiditrack_2.xpm b/muse2/xpm/addtrack_addmiditrack_2.xpm
new file mode 100644
index 00000000..27b28259
--- /dev/null
+++ b/muse2/xpm/addtrack_addmiditrack_2.xpm
@@ -0,0 +1,89 @@
+/* XPM */
+static const char * addtrack_addmiditrack_2_xpm[] = {
+"16 16 70 1",
+" c None",
+". c #739BFF",
+"+ c #799FFF",
+"@ c #83A6FF",
+"# c #87A9FF",
+"$ c #8FAFFF",
+"% c #97B4FF",
+"& c #85A7FF",
+"* c #000000",
+"= c #8BACFF",
+"- c #A3BDFF",
+"; c #BBCEFF",
+"> c #CFDDFF",
+", c #95B3FF",
+"' c #99B6FF",
+") c #9DB9FF",
+"! c #BDD0FF",
+"~ c #CDDBFF",
+"{ c #9FBAFF",
+"] c #ABC3FF",
+"^ c #A1BCFF",
+"/ c #A9C1FF",
+"( c #B1C7FF",
+"_ c #B7CBFF",
+": c #B3C8FF",
+"< c #C9DAFF",
+"[ c #BFD1FF",
+"} c #C3D4FF",
+"| c #0048FE",
+"1 c #A7C2FF",
+"2 c #C7D7FF",
+"3 c #002174",
+"4 c #C5D5FF",
+"5 c #ADC4FF",
+"6 c #91B0FF",
+"7 c #D3DFFF",
+"8 c #DFE9FF",
+"9 c #D9E5FF",
+"0 c #DBE5FF",
+"a c #E1E9FF",
+"b c #E3EAFF",
+"c c #D5E1FF",
+"d c #D1DEFF",
+"e c #D9E3FF",
+"f c #D3E3FF",
+"g c #D1DCFF",
+"h c #D7E1FF",
+"i c #DDE6FF",
+"j c #D7E3FF",
+"k c #C9D4FF",
+"l c #AFC4FF",
+"m c #B7C6FF",
+"n c #C9D8FF",
+"o c #CBD8FF",
+"p c #D3DEFF",
+"q c #D7E2FF",
+"r c #D9E6FF",
+"s c #C3D5FF",
+"t c #B5C6FF",
+"u c #A1B7FF",
+"v c #97B2FF",
+"w c #C7D4FF",
+"x c #BFD0FF",
+"y c #BDCEFF",
+"z c #C9D7FF",
+"A c #CBDBFF",
+"B c #CDD9FF",
+"C c #95B0FF",
+"D c #9DB2FF",
+"E c #8FB1FF",
+".+@#$%%&+**+=-;>",
+"+@$,'-)$@***$-!~",
+"&,{]]]^%$****]!~",
+"/(_:(]-{%*,**];<",
+"[}|_|(|1^*')*/_2",
+"~3333333-*'33334",
+">~|_|5|]-*,6|-(}",
+"<2|_|5|]1*,6|-:}",
+"42|;|((5]*{'|]!2",
+"[<|}|!****]]|;<7",
+"[333<*****_33338",
+"4>|9|*****2<|0ab",
+"4c8a80***d>d0aef",
+"<ghibba00j>>2klm",
+"nopqegr>~stlu')v",
+"wxyzABnzx_-C{'DE"};
diff --git a/muse2/xpm/addtrack_auxsend_2.xpm b/muse2/xpm/addtrack_auxsend_2.xpm
new file mode 100644
index 00000000..1a3a93db
--- /dev/null
+++ b/muse2/xpm/addtrack_auxsend_2.xpm
@@ -0,0 +1,62 @@
+/* XPM */
+static const char * addtrack_auxsend_2_xpm[] = {
+"16 16 43 1",
+" c None",
+". c #000000",
+"+ c #A1C400",
+"@ c #94B400",
+"# c #98B800",
+"$ c #8EAC00",
+"% c #809C00",
+"& c #6D8400",
+"* c #5C7000",
+"= c #687E00",
+"- c #829E00",
+"; c #8FAE00",
+"> c #9EC000",
+", c #99BA00",
+"' c #91B000",
+") c #738C00",
+"! c #637800",
+"~ c #728A00",
+"{ c #8CAA00",
+"] c #93B200",
+"^ c #9BBC00",
+"/ c #87A400",
+"( c #7A9400",
+"_ c #5B6E00",
+": c #84A000",
+"< c #A3C600",
+"[ c #85A200",
+"} c #7D9800",
+"| c #708800",
+"1 c #698000",
+"2 c #758E00",
+"3 c #A0C200",
+"4 c #7F9A00",
+"5 c #96B600",
+"6 c #5E7200",
+"7 c #516200",
+"8 c #8AA800",
+"9 c #7C9600",
+"0 c #4C5C00",
+"a c #789200",
+"b c #89A600",
+"c c #596C00",
+"d c #6E8600",
+".........+@#$%&*",
+"=-;$@.....>,'-)!",
+"=~%{]>#....^]/(&",
+"_):',@#'<...[[}|",
+"!)%/;>@'',...$:}",
+"12:/#]$.........",
+"~}%{.$3+.......4",
+"}:}...5#<.....;%",
+"2}.....<,<...@[~",
+"%.......<<+.^'}6",
+".........,;@;-&7",
+"%8{...,<<#3>@:|7",
+"9[']...<<#3>@:&0",
+"a}[b@....+3>$%&c",
+"d:;#@+.....@,$}1",
+"d:'#5+<........."};
diff --git a/muse2/xpm/addtrack_drumtrack_2.xpm b/muse2/xpm/addtrack_drumtrack_2.xpm
new file mode 100644
index 00000000..3a44bae1
--- /dev/null
+++ b/muse2/xpm/addtrack_drumtrack_2.xpm
@@ -0,0 +1,86 @@
+/* XPM */
+static const char * addtrack_drumtrack_2_xpm[] = {
+"16 16 67 1",
+" c None",
+". c #37A6A6",
+"+ c #3DB7B7",
+"@ c #54C6C6",
+"# c #6FCFCF",
+"$ c #95DCDC",
+"% c #B5E6E6",
+"& c #D4F0F0",
+"* c #E2F5F5",
+"= c #E8F7F7",
+"- c #EBF8F8",
+"; c #000000",
+"> c #E7F7F7",
+", c #D9F2F2",
+"' c #CFEFEF",
+") c #B8E7E7",
+"! c #9DDEDE",
+"~ c #65CCCC",
+"{ c #6CCECE",
+"] c #7BD2D2",
+"^ c #9ADDDD",
+"/ c #B0E4E4",
+"( c #B9E7E7",
+"_ c #A1DFDF",
+": c #8BD8D8",
+"< c #B2E5E5",
+"[ c #BFEAEA",
+"} c #DEF3F3",
+"| c #6DCECE",
+"1 c #B7E7E7",
+"2 c #9CDEDE",
+"3 c #C4EBEB",
+"4 c #C8EDED",
+"5 c #DBF2F2",
+"6 c #D6F1F1",
+"7 c #8FDADA",
+"8 c #E4F6F6",
+"9 c #C5ECEC",
+"0 c #7FD4D4",
+"a c #EEF9F9",
+"b c #174646",
+"c c #94DBDB",
+"d c #F1FAFA",
+"e c #4BC2C2",
+"f c #84D6D6",
+"g c #A0DFDF",
+"h c #82D5D5",
+"i c #5CC8C8",
+"j c #A4E0E0",
+"k c #55C6C6",
+"l c #A3E0E0",
+"m c #92DBDB",
+"n c #7DD3D3",
+"o c #5BC8C8",
+"p c #36A3A3",
+"q c #61CACA",
+"r c #40BFBF",
+"s c #49C2C2",
+"t c #76D1D1",
+"u c #80D4D4",
+"v c #ABE2E2",
+"w c #C1EAEA",
+"x c #C7ECEC",
+"y c #71CFCF",
+"z c #85D6D6",
+"A c #97DCDC",
+"B c #A9E2E2",
+".+@#$%&*=-;>,')!",
+"~{]^/',*=;;#*'(_",
+":^<[',}};;|#,;12",
+"34&,}56;;##,;;#7",
+">88*5&;;||9;;##0",
+"a-bb;;;bb/;;##c{",
+"d;ef;;ee;;;||ghi",
+"bef'''f;;;##j^0k",
+"bbef'fe;;b|jg$]@",
+"b.bbbbb;;b|l!mno",
+"b.e''fepb;;;;;0q",
+"b.f'''[.;;l|lr;{",
+"&be''fsbb;rll;;t",
+")[bbbbbb[;;;;;;u",
+"7^v1wx49[;#rr;$:",
+"qyzAv([3[(;;;jBl"};
diff --git a/muse2/xpm/addtrack_old_drumtrack.xpm b/muse2/xpm/addtrack_old_drumtrack.xpm
new file mode 100644
index 00000000..1fb633de
--- /dev/null
+++ b/muse2/xpm/addtrack_old_drumtrack.xpm
@@ -0,0 +1,81 @@
+/* XPM */
+static const char * addtrack_old_drumtrack_xpm[] = {
+"16 16 62 1",
+" c None",
+". c #396398",
+"+ c #3F6EA8",
+"@ c #4E7FBD",
+"# c #6791C6",
+"$ c #8CACD3",
+"% c #A9C1DE",
+"& c #C6D6E9",
+"* c #D1DEEE",
+"= c #D7E2F0",
+"- c #DAE4F1",
+"; c #D6E1EF",
+"> c #CAD9EB",
+", c #C0D1E7",
+"' c #ACC3DF",
+") c #000000",
+"! c #5E8BC3",
+"~ c #648FC5",
+"{ c #739ACA",
+"] c #90AFD5",
+"^ c #A4BDDD",
+"/ c #ADC4E0",
+"( c #81A4D0",
+"_ c #A6BEDD",
+": c #B1C7E2",
+"< c #CDDBEC",
+"[ c #6690C5",
+"} c #AAC2DF",
+"| c #B6CAE3",
+"1 c #BACDE5",
+"2 c #C7D7EA",
+"3 c #D3DFEE",
+"4 c #B7CBE4",
+"5 c #DDE6F2",
+"6 c #172940",
+"7 c #8AAAD3",
+"8 c #E0E8F3",
+"9 c #4679B9",
+"0 c #7A9FCD",
+"a c #94B2D7",
+"b c #97B4D8",
+"c c #99B5D8",
+"d c #96B3D7",
+"e c #92B0D6",
+"f c #91AFD5",
+"g c #7FA2CC",
+"h c #89A9D1",
+"i c #7EA0CB",
+"j c #386195",
+"k c #85A6CF",
+"l c #7D9FCB",
+"m c #8EADD3",
+"n c #87A7D0",
+"o c #4578B8",
+"p c #82A4CE",
+"q c #7FA1CD",
+"r c #8AAAD2",
+"s c #7EA0CC",
+"t c #86A7D1",
+"u c #9EB9DB",
+"v c #B3C8E2",
+"w c #B9CCE4",
+"..+@#$%&*=-;;>,'",
+"..+@#$%&*=-);>,'",
+"!!~{]^,>*=))#*,/",
+"((]_:,><<))[#>)}",
+"||1&><>2))##>))#",
+";;33*>&))[[4))##",
+"55-66)))66^))##7",
+"88)90))99)))[[ab",
+"8690,,,0)))##cde",
+"86690,09))6[cbfg",
+"86.66666))6[bbhi",
+"86.9,,09j6[bbekl",
+"86.0,,,:.6[bbmnl",
+"&&69,,0o66[bepql",
+"'':666666:bbrsll",
+"tt]u}vw14:bbrlll"};