From e5062b15dd6e4c18f3e0dbe38860ea8c4b3182cb Mon Sep 17 00:00:00 2001 From: XiaoMigros Date: Fri, 29 Aug 2025 11:07:52 +0200 Subject: [PATCH] Layout fermatas cross-staff --- src/engraving/dom/fermata.cpp | 15 +++++++++++ src/engraving/dom/fermata.h | 1 + src/engraving/rendering/score/tlayout.cpp | 30 ++++++++++++++-------- vtest/scores/fermata-7.mscz | Bin 0 -> 24483 bytes 4 files changed, 35 insertions(+), 11 deletions(-) create mode 100644 vtest/scores/fermata-7.mscz diff --git a/src/engraving/dom/fermata.cpp b/src/engraving/dom/fermata.cpp index 0b2ed65f7eaef..a598732156c91 100644 --- a/src/engraving/dom/fermata.cpp +++ b/src/engraving/dom/fermata.cpp @@ -25,6 +25,7 @@ #include "types/symnames.h" #include "types/translatablestring.h" +#include "beam.h" #include "chord.h" #include "chordrest.h" #include "measure.h" @@ -258,6 +259,20 @@ double Fermata::mag() const return m; } +staff_idx_t Fermata::vStaffIdx() const +{ + if (segment() && segment()->element(track())) { + if (segment()->isChordRestType()) { + const ChordRest* cr = toChordRest(segment()->element(track())); + if (cr->beam() && cr->beam()->cross() && (placeAbove() == cr->isBelowCrossBeam(cr->beam()))) { + return cr->staffIdx() + cr->beam()->crossStaffIdx() - placeAbove() ? 0 : 1; + } + } + return segment()->element(track())->vStaffIdx(); + } + return staffIdx(); +} + void Fermata::setSymIdAndTimeStretch(SymId id) { m_symId = id; diff --git a/src/engraving/dom/fermata.h b/src/engraving/dom/fermata.h index 315b0a7e5058c..5e47a52655373 100644 --- a/src/engraving/dom/fermata.h +++ b/src/engraving/dom/fermata.h @@ -52,6 +52,7 @@ class Fermata final : public EngravingItem Fermata* clone() const override { return new Fermata(*this); } double mag() const override; + staff_idx_t vStaffIdx() const override; SymId symId() const { return m_symId; } void setSymId(SymId id) { m_symId = id; } diff --git a/src/engraving/rendering/score/tlayout.cpp b/src/engraving/rendering/score/tlayout.cpp index a3610270d2735..7d385085a8d2e 100644 --- a/src/engraving/rendering/score/tlayout.cpp +++ b/src/engraving/rendering/score/tlayout.cpp @@ -2178,7 +2178,8 @@ void TLayout::layoutExpression(const Expression* item, Expression::LayoutData* l void TLayout::layoutFermata(const Fermata* item, Fermata::LayoutData* ldata) { LAYOUT_CALL_ITEM(item); - const StaffType* stType = item->staffType(); + const Staff* vStaff = item->score()->staff(item->vStaffIdx()); + const StaffType* stType = vStaff->staffTypeForElement(item); if (stType && stType->isHiddenElementOnTab(Sid::fermataShowTabCommon, Sid::fermataShowTabSimple)) { ldata->setIsSkipDraw(true); return; @@ -2191,22 +2192,31 @@ void TLayout::layoutFermata(const Fermata* item, Fermata::LayoutData* ldata) } double x = 0.0; - double y = item->placeAbove() ? 0.0 : item->staff()->staffHeight(item->tick()); + double y = item->placeAbove() ? 0.0 : vStaff->staffHeight(item->tick()); const Segment* s = item->segment(); const EngravingItem* e = s->element(item->track()); + Shape staffShape = s->staffShape(item->vStaffIdx()); + staffShape.removeTypes({ ElementType::FERMATA }); + if (e) { LD_CONDITION(e->ldata()->isSetBbox()); // e->shape() LD_CONDITION(e->ldata()->isSetPos()); - if (e->isChord()) { - const Chord* chord = toChord(e); - x = chord->x() + ChordLayout::centerX(chord); - } else if (e->isRest()) { - const Rest* rest = toRest(e); - x = rest->x() + rest->centerX(); + if (e->isChordRest()) { + if (e->isChord()) { + const Chord* chord = toChord(e); + x = chord->x() + ChordLayout::centerX(chord); + } else if (e->isRest()) { + const Rest* rest = toRest(e); + x = rest->x() + rest->centerX(); + } + const Beam* beam = toChordRest(e)->beam(); + if (beam && beam->cross()) { + // staffShape.add(beam->shape().translate(beam->pagePos() - s->pagePos())); + } } else { - x = e->x() - e->shape().left() + e->width() * item->staff()->staffMag(Fraction(0, 1)) * .5; + x = e->x() - e->shape().left() + e->width() * vStaff->staffMag(Fraction(0, 1)) * .5; } } @@ -2229,8 +2239,6 @@ void TLayout::layoutFermata(const Fermata* item, Fermata::LayoutData* ldata) if (item->isStyled(Pid::OFFSET)) { y += item->offset().y(); } - Shape staffShape = item->segment()->staffShape(item->staffIdx()); - staffShape.removeTypes({ ElementType::FERMATA }); if (item->placeAbove()) { double minDist = ldata->shape().minVerticalDistance(staffShape) + item->minDistance().toMM(item->spatium()); y = std::min(y, -minDist); diff --git a/vtest/scores/fermata-7.mscz b/vtest/scores/fermata-7.mscz new file mode 100644 index 0000000000000000000000000000000000000000..daec93e5080f65b6191074fc4dcbbeb9c36fdd20 GIT binary patch literal 24483 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 literal 0 HcmV?d00001