Skip to content

Commit

Permalink
GH#16426: Add time signatures to skyline
Browse files Browse the repository at this point in the history
Backport of musescore#19358
  • Loading branch information
miiizen authored and Jojo-Schmitz committed Sep 11, 2023
1 parent 9c7e932 commit 449ce4d
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
8 changes: 7 additions & 1 deletion libmscore/layout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4292,7 +4292,7 @@ void Score::layoutSystemElements(System* system, LayoutContext& lc)
if (m->staffLines(staffIdx)->addToSkyline())
ss->skyline().add(m->staffLines(staffIdx)->bbox().translated(m->pos()));
for (Segment& s : m->segments()) {
if (!s.enabled() || s.isTimeSigType()) // hack: ignore time signatures
if (!s.enabled())
continue;
QPointF p(s.pos() + m->pos());
if (s.segmentType() & (SegmentType::BarLine | SegmentType::EndBarLine | SegmentType::StartRepeatBarLine | SegmentType::BeginBarLine)) {
Expand All @@ -4302,6 +4302,12 @@ void Score::layoutSystemElements(System* system, LayoutContext& lc)
skyline.add(r.translated(bl->pos() + p));
}
}
else if (s.segmentType() & SegmentType::TimeSig) {
TimeSig* ts = toTimeSig(s.element(staffIdx * VOICES));
if (ts && ts->addToSkyline()) {
skyline.add(ts->shape().translated(ts->pos() + p));
}
}
else {
int strack = staffIdx * VOICES;
int etrack = strack + VOICES;
Expand Down
2 changes: 1 addition & 1 deletion vtest/gen
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ else
layout-sequence-9 layout-sequence-10 layout-sequence-11 layout-sequence-12\
layout-sequence-13 layout-sequence-14 layout-sequence-15 layout-sequence-16\
measure-number-1 measure-number-2 measure-number-3 measure-number-4 measure-number-5\
custom-keysig-1 custom-keysig-2 custom-keysig-3 custom-keysig-4"
custom-keysig-1 custom-keysig-2 custom-keysig-3 custom-keysig-4 timesig-1"
fi

#####DEBUG: failed tests
Expand Down
2 changes: 1 addition & 1 deletion vtest/gen.bat
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ set SRC=bravura-mmrest,gonville-mmrest, ^
layout-sequence-9, layout-sequence-10, layout-sequence-11, layout-sequence-12, ^
layout-sequence-13, layout-sequence-14, layout-sequence-15, layout-sequence-16, ^
measure-number-1, measure-number-2, measure-number-3, measure-number-4, measure-number-5 ^
custom-keysig-1, custom-keysig-2, custom-keysig-2, custom-keysig-3
custom-keysig-1, custom-keysig-2, custom-keysig-2, custom-keysig-3, timesig-1

IF NOT "%1"=="" (
SET INSTALL_PATH=%1
Expand Down
Binary file added vtest/timesig-1.mscz
Binary file not shown.

0 comments on commit 449ce4d

Please sign in to comment.