From b8d0338fcd70fd9da3e6b8ce1b2053b7e092191a Mon Sep 17 00:00:00 2001 From: Marc Sabatella Date: Mon, 1 Apr 2019 15:04:50 -0600 Subject: [PATCH] fix #286530: scaling of dot, lines, and more in parts --- libmscore/excerpt.cpp | 10 ++++++++-- libmscore/note.cpp | 2 ++ libmscore/score.cpp | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libmscore/excerpt.cpp b/libmscore/excerpt.cpp index 9483276c8798..830420a43765 100644 --- a/libmscore/excerpt.cpp +++ b/libmscore/excerpt.cpp @@ -216,7 +216,7 @@ void Excerpt::createExcerpt(Excerpt* excerpt) score->setMetaTag("partName", partLabel); } - // layout score + // initial layout of score score->addLayoutFlags(LayoutFlag::FIX_PITCH_VELO); score->doLayout(); @@ -273,7 +273,13 @@ void Excerpt::createExcerpt(Excerpt* excerpt) } } - // layout score + // update style values if spatium different for part + if (oscore->spatium() != score->spatium()) { + //score->spatiumChanged(oscore->spatium(), score->spatium()); + score->styleChanged(); + } + + // second layout of score score->setPlaylistDirty(); oscore->rebuildMidiMapping(); oscore->updateChannel(); diff --git a/libmscore/note.cpp b/libmscore/note.cpp index 74f554f2c83b..c6ec5dbd9e18 100644 --- a/libmscore/note.cpp +++ b/libmscore/note.cpp @@ -2737,6 +2737,8 @@ void Note::setScore(Score* s) _tieFor->setScore(s); if (_accidental) _accidental->setScore(s); + for (NoteDot* dot : _dots) + dot->setScore(s); for (Element* el : _el) el->setScore(s); } diff --git a/libmscore/score.cpp b/libmscore/score.cpp index c1f1fcac0ef8..09d2a3409b33 100644 --- a/libmscore/score.cpp +++ b/libmscore/score.cpp @@ -300,6 +300,8 @@ Score::Score(MasterScore* parent, bool forcePartStyle /* = true */) style().set(Sid::dividerRight, false); } } + // update style values + _style.precomputeValues(); _synthesizerState = parent->_synthesizerState; _mscVersion = parent->_mscVersion; }