diff --git a/libmscore/arpeggio.cpp b/libmscore/arpeggio.cpp index 0d3abac1ab0d..fbfd6c58e972 100644 --- a/libmscore/arpeggio.cpp +++ b/libmscore/arpeggio.cpp @@ -119,6 +119,8 @@ void Arpeggio::layout() qreal y1 = -_userLen1; qreal y2 = _height + _userLen2; + if (staff()) + setMag(staff()->mag()); switch (arpeggioType()) { case ArpeggioType::NORMAL: { symbolLine(SymId::wiggleArpeggiatoUp, SymId::wiggleArpeggiatoUp); diff --git a/libmscore/bsymbol.cpp b/libmscore/bsymbol.cpp index e17d078c5127..2dd6c86cf989 100644 --- a/libmscore/bsymbol.cpp +++ b/libmscore/bsymbol.cpp @@ -13,6 +13,7 @@ #include "score.h" #include "image.h" #include "xml.h" +#include "staff.h" namespace Ms { @@ -159,6 +160,8 @@ Element* BSymbol::drop(const DropData& data) void BSymbol::layout() { + if (staff()) + setMag(staff()->mag()); for (Element* e : _leafs) e->layout(); adjustReadPos(); diff --git a/libmscore/element.cpp b/libmscore/element.cpp index 267b8dffee0f..bc4636b16edb 100644 --- a/libmscore/element.cpp +++ b/libmscore/element.cpp @@ -232,7 +232,7 @@ qreal Element::spatium() const qreal Element::magS() const { - return mag() * (_score->spatium() /(MScore::DPI * SPATIUM20)); + return mag() * (_score->spatium() / (MScore::DPI * SPATIUM20)); } //--------------------------------------------------------- diff --git a/libmscore/glissando.cpp b/libmscore/glissando.cpp index a8d610480705..36babe27220f 100644 --- a/libmscore/glissando.cpp +++ b/libmscore/glissando.cpp @@ -50,6 +50,8 @@ static const qreal GLISS_PALETTE_HEIGHT = 4.0; void GlissandoSegment::layout() { + if (staff()) + setMag(staff()->mag()); QRectF r = QRectF(0.0, 0.0, pos2().x(), pos2().y()).normalized(); qreal lw = spatium() * glissando()->lineWidth().val() * .5; setbbox(r.adjusted(-lw, -lw, lw, lw)); diff --git a/libmscore/textline.cpp b/libmscore/textline.cpp index 59514ad9d436..3a62c89e394b 100644 --- a/libmscore/textline.cpp +++ b/libmscore/textline.cpp @@ -180,7 +180,6 @@ void TextLineSegment::setText(Text* t) _text = new Text(*t); _text->setFlag(ElementFlag::MOVABLE, false); _text->setParent(this); - _text->setTrack(track()); } else { _text->setTextStyleType(t->textStyleType()); @@ -223,7 +222,6 @@ void TextLineSegment::layout1() _endText = new Text(*tl->_endText); _endText->setFlag(ElementFlag::MOVABLE, false); _endText->setParent(this); - _endText->setTrack(track()); } else { _endText->setTextStyleType(tl->_endText->textStyleType()); @@ -236,10 +234,14 @@ void TextLineSegment::layout1() _endText = 0; } - if (_text) + if (_text) { + _text->setTrack(track()); _text->layout(); - if (_endText) + } + if (_endText) { + _endText->setTrack(track()); _endText->layout(); + } QPointF pp1; QPointF pp2(pos2()); diff --git a/libmscore/trill.cpp b/libmscore/trill.cpp index b6bf218effb1..8374320a0b3b 100644 --- a/libmscore/trill.cpp +++ b/libmscore/trill.cpp @@ -20,6 +20,7 @@ #include "score.h" #include "accidental.h" #include "segment.h" +#include "staff.h" namespace Ms { @@ -124,6 +125,8 @@ void TrillSegment::layout() { if (parent()) rypos() += score()->styleS(StyleIdx::trillY).val() * spatium(); + if (staff()) + setMag(staff()->mag()); if (spannerSegmentType() == SpannerSegmentType::SINGLE || spannerSegmentType() == SpannerSegmentType::BEGIN) { Accidental* a = trill()->accidental(); if (a) { diff --git a/vtest/gen b/vtest/gen index e27d4b2a2301..790183467d94 100755 --- a/vtest/gen +++ b/vtest/gen @@ -50,7 +50,7 @@ else beams-11 beams-12 beams-13 beams-14 beams-15 beams-16 beams-17\ user-offset-1 user-offset-2 chord-space-1 chord-space-2 tablature-1 image-1\ lyrics-1 lyrics-2 lyrics-3 lyrics-4 lyrics-5 lyrics-6 voice-1 voice-2 slash-1 slash-2\ - system-1 system-2 system-3 system-4" + system-1 system-2 system-3 system-4 small-1" fi DPI=130 diff --git a/vtest/gen.bat b/vtest/gen.bat index 2ae7ce652aab..057c36b656b6 100644 --- a/vtest/gen.bat +++ b/vtest/gen.bat @@ -25,7 +25,7 @@ set SRC=mmrest-1,bravura-mmrest,gonville-mmrest,mmrest-2,mmrest-4,mmrest-5,mmres beams-11,beams-12,beams-13,beams-14,beams-15,beams-16,beams-17, ^ user-offset-1,user-offset-2,chord-space-1,chord-space-2,tablature-1,image-1, ^ lyrics-1,lyrics-2,lyrics-3,lyrics-4,lyrics-5,lyrics-6,voice-1,voice-2,slash-1,slash-2, ^ - system-1,system-2,system-3,system-4 + system-1,system-2,system-3,system-4,small-1 set MSCORE=..\win32install\bin\musescore.exe set DPI=130 diff --git a/vtest/small-1-ref.png b/vtest/small-1-ref.png new file mode 100644 index 000000000000..64e7d82f3824 Binary files /dev/null and b/vtest/small-1-ref.png differ diff --git a/vtest/small-1.mscz b/vtest/small-1.mscz new file mode 100644 index 000000000000..53c4b330ab8f Binary files /dev/null and b/vtest/small-1.mscz differ