From 0c857d9513acc40652e6f1d43e049fe3fe730417 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 11 Sep 2023 12:17:14 +0100 Subject: [PATCH] Add timesigs to skyline --- src/engraving/rendering/dev/systemlayout.cpp | 8 +++++++- vtest/scores/timesig-1.mscz | Bin 0 -> 16452 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 vtest/scores/timesig-1.mscz diff --git a/src/engraving/rendering/dev/systemlayout.cpp b/src/engraving/rendering/dev/systemlayout.cpp index 366293c41ba36..fd849300fcb1b 100644 --- a/src/engraving/rendering/dev/systemlayout.cpp +++ b/src/engraving/rendering/dev/systemlayout.cpp @@ -49,6 +49,7 @@ #include "dom/stafflines.h" #include "dom/system.h" #include "dom/tie.h" +#include "dom/timesig.h" #include "dom/tremolo.h" #include "dom/tuplet.h" #include "dom/volta.h" @@ -780,7 +781,7 @@ void SystemLayout::layoutSystemElements(System* system, LayoutContext& ctx) ss->skyline().add(m->staffLines(staffIdx)->layoutData()->bbox().translated(m->pos())); } for (Segment& s : m->segments()) { - if (!s.enabled() || s.isTimeSigType()) { // hack: ignore time signatures + if (!s.enabled()) { continue; } PointF p(s.pos() + m->pos()); @@ -791,6 +792,11 @@ void SystemLayout::layoutSystemElements(System* system, LayoutContext& ctx) RectF r = TLayout::layoutRect(bl, ctx); 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().translate(ts->pos() + p)); + } } else { track_idx_t strack = staffIdx * VOICES; track_idx_t etrack = strack + VOICES; diff --git a/vtest/scores/timesig-1.mscz b/vtest/scores/timesig-1.mscz new file mode 100644 index 0000000000000000000000000000000000000000..5ad0130f4477b5bdef2e6b48a1d1afc11b4e01ae GIT binary patch literal 16452 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 m=lnPQzq`Z#(l@{9|M$)zF9iMLH}Ja~Rr3CG^nU