diff options
author | Florian Jung <flo@windfisch.org> | 2011-10-09 16:02:35 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2011-10-09 16:02:35 +0000 |
commit | 9a4a4ee6fd5c2a73216240da912f7273aacaa11e (patch) | |
tree | 9f7b2aa792d292d45d0bc670a47e4d4329b92f6d /muse2/muse/importmidi.cpp | |
parent | 159a2b58fd28c7a00b9b723dcea77e6c2ec2e874 (diff) |
recording and importing midi now works for new style drum tracks plus
fixes for old-style drum tracks
Diffstat (limited to 'muse2/muse/importmidi.cpp')
-rw-r--r-- | muse2/muse/importmidi.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/muse2/muse/importmidi.cpp b/muse2/muse/importmidi.cpp index 593ddb79..90e8cecb 100644 --- a/muse2/muse/importmidi.cpp +++ b/muse2/muse/importmidi.cpp @@ -181,7 +181,8 @@ bool MusE::importMidi(const QString name, bool merge) MusECore::MidiTrack* track = new MusECore::MidiTrack(); if ((*t)->isDrumTrack) - track->setType(MusECore::Track::DRUM); //FINDMICHJETZT + track->setType(MusECore::Track::NEW_DRUM); //FINDMICHJETZT config option + //track->setType(MusECore::Track::DRUM); track->setOutChannel(channel); track->setOutPort(port); @@ -200,15 +201,17 @@ bool MusE::importMidi(const QString name, bool merge) // Hmm. buildMidiEventList already takes care of this. // But it seems to work. How? Must test. if (channel == 9 && MusEGlobal::song->mtype() != MT_UNKNOWN) { - track->setType(MusECore::Track::DRUM); //FINDMICHJETZT + track->setType(MusECore::Track::NEW_DRUM); //FINDMICHJETZT config option + /* + track->setType(MusECore::Track::DRUM); // - // remap drum pitch with drumInmap + // remap drum pitch with drumOutmap // MusECore::EventList* tevents = track->events(); for (MusECore::iEvent i = tevents->begin(); i != tevents->end(); ++i) { MusECore::Event ev = i->second; if (ev.isNote()) { - int pitch = MusEGlobal::drumInmap[ev.pitch()]; + int pitch = MusEGlobal::drumOutmap[ev.pitch()]; ev.setPitch(pitch); } else @@ -217,9 +220,10 @@ bool MusE::importMidi(const QString name, bool merge) int ctl = ev.dataA(); MusECore::MidiController *mc = mport->drumController(ctl); if(mc) - ev.setA((ctl & ~0xff) | MusEGlobal::drumInmap[ctl & 0x7f]); + ev.setA((ctl & ~0xff) | MusEGlobal::drumOutmap[ctl & 0x7f]); } } + */ } processTrack(track); |