diff --git a/libmscore/beam.cpp b/libmscore/beam.cpp index d6f3376c83dbc..bbeff035b0975 100644 --- a/libmscore/beam.cpp +++ b/libmscore/beam.cpp @@ -392,10 +392,16 @@ void Beam::layout1() for (ChordRest* cr : _elements) { // leave initial guess alone for moved chords within a beam that crosses staves // otherwise, assume beam direction is stem direction - if (!_cross || !cr->staffMove()) - cr->setUp(_up); - } + if (!_cross || !cr->staffMove()) { + if (cr->isChord()) { + if (cr->up() != _up) { + cr->setUp(_up); + toChord(cr)->layoutStem1(); + } + } + } + } } // end of if/else(tablature) } @@ -459,8 +465,11 @@ void Beam::layoutGraceNotes() slope = 0.0; if (!_userModified[idx]) { - for (ChordRest* cr : _elements) + for (ChordRest* cr : _elements) { cr->setUp(_up); + if (cr->isChord()) + toChord(cr)->layoutStem1(); /* create stems needed to calculate horizontal spacing */ + } } } @@ -1914,7 +1923,6 @@ void Beam::layout2(std::vectorcrl, SpannerSegmentType, int frag) if (!cr->isChord()) continue; Chord* c = toChord(cr); - c->layoutStem1(); if (c->hook()) score()->undoRemoveElement(c->hook()); @@ -1941,14 +1949,19 @@ void Beam::layout2(std::vectorcrl, SpannerSegmentType, int frag) } by = 0; } - Stem* stem = c->stem(); + + Stem* stem = c->stem(); + Shape& shape = c->segment()->staffShape(c->vStaffIdx()); + if (stem) { - qreal sw2 = score()->styleP(StyleIdx::stemWidth) * .5; - if (cr->up()) + shape.remove(stem->shape()); + + qreal sw2 = stem->lineWidth() * .5; + if (c->up()) sw2 = -sw2; - stem->setLen(y2 - (by + _pagePos.y())); stem->rxpos() = c->stemPosX() + sw2; - Shape& shape = cr->segment()->staffShape(cr->vStaffIdx()); + stem->setLen(y2 - (by + _pagePos.y())); + shape.add(stem->shape()); } diff --git a/libmscore/chord.cpp b/libmscore/chord.cpp index bd4ce63d9c536..e6a69022a9fd2 100644 --- a/libmscore/chord.cpp +++ b/libmscore/chord.cpp @@ -459,17 +459,17 @@ void Chord::add(Element* e) break; case Element::Type::STEM: Q_ASSERT(!_stem); - _stem = static_cast(e); + _stem = toStem(e); break; case Element::Type::HOOK: - _hook = static_cast(e); + _hook = toHook(e); break; case Element::Type::CHORDLINE: _el.push_back(e); break; case Element::Type::STEM_SLASH: Q_ASSERT(!_stemSlash); - _stemSlash = static_cast(e); + _stemSlash = toStemSlash(e); break; case Element::Type::CHORD: { @@ -1054,23 +1054,6 @@ void Chord::read(XmlReader& e) else e.unknown(); } - if (score()->mscVersion() <= 114) { // #19988 - Note * n = upNote(); - if (n) { - if (notes().size() == 1) { - setUserOff(n->userOff() + userOff()); - n->setUserOff(QPoint()); - n->setReadPos(QPoint()); - } - else if(!n->userOff().isNull()) { - if(!_stem) { - _stem = new Stem(score()); - add(_stem); - } - _stem->setUserOff(n->userOff() + _stem->userOff()); - } - } - } } //--------------------------------------------------------- @@ -1350,6 +1333,10 @@ void Chord::layoutStem1() } else if (_stemSlash) remove(_stemSlash); + + qreal stemWidth5 = _stem->lineWidth() * .5; + _stem->rxpos() = stemPosX() + (up() ? -stemWidth5 : +stemWidth5); + _stem->setLen(defaultStemLength()); } else { if (_stem) @@ -1376,7 +1363,6 @@ void Chord::layoutStem() // // TAB // - qreal _spatium = spatium(); StaffType* tab = 0; if (staff() && staff()->isTabStaff()) { tab = staff()->staffType(); @@ -1392,7 +1378,7 @@ void Chord::layoutStem() if (!tab->stemThrough()) { if (_stem) { // (duplicate code with defaultStemLength()) // process stem: - _stem->setLen(tab->chordStemLength(this) * _spatium); + _stem->setLen(tab->chordStemLength(this) * spatium()); // process hook int hookIdx = durationType().hooks(); if (!up()) @@ -1422,7 +1408,6 @@ void Chord::layoutStem() // NON-TAB (or TAB with stems through staff) // if (_stem) { - _stem->layout(); //? _stem->setLen(defaultStemLength()); // if (isGrace()) // abort(); @@ -3214,7 +3199,7 @@ Shape Chord::shape() const { Shape shape; processSiblings([&shape, this] (Element* e) { - if (!(e->isStem() && beam())) +// if (!(e->isStem() && beam())) shape.add(e->shape()); }); shape.add(ChordRest::shape()); // add articulation + lyrics diff --git a/libmscore/chord.h b/libmscore/chord.h index a3714815fc3a1..00790ba615f45 100644 --- a/libmscore/chord.h +++ b/libmscore/chord.h @@ -138,7 +138,7 @@ class Chord : public ChordRest { qreal defaultStemLength(); - void layoutStem1(); + virtual void layoutStem1() override; void layoutStem(); void layoutArpeggio2(); diff --git a/libmscore/chordrest.cpp b/libmscore/chordrest.cpp index a11708ddabf05..6df8e40cd18bc 100644 --- a/libmscore/chordrest.cpp +++ b/libmscore/chordrest.cpp @@ -1186,9 +1186,6 @@ void ChordRest::removeDeleteBeam(bool beamed) } if (chord->hook()) score()->undoRemoveElement(chord->hook()); -// if (chord->stem() && !chord->isGrace()) - if (chord->stem()) - chord->layoutStem(); } } diff --git a/libmscore/chordrest.h b/libmscore/chordrest.h index 24f81a77ae973..3668a500b3986 100644 --- a/libmscore/chordrest.h +++ b/libmscore/chordrest.h @@ -175,6 +175,7 @@ class ChordRest : public DurationElement { virtual Element* prevElement() override; virtual QString accessibleExtraInfo() const override; virtual Shape shape() const override; + virtual void layoutStem1() {}; }; diff --git a/libmscore/element.h b/libmscore/element.h index 32f1a931c59fb..596e68cef490a 100644 --- a/libmscore/element.h +++ b/libmscore/element.h @@ -73,6 +73,8 @@ class Lyrics; class Stem; class SlurSegment; class Beam; +class Hook; +class StemSlash; enum class SymId; @@ -659,6 +661,8 @@ class Element : public QObject, public ScoreElement { CONVERT(Lyrics, LYRICS); CONVERT(Stem, STEM); CONVERT(Beam, BEAM); + CONVERT(Hook, HOOK); + CONVERT(StemSlash, STEM_SLASH); CONVERT(SlurSegment, SLUR_SEGMENT); #undef CONVERT }; @@ -719,6 +723,8 @@ static inline const a* to##a(const Element* e) { Q_ASSERT(e == 0 || e->type() == CONVERT(Lyrics, LYRICS); CONVERT(Stem, STEM); CONVERT(Beam, BEAM); + CONVERT(Hook, HOOK); + CONVERT(StemSlash, STEM_SLASH); CONVERT(SlurSegment, SLUR_SEGMENT); #undef CONVERT diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp index 3efba22fe7f80..e913758abf4a3 100644 --- a/libmscore/layout.cpp +++ b/libmscore/layout.cpp @@ -111,24 +111,27 @@ void Score::layoutChords1(Segment* segment, int staffIdx) if (staff->isTabStaff()) return; - int upVoices = 0, downVoices = 0; - int startTrack = staffIdx * VOICES; - int endTrack = startTrack + VOICES; - std::vector upStemNotes, downStemNotes; + std::vector upStemNotes; + std::vector downStemNotes; + int upVoices = 0; + int downVoices = 0; + int startTrack = staffIdx * VOICES; + int endTrack = startTrack + VOICES; qreal nominalWidth = noteHeadWidth() * staff->mag(); - qreal maxUpWidth = 0.0; + qreal maxUpWidth = 0.0; qreal maxDownWidth = 0.0; - qreal maxUpMag = 0.0; - qreal maxDownMag = 0.0; + qreal maxUpMag = 0.0; + qreal maxDownMag = 0.0; // dots and hooks can affect layout of notes as well as vice versa - int upDots = 0; - int downDots = 0; - bool upHooks = false; - bool downHooks = false; + int upDots = 0; + int downDots = 0; + bool upHooks = false; + bool downHooks = false; + // also check for grace notes - bool upGrace = false; - bool downGrace = false; + bool upGrace = false; + bool downGrace = false; for (int track = startTrack; track < endTrack; ++track) { Element* e = segment->element(track); @@ -169,7 +172,7 @@ void Score::layoutChords1(Segment* segment, int staffIdx) // otherwise there might be issues with unisons between voices // in some corner cases - maxUpWidth = nominalWidth * maxUpMag; + maxUpWidth = nominalWidth * maxUpMag; maxDownWidth = nominalWidth * maxDownMag; // layout upstem noteheads @@ -262,9 +265,8 @@ void Score::layoutChords1(Segment* segment, int staffIdx) // handle conflict between upstem and downstem chords if (upVoices && downVoices) { - Note* bottomUpNote = upStemNotes.front(); - Note* topDownNote = downStemNotes.back(); + Note* topDownNote = downStemNotes.back(); int separation; if (bottomUpNote->chord()->staffMove() == topDownNote->chord()->staffMove()) separation = topDownNote->line() - bottomUpNote->line(); @@ -838,12 +840,9 @@ void Score::layoutChords3(std::vector& notes, Staff* staff, Segment* segm qreal stemX = chord->stemPosX(); // stem position for nominal notehead, but allowing for mag qreal overlapMirror; - if (chord->stem()) { - qreal stemWidth = chord->stem()->lineWidth(); - qreal stemWidth5 = stemWidth * 0.5; - chord->stem()->rxpos() = _up ? stemX - stemWidth5 : stemWidth5; - overlapMirror = stemWidth; - } + Stem* stem = chord->stem(); + if (stem) + overlapMirror = stem->lineWidth(); else if (chord->durationType().headType() == NoteHead::Type::HEAD_WHOLE) overlapMirror = styleP(StyleIdx::stemWidth) * chord->mag(); else @@ -879,9 +878,6 @@ void Score::layoutChords3(std::vector& notes, Staff* staff, Segment* segm else if (sx < lx) lx = sx; - //if (chord->stem()) - // chord->stem()->rxpos() = _up ? x + hw - stemWidth5 : x + stemWidth5; - qreal xx = x + hw + chord->pos().x(); if (chord->dots()) { @@ -1742,104 +1738,6 @@ void Score::layoutFingering(Fingering* f) f->setUserOff(QPointF(x, y)); } -#if 0 -//--------------------------------------------------------- -// layoutPages -// create list of pages -//--------------------------------------------------------- - -void Score::layoutPages(LayoutContext& lc) - { - const qreal slb = styleP(StyleIdx::staffLowerBorder); - const qreal sub = styleP(StyleIdx::staffUpperBorder); - lc.curPage = 0; - Page* page = getEmptyPage(lc); - bool breakPages = layoutMode() != LayoutMode::SYSTEM; - qreal y = page->tm(); - qreal ey = page->height() - page->bm(); - System* s1 = 0; // previous system - System* s2 = lc.curSystem; - - for (int i = 0;; ++i) { - // - // calculate distance to previous system - // - qreal distance; - if (s1) - distance = s1->minDistance(s2); - else { - // this is the first system on page - VBox* vbox = s2->vbox(); - distance = vbox ? vbox->topGap() : sub; - distance = qMax(distance, -s2->minTop()); - } - y += distance; - s2->setPos(page->lm(), y); - page->appendSystem(s2); - y += s2->height(); - - // - // check for page break or if next system will fit on page - // - System* s3 = _systems.value(i+1); // next system - bool breakPage = !s3 || (breakPages && s2->pageBreak()); - - if (!breakPage) { - qreal dist = s2->minDistance(s3) + s3->height(); - VBox* vbox = s3->vbox(); - if (vbox) - dist += vbox->bottomGap(); - else - dist += qMax(s3->minBottom(), slb); - breakPage = (y + dist) >= ey; - } - if (breakPage) { - VBox* vbox = s2->vbox(); - qreal dist = vbox ? vbox->bottomGap() : qMax(s2->minBottom(), slb); - layoutPage(page, ey - (y + dist)); - if (!s3) - break; - page = getEmptyPage(lc); - y = page->tm(); - s2 = 0; - } - s1 = s2; // current system becomes previous - s2 = s3; // next system becomes current - } - - while (_pages.size() > lc.curPage) // Remove not needed pages. TODO: make undoable: - _pages.takeLast(); - } -#endif - -#if 0 -//--------------------------------------------------------- -// doLayoutSystems -// layout staves in a system -// layout pages -//--------------------------------------------------------- - -void Score::doLayoutSystems() - { - LayoutContext lc; - - for (System* system : _systems) - system->layout2(); - - _systems.swap(lc.systemList); - lc.curSystem = lc.systemList.front(); - - if (layoutMode() != LayoutMode::LINE) - layoutPages(lc); - - rebuildBspTree(); - setUpdateAll(); - - for (MuseScoreView* v : viewer) - v->layoutChanged(); - } -#endif - //--------------------------------------------------------- // checkDivider //--------------------------------------------------------- @@ -1937,27 +1835,6 @@ static void layoutPage(Page* page, qreal restHeight) } } -//--------------------------------------------------------- -// doLayoutPages -// small wrapper for layoutPages() -//--------------------------------------------------------- - -#if 0 -void Score::doLayoutPages() - { - LayoutContext lc; - - _systems.swap(lc.systemList); - lc.curSystem = lc.systemList.front(); - layoutPages(lc); - - rebuildBspTree(); - setUpdateAll(); - foreach(MuseScoreView* v, viewer) - v->layoutChanged(); - } -#endif - //--------------------------------------------------------- // sff // compute 1/Force for a given Extend @@ -2150,7 +2027,6 @@ qreal Score::computeMinWidth(Segment* s, bool isFirstMeasureInSystem) // only ChordRest segments get more space // TODO: is there a special case n == 0 ? -// printf("overlap %s(%d) - %s(%d) n=%d +%f\n", ps->subTypeName(), ps->tick(), ns->subTypeName(), ns->tick(), n, ww-w); qreal d = (ww - w) / n; qreal xx = ps->x(); for (Segment* s = ps; s != ss;) { @@ -2768,8 +2644,9 @@ void Score::getNextMeasure(LayoutContext& lc) for (int t = track; t < endTrack; ++t) { ChordRest* cr = segment->cr(t); - if (cr) + if (cr) { measure->layoutCR0(cr, staffMag, &as); + } } layoutChords1(segment, staffIdx); } diff --git a/libmscore/measure.cpp b/libmscore/measure.cpp index eac190463b9d2..e6fb045c43b84 100644 --- a/libmscore/measure.cpp +++ b/libmscore/measure.cpp @@ -2882,7 +2882,8 @@ void Measure::layoutCR0(ChordRest* cr, qreal mm, AccidentalState* as) } } chord->computeUp(); - chord->layoutStem1(); + chord->layoutStem1(); // create stems needed to calculate spacing + // stem direction can change later during beam processing } if (m != mag()) cr->setMag(m); diff --git a/libmscore/shape.cpp b/libmscore/shape.cpp index d65cfc452777d..32b4585880e5b 100644 --- a/libmscore/shape.cpp +++ b/libmscore/shape.cpp @@ -184,7 +184,7 @@ void Shape::remove(const QRectF& r) return; } } - qWarning("Shape::remove: QRectF not found in Shape"); +// qWarning("Shape::remove: QRectF not found in Shape"); } void Shape::remove(const Shape& s) diff --git a/libmscore/stem.cpp b/libmscore/stem.cpp index 244d821a596fa..e1eb7278b78aa 100644 --- a/libmscore/stem.cpp +++ b/libmscore/stem.cpp @@ -63,12 +63,17 @@ qreal Stem::stemLen() const qreal Stem::lineWidth() const { - return point(score()->styleS(StyleIdx::stemWidth)); + return score()->styleP(StyleIdx::stemWidth); } -//--------------------------------------------------------- +//------------------------------------------------------------------- // layout -//--------------------------------------------------------- +// For beamed notes this is called twice. The final stem +// length can only be calculated after stretching of the measure. +// We need a guessed stem shape to calculate the minimal distance +// between segments. The guessed stem must have at least the +// right direction. +//------------------------------------------------------------------- void Stem::layout() { @@ -109,7 +114,7 @@ void Stem::layout() // compute bounding rectangle QRectF r(line.p1(), line.p2()); setbbox(r.normalized().adjusted(-lw5, -lw5, lw5, lw5)); - adjustReadPos(); + adjustReadPos(); // does not work if stem is layouted twice } //--------------------------------------------------------- diff --git a/vtest/accidental-1.mscz b/vtest/accidental-1.mscz index b052209036190..9070c128ee61e 100644 Binary files a/vtest/accidental-1.mscz and b/vtest/accidental-1.mscz differ diff --git a/vtest/accidental-10.mscz b/vtest/accidental-10.mscz index c0fe1f945ace8..efc125bdfcbfc 100644 Binary files a/vtest/accidental-10.mscz and b/vtest/accidental-10.mscz differ diff --git a/vtest/accidental-2.mscz b/vtest/accidental-2.mscz index ab696a9a52910..bd39e304cd5eb 100644 Binary files a/vtest/accidental-2.mscz and b/vtest/accidental-2.mscz differ diff --git a/vtest/accidental-3.mscz b/vtest/accidental-3.mscz index 8aa521647eeb8..5db0b906db044 100644 Binary files a/vtest/accidental-3.mscz and b/vtest/accidental-3.mscz differ diff --git a/vtest/accidental-4.mscz b/vtest/accidental-4.mscz index b1e82f3951340..94a383ad1bcbf 100644 Binary files a/vtest/accidental-4.mscz and b/vtest/accidental-4.mscz differ diff --git a/vtest/accidental-5.mscz b/vtest/accidental-5.mscz index 34d8919f32960..5a4e83dfcc1dd 100644 Binary files a/vtest/accidental-5.mscz and b/vtest/accidental-5.mscz differ diff --git a/vtest/accidental-6.mscz b/vtest/accidental-6.mscz index e5bd186cb317e..aeabeb14ec934 100644 Binary files a/vtest/accidental-6.mscz and b/vtest/accidental-6.mscz differ diff --git a/vtest/accidental-7.mscz b/vtest/accidental-7.mscz index fb593394dd55c..441ccc88706aa 100644 Binary files a/vtest/accidental-7.mscz and b/vtest/accidental-7.mscz differ diff --git a/vtest/accidental-8.mscz b/vtest/accidental-8.mscz index 10eb49ce044ae..529c278f7a67b 100644 Binary files a/vtest/accidental-8.mscz and b/vtest/accidental-8.mscz differ diff --git a/vtest/accidental-9.mscz b/vtest/accidental-9.mscz index 95e60871a2750..fcaa68ba84b90 100644 Binary files a/vtest/accidental-9.mscz and b/vtest/accidental-9.mscz differ diff --git a/vtest/beams-1.mscz b/vtest/beams-1.mscz index ba9f99b0e8c2e..afc977fc38a77 100644 Binary files a/vtest/beams-1.mscz and b/vtest/beams-1.mscz differ diff --git a/vtest/beams-10.mscz b/vtest/beams-10.mscz index deb7a9656885d..3101874635140 100644 Binary files a/vtest/beams-10.mscz and b/vtest/beams-10.mscz differ diff --git a/vtest/beams-11.mscz b/vtest/beams-11.mscz index 15a1a5bdc3f5c..c82197168f07e 100644 Binary files a/vtest/beams-11.mscz and b/vtest/beams-11.mscz differ diff --git a/vtest/beams-12.mscz b/vtest/beams-12.mscz index 3f74b38028da0..276b25cfb4a70 100644 Binary files a/vtest/beams-12.mscz and b/vtest/beams-12.mscz differ diff --git a/vtest/beams-13.mscz b/vtest/beams-13.mscz index 274961a46ab8f..d89ce816d6c7e 100644 Binary files a/vtest/beams-13.mscz and b/vtest/beams-13.mscz differ diff --git a/vtest/beams-14.mscz b/vtest/beams-14.mscz index 76e6ab579d0f0..8883a13c9dee7 100644 Binary files a/vtest/beams-14.mscz and b/vtest/beams-14.mscz differ diff --git a/vtest/beams-15.mscz b/vtest/beams-15.mscz index b6967c7eb1063..87113087fc583 100644 Binary files a/vtest/beams-15.mscz and b/vtest/beams-15.mscz differ diff --git a/vtest/beams-16.mscz b/vtest/beams-16.mscz index 5ddcf5c26915d..0c7c66071b121 100644 Binary files a/vtest/beams-16.mscz and b/vtest/beams-16.mscz differ diff --git a/vtest/beams-17.mscz b/vtest/beams-17.mscz index 04c89d0288571..82b39744580b2 100644 Binary files a/vtest/beams-17.mscz and b/vtest/beams-17.mscz differ diff --git a/vtest/beams-2.mscz b/vtest/beams-2.mscz index 1f1250474cd3d..048a3fc4f41d4 100644 Binary files a/vtest/beams-2.mscz and b/vtest/beams-2.mscz differ diff --git a/vtest/beams-3.mscz b/vtest/beams-3.mscz index 7114befb1fb9c..26ef9a06b742b 100644 Binary files a/vtest/beams-3.mscz and b/vtest/beams-3.mscz differ diff --git a/vtest/beams-4.mscz b/vtest/beams-4.mscz index 2f1c565a17eaf..809af27baa123 100644 Binary files a/vtest/beams-4.mscz and b/vtest/beams-4.mscz differ diff --git a/vtest/beams-5.mscz b/vtest/beams-5.mscz index ede2081d82969..5244b7fef6d48 100644 Binary files a/vtest/beams-5.mscz and b/vtest/beams-5.mscz differ diff --git a/vtest/beams-6.mscz b/vtest/beams-6.mscz index 4964788a9db44..5eaec5aa30c78 100644 Binary files a/vtest/beams-6.mscz and b/vtest/beams-6.mscz differ diff --git a/vtest/beams-7.mscz b/vtest/beams-7.mscz index 77fc12f81da46..5fad4adcd46a7 100644 Binary files a/vtest/beams-7.mscz and b/vtest/beams-7.mscz differ diff --git a/vtest/beams-8.mscz b/vtest/beams-8.mscz index 8725e104d6788..6d359a5ab95b2 100644 Binary files a/vtest/beams-8.mscz and b/vtest/beams-8.mscz differ diff --git a/vtest/beams-9.mscz b/vtest/beams-9.mscz index 8396cf4260284..29c77d16a71d4 100644 Binary files a/vtest/beams-9.mscz and b/vtest/beams-9.mscz differ diff --git a/vtest/bravura-1.mscz b/vtest/bravura-1.mscz index 60083ae0ab46a..5d38570150c85 100644 Binary files a/vtest/bravura-1.mscz and b/vtest/bravura-1.mscz differ diff --git a/vtest/bravura-10.mscz b/vtest/bravura-10.mscz index 1eca9635cbd04..44165d20b781c 100644 Binary files a/vtest/bravura-10.mscz and b/vtest/bravura-10.mscz differ diff --git a/vtest/bravura-11.mscz b/vtest/bravura-11.mscz index 9063a20e5de26..d7135109ff0c1 100644 Binary files a/vtest/bravura-11.mscz and b/vtest/bravura-11.mscz differ diff --git a/vtest/bravura-2.mscz b/vtest/bravura-2.mscz index 2bb9a76313a4d..60b5eefa55c52 100644 Binary files a/vtest/bravura-2.mscz and b/vtest/bravura-2.mscz differ diff --git a/vtest/bravura-3.mscz b/vtest/bravura-3.mscz index 9df818367a40d..f9e6dcaa3bbbd 100644 Binary files a/vtest/bravura-3.mscz and b/vtest/bravura-3.mscz differ diff --git a/vtest/bravura-4.mscz b/vtest/bravura-4.mscz index 2c67bb8805acb..b3ef64bbe8b68 100644 Binary files a/vtest/bravura-4.mscz and b/vtest/bravura-4.mscz differ diff --git a/vtest/bravura-5.mscz b/vtest/bravura-5.mscz index 49fb6a6e4a369..117ab9cedfe4c 100644 Binary files a/vtest/bravura-5.mscz and b/vtest/bravura-5.mscz differ diff --git a/vtest/bravura-6.mscz b/vtest/bravura-6.mscz index 9172d537c7f2d..7bac53945e5de 100644 Binary files a/vtest/bravura-6.mscz and b/vtest/bravura-6.mscz differ diff --git a/vtest/bravura-7.mscz b/vtest/bravura-7.mscz index 1249445423507..4bfffc41c64b1 100644 Binary files a/vtest/bravura-7.mscz and b/vtest/bravura-7.mscz differ diff --git a/vtest/bravura-8.mscz b/vtest/bravura-8.mscz index 8fe3a77e8788f..eefa9ce977734 100644 Binary files a/vtest/bravura-8.mscz and b/vtest/bravura-8.mscz differ diff --git a/vtest/bravura-9.mscz b/vtest/bravura-9.mscz index 3bb481d315837..36fde2adbbc3e 100644 Binary files a/vtest/bravura-9.mscz and b/vtest/bravura-9.mscz differ diff --git a/vtest/bravura-mmrest.mscz b/vtest/bravura-mmrest.mscz index 6eb7fc100c69b..2032624f37eae 100644 Binary files a/vtest/bravura-mmrest.mscz and b/vtest/bravura-mmrest.mscz differ diff --git a/vtest/bravura-text-1.mscz b/vtest/bravura-text-1.mscz index c6c7b30ef211f..8441c6252e2aa 100644 Binary files a/vtest/bravura-text-1.mscz and b/vtest/bravura-text-1.mscz differ diff --git a/vtest/bravura-text-2.mscz b/vtest/bravura-text-2.mscz index 79deaed0a8822..a504be6cbc63f 100644 Binary files a/vtest/bravura-text-2.mscz and b/vtest/bravura-text-2.mscz differ diff --git a/vtest/bravura-text-3.mscz b/vtest/bravura-text-3.mscz index ae6de51302c80..a9e594aee25e9 100644 Binary files a/vtest/bravura-text-3.mscz and b/vtest/bravura-text-3.mscz differ diff --git a/vtest/breath-1.mscz b/vtest/breath-1.mscz index 33b63cc989aec..0046142a76397 100644 Binary files a/vtest/breath-1.mscz and b/vtest/breath-1.mscz differ diff --git a/vtest/chord-layout-1.mscz b/vtest/chord-layout-1.mscz index 2beed67fe3af0..0d24c63cee887 100644 Binary files a/vtest/chord-layout-1.mscz and b/vtest/chord-layout-1.mscz differ diff --git a/vtest/chord-layout-10.mscz b/vtest/chord-layout-10.mscz index 9051b664d8cfe..1eb6721d04b78 100644 Binary files a/vtest/chord-layout-10.mscz and b/vtest/chord-layout-10.mscz differ diff --git a/vtest/chord-layout-11.mscz b/vtest/chord-layout-11.mscz index 286f577de64f8..590b077b4b069 100644 Binary files a/vtest/chord-layout-11.mscz and b/vtest/chord-layout-11.mscz differ diff --git a/vtest/chord-layout-12.mscz b/vtest/chord-layout-12.mscz index 80b81453b1edc..5952d08d04dd7 100644 Binary files a/vtest/chord-layout-12.mscz and b/vtest/chord-layout-12.mscz differ diff --git a/vtest/chord-layout-13.mscz b/vtest/chord-layout-13.mscz index de1f085a8f5b3..5370f4c753bd8 100644 Binary files a/vtest/chord-layout-13.mscz and b/vtest/chord-layout-13.mscz differ diff --git a/vtest/chord-layout-14.mscz b/vtest/chord-layout-14.mscz index bd0f7db258b78..8365a4ce2e815 100644 Binary files a/vtest/chord-layout-14.mscz and b/vtest/chord-layout-14.mscz differ diff --git a/vtest/chord-layout-15.mscz b/vtest/chord-layout-15.mscz index 6e82e3387baf5..41f9905589c3b 100644 Binary files a/vtest/chord-layout-15.mscz and b/vtest/chord-layout-15.mscz differ diff --git a/vtest/chord-layout-16.mscz b/vtest/chord-layout-16.mscz index 815fd1e3ecc31..6286d60fba328 100644 Binary files a/vtest/chord-layout-16.mscz and b/vtest/chord-layout-16.mscz differ diff --git a/vtest/chord-layout-2.mscz b/vtest/chord-layout-2.mscz index 706fb850e418f..420e8fe785938 100644 Binary files a/vtest/chord-layout-2.mscz and b/vtest/chord-layout-2.mscz differ diff --git a/vtest/chord-layout-3.mscz b/vtest/chord-layout-3.mscz index f1c0ebd4f8c9e..727bee6d9d44e 100644 Binary files a/vtest/chord-layout-3.mscz and b/vtest/chord-layout-3.mscz differ diff --git a/vtest/chord-layout-4.mscz b/vtest/chord-layout-4.mscz index 3dcdb5003c4d6..501907792ad34 100644 Binary files a/vtest/chord-layout-4.mscz and b/vtest/chord-layout-4.mscz differ diff --git a/vtest/chord-layout-5.mscz b/vtest/chord-layout-5.mscz index 2cf7d015f7730..f405ba8ad4219 100644 Binary files a/vtest/chord-layout-5.mscz and b/vtest/chord-layout-5.mscz differ diff --git a/vtest/chord-layout-6.mscz b/vtest/chord-layout-6.mscz index 099e47ea6d3e8..586330cbc405b 100644 Binary files a/vtest/chord-layout-6.mscz and b/vtest/chord-layout-6.mscz differ diff --git a/vtest/chord-layout-7.mscz b/vtest/chord-layout-7.mscz index 31f5d214e100c..1ece65710f4a8 100644 Binary files a/vtest/chord-layout-7.mscz and b/vtest/chord-layout-7.mscz differ diff --git a/vtest/chord-layout-8.mscz b/vtest/chord-layout-8.mscz index 5087416fb5de6..a5d06d910760b 100644 Binary files a/vtest/chord-layout-8.mscz and b/vtest/chord-layout-8.mscz differ diff --git a/vtest/chord-layout-9.mscz b/vtest/chord-layout-9.mscz index a414512d89e7f..efb8998e762ec 100644 Binary files a/vtest/chord-layout-9.mscz and b/vtest/chord-layout-9.mscz differ diff --git a/vtest/chord-space-1.mscz b/vtest/chord-space-1.mscz index 5ba4a56c98f20..47b5c5c5a98d2 100644 Binary files a/vtest/chord-space-1.mscz and b/vtest/chord-space-1.mscz differ diff --git a/vtest/chord-space-2.mscz b/vtest/chord-space-2.mscz index 4406cc692f783..4e3fd6e63d2cc 100644 Binary files a/vtest/chord-space-2.mscz and b/vtest/chord-space-2.mscz differ diff --git a/vtest/cross-1.mscz b/vtest/cross-1.mscz index ffe96297eaa02..35e0fac63cf23 100644 Binary files a/vtest/cross-1.mscz and b/vtest/cross-1.mscz differ diff --git a/vtest/cross-2.mscz b/vtest/cross-2.mscz index 25f7aa8693dda..e0545be00b065 100644 Binary files a/vtest/cross-2.mscz and b/vtest/cross-2.mscz differ diff --git a/vtest/emmentaler-1.mscz b/vtest/emmentaler-1.mscz index 69bee9a4e6dcd..5a5b55978f913 100644 Binary files a/vtest/emmentaler-1.mscz and b/vtest/emmentaler-1.mscz differ diff --git a/vtest/emmentaler-10.mscz b/vtest/emmentaler-10.mscz index 9b65f680263f4..08cceb24f7c5c 100644 Binary files a/vtest/emmentaler-10.mscz and b/vtest/emmentaler-10.mscz differ diff --git a/vtest/emmentaler-11.mscz b/vtest/emmentaler-11.mscz index ce614a12929b6..1c6fe942a27f9 100644 Binary files a/vtest/emmentaler-11.mscz and b/vtest/emmentaler-11.mscz differ diff --git a/vtest/emmentaler-2.mscz b/vtest/emmentaler-2.mscz index fc3d153c8ad76..6f766bf2ed4c8 100644 Binary files a/vtest/emmentaler-2.mscz and b/vtest/emmentaler-2.mscz differ diff --git a/vtest/emmentaler-3.mscz b/vtest/emmentaler-3.mscz index 2dab915cdcbbc..828b3eaedb2fb 100644 Binary files a/vtest/emmentaler-3.mscz and b/vtest/emmentaler-3.mscz differ diff --git a/vtest/emmentaler-4.mscz b/vtest/emmentaler-4.mscz index 2fac8432415bf..ba209f747ea85 100644 Binary files a/vtest/emmentaler-4.mscz and b/vtest/emmentaler-4.mscz differ diff --git a/vtest/emmentaler-5.mscz b/vtest/emmentaler-5.mscz index e602857553ec2..b5aa6bb4f4dcb 100644 Binary files a/vtest/emmentaler-5.mscz and b/vtest/emmentaler-5.mscz differ diff --git a/vtest/emmentaler-6.mscz b/vtest/emmentaler-6.mscz index e32b8f2db90a2..42a9abd759231 100644 Binary files a/vtest/emmentaler-6.mscz and b/vtest/emmentaler-6.mscz differ diff --git a/vtest/emmentaler-7.mscz b/vtest/emmentaler-7.mscz index d993aa67ffbd5..49fd229f35404 100644 Binary files a/vtest/emmentaler-7.mscz and b/vtest/emmentaler-7.mscz differ diff --git a/vtest/emmentaler-8.mscz b/vtest/emmentaler-8.mscz index 15185b3b98ff8..96215167a8c4a 100644 Binary files a/vtest/emmentaler-8.mscz and b/vtest/emmentaler-8.mscz differ diff --git a/vtest/emmentaler-9.mscz b/vtest/emmentaler-9.mscz index 4b30b12a5f885..f3129cf6000bd 100644 Binary files a/vtest/emmentaler-9.mscz and b/vtest/emmentaler-9.mscz differ diff --git a/vtest/emmentaler-text-1.mscz b/vtest/emmentaler-text-1.mscz index 030d1ccc54fef..11ec91d15a37d 100644 Binary files a/vtest/emmentaler-text-1.mscz and b/vtest/emmentaler-text-1.mscz differ diff --git a/vtest/emmentaler-text-2.mscz b/vtest/emmentaler-text-2.mscz index 80196e29d1ea6..15546f9abcb46 100644 Binary files a/vtest/emmentaler-text-2.mscz and b/vtest/emmentaler-text-2.mscz differ diff --git a/vtest/emmentaler-text-3.mscz b/vtest/emmentaler-text-3.mscz index 22c7c2f23d146..b106963b56b37 100644 Binary files a/vtest/emmentaler-text-3.mscz and b/vtest/emmentaler-text-3.mscz differ diff --git a/vtest/fmrest-1.mscz b/vtest/fmrest-1.mscz index 78d74c43ea363..1a371d58ecf55 100644 Binary files a/vtest/fmrest-1.mscz and b/vtest/fmrest-1.mscz differ diff --git a/vtest/fmrest-2.mscz b/vtest/fmrest-2.mscz index 88086628caf51..4764788274a80 100644 Binary files a/vtest/fmrest-2.mscz and b/vtest/fmrest-2.mscz differ diff --git a/vtest/fmrest-3.mscz b/vtest/fmrest-3.mscz index d3859dc3f52f2..a54a388f6d9c4 100644 Binary files a/vtest/fmrest-3.mscz and b/vtest/fmrest-3.mscz differ diff --git a/vtest/fmrest-4.mscz b/vtest/fmrest-4.mscz index 1718296351987..2c4049943b1b8 100644 Binary files a/vtest/fmrest-4.mscz and b/vtest/fmrest-4.mscz differ diff --git a/vtest/fmrest-5.mscz b/vtest/fmrest-5.mscz index a3fddc715a829..83ef78a8b778a 100644 Binary files a/vtest/fmrest-5.mscz and b/vtest/fmrest-5.mscz differ diff --git a/vtest/fmrest-6.mscz b/vtest/fmrest-6.mscz index 433e68344f8eb..61e19619d1fe9 100644 Binary files a/vtest/fmrest-6.mscz and b/vtest/fmrest-6.mscz differ diff --git a/vtest/frametext.mscz b/vtest/frametext.mscz index 628b9399d7ad2..c0e49307b90e0 100644 Binary files a/vtest/frametext.mscz and b/vtest/frametext.mscz differ diff --git a/vtest/gen b/vtest/gen index f79b207e11b63..77dcb5d7b3fab 100755 --- a/vtest/gen +++ b/vtest/gen @@ -52,7 +52,7 @@ else 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 lyrics-7 voice-1 voice-2 slash-1 slash-2\ system-1 system-2 system-3 system-4 system-5 system-6 system-7 hide-1 small-1 tremolo-1\ - staff-1 staff-2 layout-1 layout-2 layout-3 layout-4 layout-5 layout-6" + staff-1 staff-2 layout-1 layout-2 layout-3 layout-4 layout-5 layout-6 layout-7 layout-8" fi #####DEBUG: failed tests diff --git a/vtest/gliss-1.mscz b/vtest/gliss-1.mscz index 9a417fa8261da..bf5efc793084c 100644 Binary files a/vtest/gliss-1.mscz and b/vtest/gliss-1.mscz differ diff --git a/vtest/gliss-2.mscz b/vtest/gliss-2.mscz index f8b9e282362dd..782b04da64a96 100644 Binary files a/vtest/gliss-2.mscz and b/vtest/gliss-2.mscz differ diff --git a/vtest/gonville-1.mscz b/vtest/gonville-1.mscz index 5609d19e9b45a..3bfb2245c15c1 100644 Binary files a/vtest/gonville-1.mscz and b/vtest/gonville-1.mscz differ diff --git a/vtest/gonville-10.mscz b/vtest/gonville-10.mscz index 57f4f3b5b7cb8..30624de449cc0 100644 Binary files a/vtest/gonville-10.mscz and b/vtest/gonville-10.mscz differ diff --git a/vtest/gonville-11.mscz b/vtest/gonville-11.mscz index 55d2d7cff15f5..797abd1d7eecd 100644 Binary files a/vtest/gonville-11.mscz and b/vtest/gonville-11.mscz differ diff --git a/vtest/gonville-2.mscz b/vtest/gonville-2.mscz index 55c677ba9b2e5..2ca4a23cd1201 100644 Binary files a/vtest/gonville-2.mscz and b/vtest/gonville-2.mscz differ diff --git a/vtest/gonville-3.mscz b/vtest/gonville-3.mscz index b3081005f2728..36a6acac0fa03 100644 Binary files a/vtest/gonville-3.mscz and b/vtest/gonville-3.mscz differ diff --git a/vtest/gonville-4.mscz b/vtest/gonville-4.mscz index 224adadbd5082..bb7a113dccb04 100644 Binary files a/vtest/gonville-4.mscz and b/vtest/gonville-4.mscz differ diff --git a/vtest/gonville-5.mscz b/vtest/gonville-5.mscz index e509aa17a3e10..4e1ecd06a6a15 100644 Binary files a/vtest/gonville-5.mscz and b/vtest/gonville-5.mscz differ diff --git a/vtest/gonville-6.mscz b/vtest/gonville-6.mscz index d8819c9540266..7c3de2d948478 100644 Binary files a/vtest/gonville-6.mscz and b/vtest/gonville-6.mscz differ diff --git a/vtest/gonville-7.mscz b/vtest/gonville-7.mscz index 0c38207da84f1..fca100f0cfcfa 100644 Binary files a/vtest/gonville-7.mscz and b/vtest/gonville-7.mscz differ diff --git a/vtest/gonville-8.mscz b/vtest/gonville-8.mscz index 0cba1a480aab9..db5dbb437e5ed 100644 Binary files a/vtest/gonville-8.mscz and b/vtest/gonville-8.mscz differ diff --git a/vtest/gonville-9.mscz b/vtest/gonville-9.mscz index 7ea8128bdf458..30bbd23f7edab 100644 Binary files a/vtest/gonville-9.mscz and b/vtest/gonville-9.mscz differ diff --git a/vtest/gonville-mmrest.mscz b/vtest/gonville-mmrest.mscz index 400ad454460ac..78e201eec71e6 100644 Binary files a/vtest/gonville-mmrest.mscz and b/vtest/gonville-mmrest.mscz differ diff --git a/vtest/gonville-text-1.mscz b/vtest/gonville-text-1.mscz index 16804c05fb059..d4f3f90fab7c4 100644 Binary files a/vtest/gonville-text-1.mscz and b/vtest/gonville-text-1.mscz differ diff --git a/vtest/gonville-text-2.mscz b/vtest/gonville-text-2.mscz index f5d2e5e709673..c7b43f7830d3f 100644 Binary files a/vtest/gonville-text-2.mscz and b/vtest/gonville-text-2.mscz differ diff --git a/vtest/gonville-text-3.mscz b/vtest/gonville-text-3.mscz index a2f282a6b250c..0fc3b4ed06143 100644 Binary files a/vtest/gonville-text-3.mscz and b/vtest/gonville-text-3.mscz differ diff --git a/vtest/grace-1.mscz b/vtest/grace-1.mscz index 36c3105729465..a579ba9be2308 100644 Binary files a/vtest/grace-1.mscz and b/vtest/grace-1.mscz differ diff --git a/vtest/grace-2.mscz b/vtest/grace-2.mscz index ccac9d92d8110..7eec323e1d1ba 100644 Binary files a/vtest/grace-2.mscz and b/vtest/grace-2.mscz differ diff --git a/vtest/grace-3.mscz b/vtest/grace-3.mscz index c7f2d61024966..27ac04569bc65 100644 Binary files a/vtest/grace-3.mscz and b/vtest/grace-3.mscz differ diff --git a/vtest/grace-4.mscz b/vtest/grace-4.mscz index 55fc228297a09..882b4341dead9 100644 Binary files a/vtest/grace-4.mscz and b/vtest/grace-4.mscz differ diff --git a/vtest/hairpins-1.mscz b/vtest/hairpins-1.mscz index 24af166390e24..7fc1be84b7961 100644 Binary files a/vtest/hairpins-1.mscz and b/vtest/hairpins-1.mscz differ diff --git a/vtest/harmony-1.mscz b/vtest/harmony-1.mscz index f3eb45f974972..9520d9de3057b 100644 Binary files a/vtest/harmony-1.mscz and b/vtest/harmony-1.mscz differ diff --git a/vtest/harmony-10.mscz b/vtest/harmony-10.mscz index f31d3e1d275be..a76a1c6ec8b50 100644 Binary files a/vtest/harmony-10.mscz and b/vtest/harmony-10.mscz differ diff --git a/vtest/harmony-11.mscz b/vtest/harmony-11.mscz index 2d666788cd19c..8c9b429351ced 100644 Binary files a/vtest/harmony-11.mscz and b/vtest/harmony-11.mscz differ diff --git a/vtest/harmony-12.mscz b/vtest/harmony-12.mscz index ba37f5d01396f..fd37a7ac6ab7b 100644 Binary files a/vtest/harmony-12.mscz and b/vtest/harmony-12.mscz differ diff --git a/vtest/harmony-2.mscz b/vtest/harmony-2.mscz index 37e7cf6bbb0b8..555fd7b8e2902 100644 Binary files a/vtest/harmony-2.mscz and b/vtest/harmony-2.mscz differ diff --git a/vtest/harmony-3.mscz b/vtest/harmony-3.mscz index 08ccbe1ac64ce..7ec547a6e3b42 100644 Binary files a/vtest/harmony-3.mscz and b/vtest/harmony-3.mscz differ diff --git a/vtest/harmony-4.mscz b/vtest/harmony-4.mscz index b65916a4b73b9..8774e83c5943b 100644 Binary files a/vtest/harmony-4.mscz and b/vtest/harmony-4.mscz differ diff --git a/vtest/harmony-5.mscz b/vtest/harmony-5.mscz index d8f8a6b62a1c1..75208520e9685 100644 Binary files a/vtest/harmony-5.mscz and b/vtest/harmony-5.mscz differ diff --git a/vtest/harmony-6.mscz b/vtest/harmony-6.mscz index 463a1746b4c32..3ad728889c565 100644 Binary files a/vtest/harmony-6.mscz and b/vtest/harmony-6.mscz differ diff --git a/vtest/harmony-7.mscz b/vtest/harmony-7.mscz index 27d22c3e1a5b8..e299449aa98f2 100644 Binary files a/vtest/harmony-7.mscz and b/vtest/harmony-7.mscz differ diff --git a/vtest/harmony-8.mscz b/vtest/harmony-8.mscz index d2908b5b04d26..cfd26ec792d8c 100644 Binary files a/vtest/harmony-8.mscz and b/vtest/harmony-8.mscz differ diff --git a/vtest/harmony-9.mscz b/vtest/harmony-9.mscz index 449a1ff6d977c..aefac20ca841d 100644 Binary files a/vtest/harmony-9.mscz and b/vtest/harmony-9.mscz differ diff --git a/vtest/hide-1.mscz b/vtest/hide-1.mscz index 401a2ad5df1b9..d0ff8bd5ef120 100644 Binary files a/vtest/hide-1.mscz and b/vtest/hide-1.mscz differ diff --git a/vtest/image-1.mscz b/vtest/image-1.mscz index 0692663c8efd7..48811fe3853a5 100644 Binary files a/vtest/image-1.mscz and b/vtest/image-1.mscz differ diff --git a/vtest/layout-1.mscz b/vtest/layout-1.mscz index c5368ad44541a..b792a79056916 100644 Binary files a/vtest/layout-1.mscz and b/vtest/layout-1.mscz differ diff --git a/vtest/layout-2.mscz b/vtest/layout-2.mscz index 025acdcfb4452..1931a61a1d0aa 100644 Binary files a/vtest/layout-2.mscz and b/vtest/layout-2.mscz differ diff --git a/vtest/layout-3.mscz b/vtest/layout-3.mscz index a65c283fc3727..9bd26ac2d8028 100644 Binary files a/vtest/layout-3.mscz and b/vtest/layout-3.mscz differ diff --git a/vtest/layout-4.mscz b/vtest/layout-4.mscz index d19640000eccd..dda2fb3c34d9a 100644 Binary files a/vtest/layout-4.mscz and b/vtest/layout-4.mscz differ diff --git a/vtest/layout-5.mscz b/vtest/layout-5.mscz index 6c891ff5a37c7..5a49bc05b17f2 100644 Binary files a/vtest/layout-5.mscz and b/vtest/layout-5.mscz differ diff --git a/vtest/layout-6.mscz b/vtest/layout-6.mscz index 38b8dac1d2934..45b870f82514a 100644 Binary files a/vtest/layout-6.mscz and b/vtest/layout-6.mscz differ diff --git a/vtest/layout-7.mscz b/vtest/layout-7.mscz index c9ec5a01f9fc2..6b8f7bb537cc3 100644 Binary files a/vtest/layout-7.mscz and b/vtest/layout-7.mscz differ diff --git a/vtest/layout-8-ref.png b/vtest/layout-8-ref.png new file mode 100644 index 0000000000000..06dfb2b87d210 Binary files /dev/null and b/vtest/layout-8-ref.png differ diff --git a/vtest/layout-8.mscz b/vtest/layout-8.mscz new file mode 100644 index 0000000000000..487f8ef718379 Binary files /dev/null and b/vtest/layout-8.mscz differ diff --git a/vtest/line-1.mscz b/vtest/line-1.mscz index f31da5e25e47c..1fd4979fe5134 100644 Binary files a/vtest/line-1.mscz and b/vtest/line-1.mscz differ diff --git a/vtest/line-2.mscz b/vtest/line-2.mscz index d5f168b3a6958..c7601dd36b564 100644 Binary files a/vtest/line-2.mscz and b/vtest/line-2.mscz differ diff --git a/vtest/line-3.mscz b/vtest/line-3.mscz index 2a20222d951bc..44c6c195e0850 100644 Binary files a/vtest/line-3.mscz and b/vtest/line-3.mscz differ diff --git a/vtest/line-4.mscz b/vtest/line-4.mscz index 71b94a625654a..152f3d78275e6 100644 Binary files a/vtest/line-4.mscz and b/vtest/line-4.mscz differ diff --git a/vtest/line-5.mscz b/vtest/line-5.mscz index 2b00d8abeaf2a..c9272cce905f5 100644 Binary files a/vtest/line-5.mscz and b/vtest/line-5.mscz differ diff --git a/vtest/line-6.mscz b/vtest/line-6.mscz index 405351dbdc503..5060a9def4d2e 100644 Binary files a/vtest/line-6.mscz and b/vtest/line-6.mscz differ diff --git a/vtest/lyrics-1.mscz b/vtest/lyrics-1.mscz index 0e6195d1ae8d8..9a0716d18fef3 100644 Binary files a/vtest/lyrics-1.mscz and b/vtest/lyrics-1.mscz differ diff --git a/vtest/lyrics-2.mscz b/vtest/lyrics-2.mscz index 47e4339453d1b..e8a60b9ab95a7 100644 Binary files a/vtest/lyrics-2.mscz and b/vtest/lyrics-2.mscz differ diff --git a/vtest/lyrics-3.mscz b/vtest/lyrics-3.mscz index ab2396269bac2..a4150debb28b0 100644 Binary files a/vtest/lyrics-3.mscz and b/vtest/lyrics-3.mscz differ diff --git a/vtest/lyrics-4.mscz b/vtest/lyrics-4.mscz index d8aa4c9d3e922..0d3b1fe2b03e9 100644 Binary files a/vtest/lyrics-4.mscz and b/vtest/lyrics-4.mscz differ diff --git a/vtest/lyrics-5.mscz b/vtest/lyrics-5.mscz index 7868610e71885..fa46fd046f319 100644 Binary files a/vtest/lyrics-5.mscz and b/vtest/lyrics-5.mscz differ diff --git a/vtest/lyrics-6.mscz b/vtest/lyrics-6.mscz index b27f8fc3e4b25..4d03267e2478a 100644 Binary files a/vtest/lyrics-6.mscz and b/vtest/lyrics-6.mscz differ diff --git a/vtest/lyrics-7.mscz b/vtest/lyrics-7.mscz index a005ce2a87036..fcaa4d61200f6 100644 Binary files a/vtest/lyrics-7.mscz and b/vtest/lyrics-7.mscz differ diff --git a/vtest/measure-repeat-1.mscz b/vtest/measure-repeat-1.mscz index 8d6db9a0e27b0..fd71320aeb629 100644 Binary files a/vtest/measure-repeat-1.mscz and b/vtest/measure-repeat-1.mscz differ diff --git a/vtest/mmrest-1.mscz b/vtest/mmrest-1.mscz index d690af8058999..ee0d97472bb8a 100644 Binary files a/vtest/mmrest-1.mscz and b/vtest/mmrest-1.mscz differ diff --git a/vtest/mmrest-10.mscz b/vtest/mmrest-10.mscz index f48c2267b69c5..c691bc995938d 100644 Binary files a/vtest/mmrest-10.mscz and b/vtest/mmrest-10.mscz differ diff --git a/vtest/mmrest-2.mscz b/vtest/mmrest-2.mscz index 0cf50c1028414..70cc9b1c4f134 100644 Binary files a/vtest/mmrest-2.mscz and b/vtest/mmrest-2.mscz differ diff --git a/vtest/mmrest-4.mscz b/vtest/mmrest-4.mscz index e62d641a37917..efe2412f33a60 100644 Binary files a/vtest/mmrest-4.mscz and b/vtest/mmrest-4.mscz differ diff --git a/vtest/mmrest-5.mscz b/vtest/mmrest-5.mscz index f379964a46732..c43308c73d22f 100644 Binary files a/vtest/mmrest-5.mscz and b/vtest/mmrest-5.mscz differ diff --git a/vtest/mmrest-6.mscz b/vtest/mmrest-6.mscz index eb3cb8b921cf7..02a3ffa3457aa 100644 Binary files a/vtest/mmrest-6.mscz and b/vtest/mmrest-6.mscz differ diff --git a/vtest/mmrest-7.mscz b/vtest/mmrest-7.mscz index d455135624441..22d212ad25e3d 100644 Binary files a/vtest/mmrest-7.mscz and b/vtest/mmrest-7.mscz differ diff --git a/vtest/mmrest-8.mscz b/vtest/mmrest-8.mscz index fddc9e928f368..f04093f8ca176 100644 Binary files a/vtest/mmrest-8.mscz and b/vtest/mmrest-8.mscz differ diff --git a/vtest/mmrest-9.mscz b/vtest/mmrest-9.mscz index 4e10ad16e7c4c..2b20518de4c83 100644 Binary files a/vtest/mmrest-9.mscz and b/vtest/mmrest-9.mscz differ diff --git a/vtest/musejazz-text-1.mscz b/vtest/musejazz-text-1.mscz index f4981eb7a2a73..632330a8260e9 100644 Binary files a/vtest/musejazz-text-1.mscz and b/vtest/musejazz-text-1.mscz differ diff --git a/vtest/musejazz-text-2.mscz b/vtest/musejazz-text-2.mscz index 0eb460234af2f..b47ee2d9006e9 100644 Binary files a/vtest/musejazz-text-2.mscz and b/vtest/musejazz-text-2.mscz differ diff --git a/vtest/musejazz-text-3.mscz b/vtest/musejazz-text-3.mscz index 4efda7a55d98f..96f62dc9e7899 100644 Binary files a/vtest/musejazz-text-3.mscz and b/vtest/musejazz-text-3.mscz differ diff --git a/vtest/noteheadposition-1.mscz b/vtest/noteheadposition-1.mscz index 23aaf6f61d883..84544c62bb6ef 100644 Binary files a/vtest/noteheadposition-1.mscz and b/vtest/noteheadposition-1.mscz differ diff --git a/vtest/ottava.mscz b/vtest/ottava.mscz index 4080ca3528c40..45dd36dab06cc 100644 Binary files a/vtest/ottava.mscz and b/vtest/ottava.mscz differ diff --git a/vtest/pedal-1.mscz b/vtest/pedal-1.mscz index e4cf6a7af6491..b907089cc2ab0 100644 Binary files a/vtest/pedal-1.mscz and b/vtest/pedal-1.mscz differ diff --git a/vtest/slash-1.mscz b/vtest/slash-1.mscz index f8e78569fd3ba..64edb2dd4d3a1 100644 Binary files a/vtest/slash-1.mscz and b/vtest/slash-1.mscz differ diff --git a/vtest/slash-2.mscz b/vtest/slash-2.mscz index 52663796a4641..767203e04f369 100644 Binary files a/vtest/slash-2.mscz and b/vtest/slash-2.mscz differ diff --git a/vtest/slurs-1.mscz b/vtest/slurs-1.mscz index 57785fb9a0639..d4af5b6868a96 100644 Binary files a/vtest/slurs-1.mscz and b/vtest/slurs-1.mscz differ diff --git a/vtest/slurs-2.mscz b/vtest/slurs-2.mscz index 312e37feedd50..5af2fed3a877a 100644 Binary files a/vtest/slurs-2.mscz and b/vtest/slurs-2.mscz differ diff --git a/vtest/slurs-3.mscz b/vtest/slurs-3.mscz index d44b465fd8f8e..8b7fcc75b6f8e 100644 Binary files a/vtest/slurs-3.mscz and b/vtest/slurs-3.mscz differ diff --git a/vtest/slurs-4.mscz b/vtest/slurs-4.mscz index 491f779326005..bea7c8afc61c9 100644 Binary files a/vtest/slurs-4.mscz and b/vtest/slurs-4.mscz differ diff --git a/vtest/small-1.mscz b/vtest/small-1.mscz index 53c4b330ab8f6..1932a3ad3bc71 100644 Binary files a/vtest/small-1.mscz and b/vtest/small-1.mscz differ diff --git a/vtest/staff-1.mscz b/vtest/staff-1.mscz index 102c3228f69a1..4225d5cabbd7b 100644 Binary files a/vtest/staff-1.mscz and b/vtest/staff-1.mscz differ diff --git a/vtest/staff-2.mscz b/vtest/staff-2.mscz index 1dd23eb2ffdf0..354225a69031a 100644 Binary files a/vtest/staff-2.mscz and b/vtest/staff-2.mscz differ diff --git a/vtest/system-1.mscz b/vtest/system-1.mscz index 0d9348f48d266..a961859f3214d 100644 Binary files a/vtest/system-1.mscz and b/vtest/system-1.mscz differ diff --git a/vtest/system-2.mscz b/vtest/system-2.mscz index afb753e05567e..49c11514b793f 100644 Binary files a/vtest/system-2.mscz and b/vtest/system-2.mscz differ diff --git a/vtest/system-3.mscz b/vtest/system-3.mscz index a43fd37de4ec1..035ccb6e0fb1c 100644 Binary files a/vtest/system-3.mscz and b/vtest/system-3.mscz differ diff --git a/vtest/system-4.mscz b/vtest/system-4.mscz index 642ab72f570a5..171e7fea64579 100644 Binary files a/vtest/system-4.mscz and b/vtest/system-4.mscz differ diff --git a/vtest/system-5.mscz b/vtest/system-5.mscz index a4d9fc630c724..b3bd54311b734 100644 Binary files a/vtest/system-5.mscz and b/vtest/system-5.mscz differ diff --git a/vtest/system-6.mscz b/vtest/system-6.mscz index e68ee6fef0227..fcfdcfa24ccb1 100644 Binary files a/vtest/system-6.mscz and b/vtest/system-6.mscz differ diff --git a/vtest/system-7.mscz b/vtest/system-7.mscz index 2ee7c7af9717b..0308c0baa82c2 100644 Binary files a/vtest/system-7.mscz and b/vtest/system-7.mscz differ diff --git a/vtest/tablature-1.mscz b/vtest/tablature-1.mscz index 3a58f1f099a5b..764a748780403 100644 Binary files a/vtest/tablature-1.mscz and b/vtest/tablature-1.mscz differ diff --git a/vtest/tie-1.mscz b/vtest/tie-1.mscz index a8cbb415a5c34..6ba248ac50cac 100644 Binary files a/vtest/tie-1.mscz and b/vtest/tie-1.mscz differ diff --git a/vtest/tie-2.mscz b/vtest/tie-2.mscz index 403666311c5ba..387f12535d1ed 100644 Binary files a/vtest/tie-2.mscz and b/vtest/tie-2.mscz differ diff --git a/vtest/tie-3.mscz b/vtest/tie-3.mscz index 4592116774deb..93716ae0ade77 100644 Binary files a/vtest/tie-3.mscz and b/vtest/tie-3.mscz differ diff --git a/vtest/tremolo-1.mscz b/vtest/tremolo-1.mscz index f584b40b89653..2d4e838cd6c1f 100644 Binary files a/vtest/tremolo-1.mscz and b/vtest/tremolo-1.mscz differ diff --git a/vtest/tuplets-1.mscz b/vtest/tuplets-1.mscz index 14649989e9e42..829b3ecc4a760 100644 Binary files a/vtest/tuplets-1.mscz and b/vtest/tuplets-1.mscz differ diff --git a/vtest/tuplets-2.mscz b/vtest/tuplets-2.mscz index 972768b1f790b..61ec3e1513e96 100644 Binary files a/vtest/tuplets-2.mscz and b/vtest/tuplets-2.mscz differ diff --git a/vtest/user-offset-1.mscz b/vtest/user-offset-1.mscz index 66c9a5de5da7c..fd3a9c39d06fe 100644 Binary files a/vtest/user-offset-1.mscz and b/vtest/user-offset-1.mscz differ diff --git a/vtest/user-offset-2.mscz b/vtest/user-offset-2.mscz index 0c5bbb6fbaee7..77948dda75bf6 100644 Binary files a/vtest/user-offset-2.mscz and b/vtest/user-offset-2.mscz differ diff --git a/vtest/valign-1.mscz b/vtest/valign-1.mscz index 6dd498dfa9c2a..c4bf440b1e5d4 100644 Binary files a/vtest/valign-1.mscz and b/vtest/valign-1.mscz differ diff --git a/vtest/valign-2.mscz b/vtest/valign-2.mscz index 52ed4ab89e940..e6776022bead1 100644 Binary files a/vtest/valign-2.mscz and b/vtest/valign-2.mscz differ diff --git a/vtest/valign-3.mscz b/vtest/valign-3.mscz index b74985b90dddb..3959906198a73 100644 Binary files a/vtest/valign-3.mscz and b/vtest/valign-3.mscz differ diff --git a/vtest/voice-1.mscz b/vtest/voice-1.mscz index d4caf29f3fe57..bd3df3bc1e23c 100644 Binary files a/vtest/voice-1.mscz and b/vtest/voice-1.mscz differ diff --git a/vtest/voice-2.mscz b/vtest/voice-2.mscz index 970dd56a200d4..786a0f93ee65e 100644 Binary files a/vtest/voice-2.mscz and b/vtest/voice-2.mscz differ