From 0e67ba1af056a0df0b6b01c70bb6cb12063479a8 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sun, 9 Oct 2011 17:10:21 +0000 Subject: settings for importing midi --- muse2/muse/conf.cpp | 3 + muse2/muse/gconfig.cpp | 1 + muse2/muse/gconfig.h | 1 + muse2/muse/importmidi.cpp | 21 +- muse2/muse/midiedit/scoreedit.cpp | 3 + muse2/muse/widgets/configmidifilebase.ui | 491 +++++++++++++++++-------------- muse2/muse/widgets/musewidgetsplug.cpp | 1 + 7 files changed, 285 insertions(+), 236 deletions(-) (limited to 'muse2') diff --git a/muse2/muse/conf.cpp b/muse2/muse/conf.cpp index 027ad431..22259041 100644 --- a/muse2/muse/conf.cpp +++ b/muse2/muse/conf.cpp @@ -1610,6 +1610,8 @@ void MidiFileConfig::updateValues() optNoteOffs->setChecked(MusEGlobal::config.expOptimNoteOffs); twoByteTimeSigs->setChecked(MusEGlobal::config.exp2ByteTimeSigs); splitPartsCheckBox->setChecked(MusEGlobal::config.importMidiSplitParts); + newDrumsCheckbox->setChecked(MusEGlobal::config.importMidiNewStyleDrum); + oldDrumsCheckbox->setChecked(!MusEGlobal::config.importMidiNewStyleDrum); } //--------------------------------------------------------- @@ -1629,6 +1631,7 @@ void MidiFileConfig::okClicked() MusEGlobal::config.expOptimNoteOffs = optNoteOffs->isChecked(); MusEGlobal::config.exp2ByteTimeSigs = twoByteTimeSigs->isChecked(); MusEGlobal::config.importMidiSplitParts = splitPartsCheckBox->isChecked(); + MusEGlobal::config.importMidiNewStyleDrum = newDrumsCheckbox->isChecked(); MusEGlobal::muse->changeConfig(true); // write config file close(); diff --git a/muse2/muse/gconfig.cpp b/muse2/muse/gconfig.cpp index 65397fe4..8aff870d 100644 --- a/muse2/muse/gconfig.cpp +++ b/muse2/muse/gconfig.cpp @@ -140,6 +140,7 @@ MusEGui::GlobalConfigValues config = { false, // midi export file 2 byte timesigs instead of 4 true, // optimize midi export file note offs true, // Split imported tracks into multiple parts. + true, // importMidiNewStyleDrum 1, // startMode QString(""), // start song path 384, // gui division diff --git a/muse2/muse/gconfig.h b/muse2/muse/gconfig.h index a6b55557..cf205eba 100644 --- a/muse2/muse/gconfig.h +++ b/muse2/muse/gconfig.h @@ -121,6 +121,7 @@ struct GlobalConfigValues { bool exp2ByteTimeSigs; // Export 2 byte time sigs instead of 4 bytes bool expOptimNoteOffs; // Save space by replacing note offs with note on velocity 0 bool importMidiSplitParts; // Split imported tracks into multiple parts. + bool importMidiNewStyleDrum; // Use new style drum tracks int startMode; // 0 - start with last song // 1 - start with default template diff --git a/muse2/muse/importmidi.cpp b/muse2/muse/importmidi.cpp index 90e8cecb..86738fe4 100644 --- a/muse2/muse/importmidi.cpp +++ b/muse2/muse/importmidi.cpp @@ -181,8 +181,12 @@ bool MusE::importMidi(const QString name, bool merge) MusECore::MidiTrack* track = new MusECore::MidiTrack(); if ((*t)->isDrumTrack) - track->setType(MusECore::Track::NEW_DRUM); //FINDMICHJETZT config option - //track->setType(MusECore::Track::DRUM); + { + if (MusEGlobal::config.importMidiNewStyleDrum) + track->setType(MusECore::Track::NEW_DRUM); + else + track->setType(MusECore::Track::DRUM); + } track->setOutChannel(channel); track->setOutPort(port); @@ -201,12 +205,13 @@ 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::NEW_DRUM); //FINDMICHJETZT config option - /* + if (MusEGlobal::config.importMidiNewStyleDrum) + track->setType(MusECore::Track::NEW_DRUM); + else + { track->setType(MusECore::Track::DRUM); - // + // 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; @@ -222,9 +227,9 @@ bool MusE::importMidi(const QString name, bool merge) if(mc) ev.setA((ctl & ~0xff) | MusEGlobal::drumOutmap[ctl & 0x7f]); } - } - */ } + } + } processTrack(track); diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index 8f647966..cf436465 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -4603,6 +4603,9 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set o drum editor: channel-stuff * o clearly state in the changelog: when having multiple drumeditors open, diff --git a/muse2/muse/widgets/configmidifilebase.ui b/muse2/muse/widgets/configmidifilebase.ui index 920596ec..c050450c 100644 --- a/muse2/muse/widgets/configmidifilebase.ui +++ b/muse2/muse/widgets/configmidifilebase.ui @@ -1,238 +1,273 @@ - - - - - ConfigMidiFileBase - - - - 0 - 0 - 548 - 353 - - - - MusE: Config Midi File Import/Export - - - true - - + + ConfigMidiFileBase + + + + 0 + 0 + 548 + 346 + + + + MusE: Config Midi File Import/Export + + + true + + + + + + + 0 + 0 + + + + Import: + + - - - - 5 - 1 - 0 - 0 - - - - Import: - - - - - - Split tracks into &parts - - - Alt+P - - - Split tracks into parts, or one single part - - - - - + + + Split tracks into parts, or one single part + + + Split tracks into &parts + + + Alt+P + + - - - - 5 - 7 - 0 - 0 - + + + + + Use new-style drum tracks - - Export: + + true - - - - - - - - - 96 - - - - - 192 - - - - - 384 - - - - - - - - true - - - Enable extended smf format (currently not implemented) - - - - - - - Use &2-byte time signatures instead of standard 4 - - - Alt+2 - - - - - - - Copyright: - - - false - - - - - - - Format: - - - false - - - - - - - Division: - - - false - - - - - - - Save space by replacing note-offs with &zero velocity note-ons - - - Alt+Z - - - - - - - - 0 (single track) - - - - - 1 (multiple tracks) - - - - - - - - - - - 0 + + + + + + Use old-style drum tracks - - 6 - - - - - - 20 - 20 - - - - QSizePolicy::Expanding - - - Qt::Horizontal - - - - - - - &OK - - - - - - true - - - true - - - - - - - &Cancel - - - - - - true - - - - + + + + + + + + + + + + 0 + 0 + + + + Export: + + + + + + + + + + 96 + + + + + 192 + + + + + 384 + + + + + + + + true + + + Enable extended smf format (currently not implemented) + + + + + + + Use &2-byte time signatures instead of standard 4 + + + Alt+2 + + + + + + + Copyright: + + + false + + + + + + + Format: + + + false + + + + + + + Division: + + + false + + + + + + + Save space by replacing note-offs with &zero velocity note-ons + + + Alt+Z + + + + + + + + 0 (single track) + + + + + 1 (multiple tracks) + + + + + + + + + + 6 + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + &OK + + + + + + true + + + true + + + + + + + &Cancel + + + + + + true + + + - - - - - buttonOk - clicked() - ConfigMidiFileBase - accept() - - - buttonCancel - clicked() - ConfigMidiFileBase - reject() - - + + + + + + + + buttonOk + clicked() + ConfigMidiFileBase + accept() + + + 20 + 20 + + + 20 + 20 + + + + + buttonCancel + clicked() + ConfigMidiFileBase + reject() + + + 20 + 20 + + + 20 + 20 + + + + diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp index 26a3054d..c1674e75 100644 --- a/muse2/muse/widgets/musewidgetsplug.cpp +++ b/muse2/muse/widgets/musewidgetsplug.cpp @@ -167,6 +167,7 @@ GlobalConfigValues config = { false, // midi export file 2 byte timesigs instead of 4 true, // optimize midi export file note offs true, // Split imported tracks into multiple parts. + true, // importMidiNewStyleDrum 1, // startMode QString(""), // start song path 384, // gui division -- cgit v1.2.3