Skip to content

Commit

Permalink
Merge pull request #27007 from miiizen/26952-paren-continuous
Browse files Browse the repository at this point in the history
Update segment shape after adding parens for correct spacing
  • Loading branch information
mike-spa authored Mar 10, 2025
2 parents 178a36d + c1d78a3 commit 5f02143
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 2 deletions.
6 changes: 5 additions & 1 deletion src/engraving/rendering/score/measurelayout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1984,7 +1984,7 @@ void MeasureLayout::setCourtesyClef(Measure* m, const Fraction& refClefTick, con
}
}

void MeasureLayout::placeParentheses(const Segment* segment, track_idx_t trackIdx, LayoutContext& ctx)
void MeasureLayout::placeParentheses(Segment* segment, track_idx_t trackIdx, LayoutContext& ctx)
{
const EngravingItem* segItem = segment->elementAt(trackIdx);
const std::vector<EngravingItem*> parens = segment->findAnnotations(ElementType::PARENTHESIS, trackIdx, trackIdx);
Expand Down Expand Up @@ -2014,6 +2014,7 @@ void MeasureLayout::placeParentheses(const Segment* segment, track_idx_t trackId
paren->pos()), dummySegShape, paren->spatium());
paren->mutldata()->moveX(-minDist);
}
segment->createShape(track2staff(trackIdx));
return;
}

Expand Down Expand Up @@ -2053,6 +2054,7 @@ void MeasureLayout::placeParentheses(const Segment* segment, track_idx_t trackId
const double parenPadding = segment->score()->paddingTable().at(ElementType::PARENTHESIS).at(ElementType::PARENTHESIS);

if (itemWidth >= parenPadding) {
segment->createShape(track2staff(trackIdx));
return;
}

Expand All @@ -2067,6 +2069,8 @@ void MeasureLayout::placeParentheses(const Segment* segment, track_idx_t trackId

leftParen->mutldata()->moveX(-(parenToItemDist - leftParenToItem));
rightParen->mutldata()->moveX(-(itemToRightParen - parenToItemDist));

segment->createShape(track2staff(trackIdx));
}

Parenthesis* MeasureLayout::findOrCreateParenthesis(Segment* segment, const DirectionH direction, const track_idx_t track)
Expand Down
2 changes: 1 addition & 1 deletion src/engraving/rendering/score/measurelayout.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ class MeasureLayout
static void removeRepeatCourtesyParenthesesSegment(Segment* seg, const track_idx_t track,
const DirectionH direction = DirectionH::AUTO);
static void addRepeatCourtesyParentheses(Measure* m, const bool continuation, LayoutContext& ctx);
static void placeParentheses(const Segment* segment, track_idx_t trackIdx, LayoutContext& ctx);
static void placeParentheses(Segment* segment, track_idx_t trackIdx, LayoutContext& ctx);
static void addRepeatCourtesies(Measure* m, LayoutContext& ctx);
static void removeRepeatCourtesies(Measure* m);
static void addRepeatContinuationCourtesies(Measure* m, LayoutContext& ctx);
Expand Down
Binary file modified vtest/scores/courtesy-changes-6.mscz
Binary file not shown.
Binary file modified vtest/scores/courtesyKeysigParens.mscz
Binary file not shown.

0 comments on commit 5f02143

Please sign in to comment.