From bfebf95b66daf78696661ac7f8629dc0fab43653 Mon Sep 17 00:00:00 2001 From: Werner Schweer Date: Sun, 12 Feb 2017 10:31:19 +0100 Subject: [PATCH] update inspector for lyrics --- libmscore/lyrics.cpp | 23 +++++++------ mscore/inspector/inspector.cpp | 6 +--- mscore/inspector/inspector.h | 3 +- mscore/inspector/inspector_stafftypechange.ui | 6 ++-- mtest/CMakeLists.txt | 2 +- .../libmscore/spanners/lyricsline02-ref.mscx | 21 +----------- .../libmscore/spanners/lyricsline03-ref.mscx | 23 ------------- .../libmscore/spanners/lyricsline04-ref.mscx | 23 ------------- .../libmscore/spanners/lyricsline05-ref.mscx | 32 +------------------ mtest/libmscore/spanners/tst_spanners.cpp | 16 +--------- 10 files changed, 20 insertions(+), 135 deletions(-) diff --git a/libmscore/lyrics.cpp b/libmscore/lyrics.cpp index c50d4535f54b0..98f12b0c203fe 100644 --- a/libmscore/lyrics.cpp +++ b/libmscore/lyrics.cpp @@ -193,14 +193,14 @@ void Lyrics::add(Element* el) void Lyrics::remove(Element* el) { - if (el->type() == ElementType::LYRICSLINE) { + if (el->isLyricsLine()) { // only if separator still exists and is the right one if (_separator != nullptr && el == _separator) { // Lyrics::remove() and LyricsLine::removeUnmanaged() call each other; // be sure each finds a clean context LyricsLine* separ = _separator; - _separator = nullptr; - separ->setParent(nullptr); + _separator = 0; + separ->setParent(0); separ->removeUnmanaged(); delete separ; } @@ -223,9 +223,9 @@ bool Lyrics::isMelisma() const // if so, it is a melisma only if there is no lyric in same verse on next CR if (_syllabic == Syllabic::BEGIN || _syllabic == Syllabic::MIDDLE) { // find next CR on same track and check for existence of lyric in same verse - ChordRest* cr = chordRest(); - Segment* s = cr->segment()->next1(); - ChordRest* ncr = s ? s->nextChordRest(cr->track()) : nullptr; + ChordRest* cr = chordRest(); + Segment* s = cr->segment()->next1(); + ChordRest* ncr = s ? s->nextChordRest(cr->track()) : 0; if (ncr && !ncr->lyrics(_no, placement())) return true; } @@ -475,12 +475,11 @@ Element* Lyrics::drop(const DropData& data) Text::drop(data); return 0; } - Text* e = static_cast(data.element); -// if (!(e->isText() && e->subStyle() == SubStyle::???)) { - if (!e->isText()) { - delete e; + if (!data.element->isText()) { + delete data.element; return 0; } + Text* e = toText(data.element); e->setParent(this); score()->undoAddElement(e); return e; @@ -606,13 +605,13 @@ LyricsLine::LyricsLine(Score* s) setDiagonal(false); setLineWidth(Spatium(Lyrics::LYRICS_DASH_DEFAULT_LINE_THICKNESS)); setAnchor(Spanner::Anchor::SEGMENT); - _nextLyrics = nullptr; + _nextLyrics = 0; } LyricsLine::LyricsLine(const LyricsLine& g) : SLine(g) { - _nextLyrics = nullptr; + _nextLyrics = 0; } //--------------------------------------------------------- diff --git a/mscore/inspector/inspector.cpp b/mscore/inspector/inspector.cpp index 7fcc348a5b54f..5767c3481b999 100644 --- a/mscore/inspector/inspector.cpp +++ b/mscore/inspector/inspector.cpp @@ -893,9 +893,8 @@ void InspectorTempoText::postInit() //--------------------------------------------------------- InspectorLyric::InspectorLyric(QWidget* parent) - : InspectorElementBase(parent) + : InspectorTextBase(parent) { - t.setupUi(addWidget()); l.setupUi(addWidget()); const std::vector il = { @@ -903,7 +902,6 @@ InspectorLyric::InspectorLyric(QWidget* parent) { P_ID::VERSE, 0, 0, l.verse, l.resetVerse } }; const std::vector ppList = { - { t.title, t.panel }, { l.title, l.panel } }; l.placement->clear(); @@ -922,10 +920,8 @@ void InspectorLyric::valueChanged(int idx) if (iList[idx].t == P_ID::VERSE) { int val = getValue(iList[idx]).toInt(); Lyrics* l = toLyrics(inspector->element()); - printf("value changed %d old %d\n", val, l->no()); Lyrics* nl = l->chordRest()->lyrics(val, l->placement()); if (nl) { - printf(" move away %d -> %d\n", nl->no(), l->no()); nl->undoChangeProperty(P_ID::VERSE, l->no()); } } diff --git a/mscore/inspector/inspector.h b/mscore/inspector/inspector.h index 4572af6e2f45a..c627e5ef4c6dd 100644 --- a/mscore/inspector/inspector.h +++ b/mscore/inspector/inspector.h @@ -296,10 +296,9 @@ class InspectorTempoText : public InspectorTextBase { // InspectorLyric //--------------------------------------------------------- -class InspectorLyric : public InspectorElementBase { +class InspectorLyric : public InspectorTextBase { Q_OBJECT - Ui::InspectorText t; Ui::InspectorLyric l; private slots: diff --git a/mscore/inspector/inspector_stafftypechange.ui b/mscore/inspector/inspector_stafftypechange.ui index 7a4e26d48af29..3bb3d02addbe9 100644 --- a/mscore/inspector/inspector_stafftypechange.ui +++ b/mscore/inspector/inspector_stafftypechange.ui @@ -6,8 +6,8 @@ 0 0 - 199 - 323 + 266 + 428 @@ -472,7 +472,7 @@ 1 - 0.000000000000000 + -20.000000000000000 20.000000000000000 diff --git a/mtest/CMakeLists.txt b/mtest/CMakeLists.txt index f9d8c375e044c..9dcde1030008b 100644 --- a/mtest/CMakeLists.txt +++ b/mtest/CMakeLists.txt @@ -188,7 +188,7 @@ subdirs ( libmscore/rhythmicGrouping libmscore/selectionfilter libmscore/selectionrangedelete -# libmscore/spanners + libmscore/spanners libmscore/split libmscore/splitstaff libmscore/timesig diff --git a/mtest/libmscore/spanners/lyricsline02-ref.mscx b/mtest/libmscore/spanners/lyricsline02-ref.mscx index 3cb9f46b6e108..7e5834025aa6a 100644 --- a/mtest/libmscore/spanners/lyricsline02-ref.mscx +++ b/mtest/libmscore/spanners/lyricsline02-ref.mscx @@ -85,7 +85,7 @@ quarter - 1440 + 480 A @@ -102,25 +102,6 @@ - - quarter - - 72 - 14 - - - - quarter - - 74 - 16 - - - - half - - - measure 4/4 diff --git a/mtest/libmscore/spanners/lyricsline03-ref.mscx b/mtest/libmscore/spanners/lyricsline03-ref.mscx index e16e4bf489602..22b734235dce6 100644 --- a/mtest/libmscore/spanners/lyricsline03-ref.mscx +++ b/mtest/libmscore/spanners/lyricsline03-ref.mscx @@ -85,29 +85,6 @@ - - half - - - quarter - - 1440 - A - - - 69 - 17 - - - - quarter - - 71 - 19 - - - - quarter diff --git a/mtest/libmscore/spanners/lyricsline04-ref.mscx b/mtest/libmscore/spanners/lyricsline04-ref.mscx index a63580fea1767..155f705ad5119 100644 --- a/mtest/libmscore/spanners/lyricsline04-ref.mscx +++ b/mtest/libmscore/spanners/lyricsline04-ref.mscx @@ -85,29 +85,6 @@ - - half - - - quarter - - 480 - A - - - 69 - 17 - - - - quarter - - 71 - 19 - - - - measure 4/4 diff --git a/mtest/libmscore/spanners/lyricsline05-ref.mscx b/mtest/libmscore/spanners/lyricsline05-ref.mscx index 6ae49b8169f54..4f737ac3a4773 100644 --- a/mtest/libmscore/spanners/lyricsline05-ref.mscx +++ b/mtest/libmscore/spanners/lyricsline05-ref.mscx @@ -88,7 +88,7 @@ quarter - 2400 + 480 A @@ -98,36 +98,6 @@ - - quarter - - 71 - 19 - - - - quarter - - 72 - 14 - - - - quarter - - 74 - 16 - - - - quarter - - 72 - 14 - - - - quarter diff --git a/mtest/libmscore/spanners/tst_spanners.cpp b/mtest/libmscore/spanners/tst_spanners.cpp index 4c08146e2564e..79adc52a52064 100644 --- a/mtest/libmscore/spanners/tst_spanners.cpp +++ b/mtest/libmscore/spanners/tst_spanners.cpp @@ -75,7 +75,6 @@ void TestSpanners::spanners01() MasterScore* score = readScore(DIR + "glissando01.mscx"); QVERIFY(score); - score->doLayout(); // SIMPLE CASE: GLISSANDO FROM A NOTE TO THE FOLLOWING // go to top note of first chord @@ -174,7 +173,6 @@ void TestSpanners::spanners02() { MasterScore* score = readScore(DIR + "glissando-crossstaff01.mscx"); QVERIFY(score); - score->doLayout(); QVERIFY(saveCompareScore(score, "glissando-crsossstaff01.mscx", DIR + "glissando-crossstaff01-ref.mscx")); delete score; @@ -192,7 +190,6 @@ void TestSpanners::spanners03() MasterScore* score = readScore(DIR + "glissando-graces01.mscx"); QVERIFY(score); - score->doLayout(); // GLISSANDO FROM MAIN NOTE TO AFTER-GRACE // go to top note of first chord @@ -263,7 +260,6 @@ void TestSpanners::spanners04() { MasterScore* score = readScore(DIR + "glissando-cloning01.mscx"); QVERIFY(score); - score->doLayout(); // add a linked staff to the existing staff // (copied and adapted from void MuseScore::editInstrList() in mscore/instrdialog.cpp) @@ -293,7 +289,6 @@ void TestSpanners::spanners05() { MasterScore* score = readScore(DIR + "glissando-cloning02.mscx"); QVERIFY(score); - score->doLayout(); // create parts // (copied and adapted from void TestParts::createParts() in mtest/libmscore/parts/tst_parts.cpp) @@ -329,7 +324,6 @@ void TestSpanners::spanners06() MasterScore* score = readScore(DIR + "glissando-cloning03.mscx"); QVERIFY(score); - score->doLayout(); // DROP A GLISSANDO ON FIRST NOTE Measure* msr = score->firstMeasure(); @@ -362,7 +356,6 @@ void TestSpanners::spanners07() MasterScore* score = readScore(DIR + "glissando-cloning04.mscx"); QVERIFY(score); - score->doLayout(); // DROP A GLISSANDO ON FIRST NOTE Measure* msr = score->firstMeasure(); @@ -392,7 +385,6 @@ void TestSpanners::spanners08() { MasterScore* score = readScore(DIR + "lyricsline01.mscx"); QVERIFY(score); - score->doLayout(); // verify initial LyricsLine setup System* sys = score->systems().at(0); @@ -445,10 +437,9 @@ void TestSpanners::spanners09() { MasterScore* score = readScore(DIR + "lyricsline02.mscx"); QVERIFY(score); - score->doLayout(); // DELETE SECOND MEASURE AND VERIFY - Measure* msr = score->firstMeasure(); + Measure* msr = score->firstMeasure(); QVERIFY(msr); msr = msr->nextMeasure(); QVERIFY(msr); @@ -478,7 +469,6 @@ void TestSpanners::spanners10() { MasterScore* score = readScore(DIR + "lyricsline03.mscx"); QVERIFY(score); - score->doLayout(); // DELETE SECOND MEASURE AND VERIFY Measure* msr = score->firstMeasure(); @@ -511,7 +501,6 @@ void TestSpanners::spanners11() { MasterScore* score = readScore(DIR + "lyricsline04.mscx"); QVERIFY(score); - score->doLayout(); // DELETE SECOND MEASURE AND VERIFY Measure* msr = score->firstMeasure(); @@ -544,7 +533,6 @@ void TestSpanners::spanners12() { MasterScore* score = readScore(DIR + "lyricsline05.mscx"); QVERIFY(score); - score->doLayout(); // DELETE SECOND MEASURE AND VERIFY Measure* msr = score->firstMeasure(); @@ -577,7 +565,6 @@ void TestSpanners::spanners13() MasterScore* score = readScore(DIR + "lyricsline06.mscx"); QVERIFY(score); - score->doLayout(); // DROP A BREAK AT FIRST MEASURE AND VERIFY Measure* msr = score->firstMeasure(); @@ -611,7 +598,6 @@ void TestSpanners::spanners14() { MasterScore* score = readScore(DIR + "glissando-cloning05.mscx"); QVERIFY(score); - score->doLayout(); // create parts // (copied and adapted from void TestParts::createParts() in mtest/libmscore/parts/tst_parts.cpp)