Skip to content

Commit

Permalink
Change linked mmr timesigs when editing
Browse files Browse the repository at this point in the history
  • Loading branch information
miiizen committed Aug 13, 2024
1 parent 9784899 commit 50b887d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
3 changes: 0 additions & 3 deletions src/engraving/rendering/dev/measurelayout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -378,9 +378,6 @@ void MeasureLayout::createMMRest(LayoutContext& ctx, Measure* firstMeasure, Meas
mmrTimeSig->setParent(mmrSeg);
ctx.mutDom().doUndoAddElement(mmrTimeSig);
} else {
mmrTimeSig->setSig(underlyingTimeSig->sig(), underlyingTimeSig->timeSigType());
mmrTimeSig->setNumeratorString(underlyingTimeSig->numeratorString());
mmrTimeSig->setDenominatorString(underlyingTimeSig->denominatorString());
TLayout::layoutTimeSig(mmrTimeSig, mmrTimeSig->mutldata(), ctx);
}
}
Expand Down
16 changes: 11 additions & 5 deletions src/palette/view/widgets/timesignaturepropertiesdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,17 @@ void TimeSignaturePropertiesDialog::accept()

notation->undoStack()->prepareChanges();

m_originTimeSig->undoChangeProperty(Pid::TIMESIG_TYPE, int(m_editedTimeSig->timeSigType()));
m_originTimeSig->undoChangeProperty(Pid::SHOW_COURTESY, m_editedTimeSig->showCourtesySig());
m_originTimeSig->undoChangeProperty(Pid::NUMERATOR_STRING, m_editedTimeSig->numeratorString());
m_originTimeSig->undoChangeProperty(Pid::DENOMINATOR_STRING, m_editedTimeSig->denominatorString());
m_originTimeSig->undoChangeProperty(Pid::GROUP_NODES, g.nodes());
// Change linked mmr timesigs too
for (EngravingObject* obj : m_originTimeSig->linkList()) {
TimeSig* timeSig = toTimeSig(obj);
if (timeSig == m_originTimeSig || (timeSig->track() == m_originTimeSig->track() && timeSig->score() == m_originTimeSig->score())) {
timeSig->undoChangeProperty(Pid::TIMESIG_TYPE, int(m_editedTimeSig->timeSigType()));
timeSig->undoChangeProperty(Pid::SHOW_COURTESY, m_editedTimeSig->showCourtesySig());
timeSig->undoChangeProperty(Pid::NUMERATOR_STRING, m_editedTimeSig->numeratorString());
timeSig->undoChangeProperty(Pid::DENOMINATOR_STRING, m_editedTimeSig->denominatorString());
timeSig->undoChangeProperty(Pid::GROUP_NODES, g.nodes());
}
}

if (m_editedTimeSig->sig() != m_originTimeSig->sig()) {
notation->interaction()->addTimeSignature(m_originTimeSig->measure(), m_originTimeSig->staffIdx(), m_editedTimeSig);
Expand Down

0 comments on commit 50b887d

Please sign in to comment.