diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp index e6bf30c96b485..3fd502a0fc498 100644 --- a/libmscore/layout.cpp +++ b/libmscore/layout.cpp @@ -1328,6 +1328,10 @@ void Score::hideEmptyStaves(System* system, bool isFirstSystem) int staffIdx = 0; bool systemIsEmpty = true; + Fraction stick = system->measures().front()->tick(); + Fraction etick = system->measures().back()->endTick(); + auto spanners = score()->spannerMap().findOverlapping(stick.ticks(), etick.ticks()); + for (Staff* staff : qAsConst(_staves)) { SysStaff* ss = system->staff(staffIdx); @@ -1339,6 +1343,12 @@ void Score::hideEmptyStaves(System* system, bool isFirstSystem) && !(isFirstSystem && styleB(Sid::dontHideStavesInFirstSystem)) && hideMode != Staff::HideMode::NEVER)) { bool hideStaff = true; + for (auto spanner : spanners) { + if (spanner.value->staff() == staff) { + hideStaff = false; + break; + } + } for (MeasureBase* m : system->measures()) { if (!m->isMeasure()) continue; diff --git a/mtest/libmscore/layout/testStaffEmptiness.mscx b/mtest/libmscore/layout/testStaffEmptiness.mscx new file mode 100644 index 0000000000000..1ed3d2f0c9ae6 --- /dev/null +++ b/mtest/libmscore/layout/testStaffEmptiness.mscx @@ -0,0 +1,1538 @@ + + + 3.6.2 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + Henry Ives + + 2021-06-24 + + + + Microsoft Windows + + + + + Spanner Emptiness + + Orchestral + + Keyboards + +
+ flutes + oboes + clarinets + saxophones + bassoons + +
+
+ horns + trumpets + cornets + flugelhorns + trombones + tubas +
+
+ timpani +
+
+ keyboard-percussion + drums + unpitched-metal-percussion + unpitched-wooden-percussion + other-percussion +
+ keyboards + harps + organs + synths +
+ plucked-strings +
+ +
+ voices +
+
+ orchestral-strings +
+ +
+ + + + stdNormal + + + 1 + + + + stdNormal + + F + + Piano + + Piano + Pno. + Piano + 21 + 108 + 21 + 108 + keyboard.piano + F + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + Fluid + + + + + + 10 + + + Staff Emptiness + + + + MuseScore Testcase + + + + Henry Ives + + + + + + + 4 + 4 + + + quarter + + 76 + 18 + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 62 + 16 + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + line + + + + quarter + + 65 + 13 + + + + quarter + + + half + + + + + + + + Hanging Slur + + + quarter + + 65 + 13 + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 65 + 13 + + + + quarter + + + quarter + + 69 + 17 + + + + quarter + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 64 + 18 + + + + quarter + + + quarter + + 76 + 18 + + + + quarter + + 79 + 15 + + + + + + + + + quarter + + 79 + 15 + + + + quarter + + + half + + + + + + + line + + + + quarter + + 67 + 15 + + + + quarter + + + half + + + + + + + + quarter + + 64 + 18 + + + 72 + 14 + + + + quarter + + + quarter + + 71 + 19 + + + 79 + 15 + + + + quarter + + + + + + + + quarter + + 79 + 15 + + + + quarter + + + quarter + + 69 + 17 + + + + quarter + + + + + + + + quarter + + 67 + 15 + + + 77 + 13 + + + + quarter + + + half + + + + + + + + quarter + + 74 + 16 + + + + quarter + + 60 + 14 + + + + quarter + + 69 + 17 + + + + quarter + + + + + + + line + + + + quarter + + 62 + 16 + + + + quarter + + + quarter + + 65 + 13 + + + 72 + 14 + + + + quarter + + + + + + + + quarter + + 72 + 14 + + + + quarter + + + half + + + + + + + + quarter + + 72 + 14 + + + + quarter + + + quarter + + 71 + 19 + + + + quarter + + + + + + + + quarter + + 64 + 18 + + + + quarter + + + half + + + + + + + + Pedal Line + + + quarter + + 64 + 18 + + + 72 + 14 + + + + quarter + + 64 + 18 + + + + quarter + + 72 + 14 + + + + quarter + + + + + + + line + + + + quarter + + 67 + 15 + + + + quarter + + + quarter + + 72 + 14 + + + + quarter + + + + + + + + quarter + + 81 + 17 + + + 86 + 16 + + + + quarter + + 76 + 18 + + + + quarter + + 69 + 17 + + + + quarter + + 77 + 13 + + + + + + + + + quarter + + 62 + 16 + + + 69 + 17 + + + + quarter + + + quarter + + 65 + 13 + + + 69 + 17 + + + + quarter + + + + + + + + quarter + + 64 + 18 + + + + quarter + + 69 + 17 + + + + half + + + + + + + + quarter + + 72 + 14 + + + + quarter + + + quarter + + 72 + 14 + + + 74 + 16 + + + + quarter + + + + + + + + quarter + + 79 + 15 + + + + quarter + + + quarter + + 74 + 16 + + + + quarter + + + + + + + line + + + + measure + 4/4 + + + + + + + + Ottava Line + + + quarter + + 67 + 15 + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 69 + 17 + + + + quarter + + + quarter + + 71 + 19 + + + + quarter + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 69 + 17 + + + + quarter + + + half + + + + + + + line + + + + quarter + + 69 + 17 + + + + quarter + + + quarter + + 67 + 15 + + + + quarter + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + + + 4 + 4 + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 47 + 19 + + + + quarter + + + quarter + + 52 + 18 + + + + quarter + + + + + + 1 + -3/4 + + + + + 47 + 19 + + + + + + + + + quarter + + + + -1 + 3/4 + + + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + + 1 + 1 + + + + 1 + + + + + measure + 4/4 + + + + + + + + + + -1 + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + + 8vb + + + + 8 + + + + + quarter + + 43 + 15 + + + + quarter + + + half + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + measure + 4/4 + + + + + + + + quarter + + 47 + 19 + + + + quarter + + + quarter + + 52 + 18 + + + 53 + 13 + + + + quarter + + 57 + 17 + + + + + + + + + + + -8 + + + + + quarter + + 52 + 18 + + + 57 + 17 + + + + quarter + + 48 + 14 + + + + quarter + + 52 + 18 + + + 55 + 15 + + + + quarter + + + + + + + + quarter + + 52 + 18 + + + + quarter + + 52 + 18 + + + 53 + 13 + + + + quarter + + 52 + 18 + + + + quarter + + + + + + + + quarter + + 52 + 18 + + + + quarter + + 55 + 15 + + + + quarter + + 52 + 18 + + + + quarter + + 52 + 18 + + + + + +
+