From bc0cd7939d74efd6d03d1aba02db597c2942bd7d Mon Sep 17 00:00:00 2001 From: "Andrey M. Tokarev" Date: Sat, 12 Jul 2014 12:59:51 +0400 Subject: [PATCH] Add more columns; multirow header; adjust horiz. scroll speed --- mscore/importmidi_model.cpp | 115 +++++++++++++++++++++++++++++++++++- mscore/importmidi_view.cpp | 2 +- 2 files changed, 115 insertions(+), 2 deletions(-) diff --git a/mscore/importmidi_model.cpp b/mscore/importmidi_model.cpp index 774ddb6982..73b586ad08 100644 --- a/mscore/importmidi_model.cpp +++ b/mscore/importmidi_model.cpp @@ -217,7 +217,7 @@ void TracksModel::reset(const MidiOperations::Opers &opers, { } QString headerName() const { return QCoreApplication::translate( - "MIDI import operations", "Is human"); } + "MIDI import operations", "Is human\nperformance"); } bool isForAllTracksOnly() const { return true; } QVariant value(int /*trackIndex*/) const { @@ -407,6 +407,119 @@ void TracksModel::reset(const MidiOperations::Opers &opers, }; _columns.push_back(std::unique_ptr(new StaffSplit(_trackOpers))); + //----------------------------------------------------------------------- + struct ClefChanges : Column { + ClefChanges(MidiOperations::Opers &opers) : Column(opers) + { + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Clef\nchanges"); } + QVariant value(int trackIndex) const + { + return _opers.changeClef.value(trackIndex); + } + void setValue(const QVariant &value, int trackIndex) + { + _opers.changeClef.setValue(trackIndex, value.toBool()); + } + }; + _columns.push_back(std::unique_ptr(new ClefChanges(_trackOpers))); + + //----------------------------------------------------------------------- + struct Simplify : Column { + Simplify(MidiOperations::Opers &opers) : Column(opers) + { + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Simplify\ndurations"); } + QVariant value(int trackIndex) const + { + return _opers.simplifyDurations.value(trackIndex); + } + void setValue(const QVariant &value, int trackIndex) + { + _opers.simplifyDurations.setValue(trackIndex, value.toBool()); + } + }; + _columns.push_back(std::unique_ptr(new Simplify(_trackOpers))); + + //----------------------------------------------------------------------- + struct ShowStaccato : Column { + ShowStaccato(MidiOperations::Opers &opers) : Column(opers) + { + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Show\nstaccato"); } + QVariant value(int trackIndex) const + { + return _opers.showStaccato.value(trackIndex); + } + void setValue(const QVariant &value, int trackIndex) + { + _opers.showStaccato.setValue(trackIndex, value.toBool()); + } + }; + _columns.push_back(std::unique_ptr(new ShowStaccato(_trackOpers))); + + //----------------------------------------------------------------------- + struct DottedNotes : Column { + DottedNotes(MidiOperations::Opers &opers) : Column(opers) + { + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Dotted\nnotes"); } + QVariant value(int trackIndex) const + { + return _opers.useDots.value(trackIndex); + } + void setValue(const QVariant &value, int trackIndex) + { + _opers.useDots.setValue(trackIndex, value.toBool()); + } + }; + _columns.push_back(std::unique_ptr(new DottedNotes(_trackOpers))); + + //----------------------------------------------------------------------- + struct PickupBar : Column { + PickupBar(MidiOperations::Opers &opers) : Column(opers) + { + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Recognize\npickup measure"); } + bool isForAllTracksOnly() const { return true; } + QVariant value(int /*trackIndex*/) const + { + return _opers.searchPickupMeasure; + } + void setValue(const QVariant &value, int /*trackIndex*/) + { + _opers.searchPickupMeasure = value.toBool(); + } + }; + _columns.push_back(std::unique_ptr(new PickupBar(_trackOpers))); + + //----------------------------------------------------------------------- + struct Swing : Column { + Swing(MidiOperations::Opers &opers) : Column(opers) + { + _values.push_back(QCoreApplication::translate("MIDI import operations", "None (1:1)")); + _values.push_back(QCoreApplication::translate("MIDI import operations", "Swing (2:1)")); + _values.push_back(QCoreApplication::translate("MIDI import operations", "Shuffle (3:1)")); + } + QString headerName() const { return QCoreApplication::translate( + "MIDI import operations", "Detect swing"); } + int width() const { return 130; } + QVariant value(int trackIndex) const + { + return _values[(int)_opers.swing.value(trackIndex)]; + } + void setValue(const QVariant &value, int trackIndex) + { + _opers.swing.setValue(trackIndex, (MidiOperations::Swing)value.toInt()); + } + }; + _columns.push_back(std::unique_ptr(new Swing(_trackOpers))); + endResetModel(); } diff --git a/mscore/importmidi_view.cpp b/mscore/importmidi_view.cpp index 411b114e54..533c4539ab 100644 --- a/mscore/importmidi_view.cpp +++ b/mscore/importmidi_view.cpp @@ -367,7 +367,7 @@ void TracksView::wheelEvent(QWheelEvent *event) if ((event->modifiers() & Qt::ShiftModifier) || (event->modifiers() & Qt::ControlModifier)) { const int degrees = event->delta() / 8; const int steps = degrees / 15; - const int pixelsToScroll = steps * 60; + const int pixelsToScroll = steps * 30; horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pixelsToScroll); } else {