From 4cc54da8052494f701d033b9b375208c0015e6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Marche?= <35939574+Marr11317@users.noreply.github.com> Date: Sat, 28 Nov 2020 00:17:02 +0000 Subject: [PATCH] add padding inside parentheses for bracketed accidentals --- libmscore/accidental.cpp | 69 +++- libmscore/accidental.h | 3 +- libmscore/layout.cpp | 56 ++- libmscore/style.cpp | 2 + libmscore/style.h | 2 + libmscore/sym.cpp | 13 +- libmscore/sym.h | 6 + vtest/accidental-11.mscx | 441 +++++++++++++++++++++++ vtest/accidental-12.mscx | 342 ++++++++++++++++++ vtest/accidental-13.mscx | 328 +++++++++++++++++ vtest/accidental-14.mscx | 342 ++++++++++++++++++ vtest/accidental-15.mscx | 356 +++++++++++++++++++ vtest/accidental-16.mscx | 356 +++++++++++++++++++ vtest/accidental-17.mscx | 738 +++++++++++++++++++++++++++++++++++++++ vtest/accidental-18.mscx | 590 +++++++++++++++++++++++++++++++ vtest/accidental-19.mscx | 541 ++++++++++++++++++++++++++++ vtest/accidental-20.mscx | 590 +++++++++++++++++++++++++++++++ vtest/accidental-21.mscx | 313 +++++++++++++++++ vtest/accidental-22.mscx | 313 +++++++++++++++++ vtest/accidental-23.mscx | 278 +++++++++++++++ vtest/gen | 6 +- vtest/gen.bat | 6 +- 22 files changed, 5667 insertions(+), 24 deletions(-) create mode 100644 vtest/accidental-11.mscx create mode 100644 vtest/accidental-12.mscx create mode 100644 vtest/accidental-13.mscx create mode 100644 vtest/accidental-14.mscx create mode 100644 vtest/accidental-15.mscx create mode 100644 vtest/accidental-16.mscx create mode 100644 vtest/accidental-17.mscx create mode 100644 vtest/accidental-18.mscx create mode 100644 vtest/accidental-19.mscx create mode 100644 vtest/accidental-20.mscx create mode 100644 vtest/accidental-21.mscx create mode 100644 vtest/accidental-22.mscx create mode 100644 vtest/accidental-23.mscx diff --git a/libmscore/accidental.cpp b/libmscore/accidental.cpp index 169b41838bd9f..136db8a7be14d 100644 --- a/libmscore/accidental.cpp +++ b/libmscore/accidental.cpp @@ -346,11 +346,10 @@ void Accidental::layout() { el.clear(); - QRectF r; // TODO: remove Accidental in layout() // don't show accidentals for tab or slash notation if (onTabStaff() || (note() && note()->fixed())) { - setbbox(r); + setbbox(QRectF()); return; } @@ -359,9 +358,67 @@ void Accidental::layout() m *= score()->styleD(Sid::smallNoteMag); setMag(m); - m = magS(); + // if the accidental is standard (doubleflat, flat, natural, sharp or double sharp) + // and it has either no bracket or parentheses, then we have glyphs straight from smufl. + if (_bracket == AccidentalBracket::NONE + || (_bracket == AccidentalBracket::PARENTHESIS + && (_accidentalType == AccidentalType::FLAT + || _accidentalType == AccidentalType::NATURAL + || _accidentalType == AccidentalType::SHARP + || _accidentalType == AccidentalType::SHARP2 + || _accidentalType == AccidentalType::FLAT2))) { + layoutSingleGlyphAccidental(); + } + else { + layoutMultiGlyphAccidental(); + } + } + +void Accidental::layoutSingleGlyphAccidental() + { + QRectF r; + + SymId s = symbol(); + if (_bracket == AccidentalBracket::PARENTHESIS) { + switch (_accidentalType) { + case AccidentalType::FLAT2: + s = SymId::accidentalDoubleFlatParens; + break; + case AccidentalType::FLAT: + s = SymId::accidentalFlatParens; + break; + case AccidentalType::NATURAL: + s = SymId::accidentalNaturalParens; + break; + case AccidentalType::SHARP: + s = SymId::accidentalSharpParens; + break; + case AccidentalType::SHARP2: + s = SymId::accidentalDoubleSharpParens; + break; + default: + break; + } + if (!score()->scoreFont()->isValid(s)) { + layoutMultiGlyphAccidental(); + return; + } + } + + SymElement e(s, 0.0, 0.0); + el.append(e); + r |= symBbox(s); + setbbox(r); + } + + +void Accidental::layoutMultiGlyphAccidental() + { + qreal margin = score()->styleP(Sid::bracketedAccidentalPadding); + QRectF r; qreal x = 0.0; + // should always be true if (_bracket != AccidentalBracket::NONE) { SymId id = SymId::noSym; switch (_bracket) { @@ -380,7 +437,7 @@ void Accidental::layout() SymElement se(id, 0.0, _bracket == AccidentalBracket::BRACE ? spatium() * 0.4 : 0.0); el.append(se); r |= symBbox(id); - x += symAdvance(id); + x += symAdvance(id) + margin; } SymId s = symbol(); @@ -388,8 +445,9 @@ void Accidental::layout() el.append(e); r |= symBbox(s).translated(x, 0.0); + // should always be true if (_bracket != AccidentalBracket::NONE) { - x += symAdvance(s); + x += symAdvance(s) + margin; SymId id = SymId::noSym; switch (_bracket) { case AccidentalBracket::PARENTHESIS: @@ -588,4 +646,3 @@ QString Accidental::accessibleInfo() const } } - diff --git a/libmscore/accidental.h b/libmscore/accidental.h index 92cfceebad1eb..0b153bb5c5379 100644 --- a/libmscore/accidental.h +++ b/libmscore/accidental.h @@ -94,6 +94,8 @@ class Accidental final : public Element { bool acceptDrop(EditData&) const override; Element* drop(EditData&) override; void layout() override; + void layoutMultiGlyphAccidental(); + void layoutSingleGlyphAccidental(); void draw(QPainter*) const override; bool isEditable() const override { return true; } void startEdit(EditData&) override { setGenerated(false); } @@ -138,4 +140,3 @@ Q_DECLARE_METATYPE(Ms::AccidentalRole); #endif - diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp index e2f8ebbb99213..92198c752c71d 100644 --- a/libmscore/layout.cpp +++ b/libmscore/layout.cpp @@ -759,7 +759,7 @@ static bool resolveAccidentals(AcEl* left, AcEl* right, qreal& lx, qreal pd, qre // layoutAccidental //--------------------------------------------------------- -static qreal layoutAccidental(AcEl* me, AcEl* above, AcEl* below, qreal colOffset, QVector& leftNotes, qreal pnd, qreal pd, qreal sp) +static QPair layoutAccidental(AcEl* me, AcEl* above, AcEl* below, qreal colOffset, QVector& leftNotes, qreal pnd, qreal pd, qreal sp, bool forceLedgerLineSpace = false) { qreal lx = colOffset; Accidental* acc = me->note->accidental(); @@ -768,8 +768,8 @@ static qreal layoutAccidental(AcEl* me, AcEl* above, AcEl* below, qreal colOffse pd *= mag; // extra space for ledger lines - if (me->line <= -2 || me->line >= me->note->staff()->lines(me->note->chord()->tick()) * 2) - lx = qMin(lx, -0.2 * sp); + if (forceLedgerLineSpace || me->line <= -2 || me->line >= me->note->staff()->lines(me->note->chord()->tick()) * 2) + lx = qMin(lx, -acc->staff()->spatium(acc->tick()) * acc->score()->styleS(Sid::ledgerLineLength).val()); // clear left notes int lns = leftNotes.size(); @@ -804,7 +804,7 @@ static qreal layoutAccidental(AcEl* me, AcEl* above, AcEl* below, qreal colOffse else me->x = lx - pnd - acc->width() - acc->bbox().x(); - return me->x; + return QPair (me->x, me->x + me->width); } //--------------------------------------------------------- @@ -1011,6 +1011,7 @@ void Score::layoutChords3(std::vector& notes, const Staff* staff, Segment // starting to the left of the octave columns qreal minX = 0.0; + qreal maxX = 0.0; int columnTop[7] = { -1, -1, -1, -1, -1, -1, -1 }; // find columns of octaves @@ -1094,24 +1095,53 @@ void Score::layoutChords3(std::vector& notes, const Staff* staff, Segment if (nAcc > 1) std::sort(umi.begin(), umi.end()); + bool alignLeft = score()->styleB(Sid::alignAccidentalsLeft); + // lay out columns for (int i = 0; i < nColumns; ++i) { int pc = column[i]; + + // determine if an accidental gets shifted left because of a ledger line + // because if that's the case, they should all be shifted left + bool forceLedgerLineSpace = false; + if (!i) { // only check for first column + for (int j = columnBottom[pc]; j != -1; j = aclist[j].next) { + AcEl* me = &aclist[j]; + if (me->line <= -2 || me->line >= me->note->staff()->lines(me->note->chord()->tick()) * 2) { + forceLedgerLineSpace = true; + break; + } + } + } AcEl* below = 0; // lay out accidentals for (int j = columnBottom[pc]; j != -1; j = aclist[j].next) { - qreal x = layoutAccidental(&aclist[j], 0, below, colOffset, leftNotes, pnd, pd, sp); - minX = qMin(minX, x); + QPair x = layoutAccidental(&aclist[j], 0, below, colOffset, leftNotes, pnd, pd, sp, forceLedgerLineSpace); + minX = qMin(minX, x.first); + maxX = qMin(maxX, x.second); below = &aclist[j]; } - // align within column - int next = -1; - for (int j = columnBottom[pc]; j != -1; j = next) { - next = aclist[j].next; - if (next != -1 && aclist[j].line == aclist[next].line) - continue; - aclist[j].x = minX; + + if (alignLeft) { + int next = -1; + for (int j = columnBottom[pc]; j != -1; j = next) { + AcEl current = aclist[j]; + next = current.next; + if (next != -1 && current.line == aclist[next].line) + continue; + current.x = minX; + } } + else { + int next = -1; + for (int j = columnBottom[pc]; j != -1; j = next) { + AcEl current = aclist[j]; + next = current.next; + if (next != -1 && current.line == aclist[next].line) + continue; + current.x = maxX - current.width; + } + } // move to next column colOffset = minX; } diff --git a/libmscore/style.cpp b/libmscore/style.cpp index de8bc57f8a55b..9567091d38112 100644 --- a/libmscore/style.cpp +++ b/libmscore/style.cpp @@ -205,6 +205,8 @@ static const StyleType styleTypes[] { { Sid::ledgerLineLength, "ledgerLineLength", Spatium(0.35) }, // notehead width + this value { Sid::accidentalDistance, "accidentalDistance", Spatium(0.22) }, { Sid::accidentalNoteDistance, "accidentalNoteDistance", Spatium(0.25) }, + { Sid::bracketedAccidentalPadding, "bracketedAccidentalPadding", Spatium(0.175) }, // Padding inside parentheses for bracketed accidentals + { Sid::alignAccidentalsLeft, "alignAccidentalsLeft", QVariant(false) }, // When laid out in columns, whether accidentals align left or right. Musescore <= 3.5 uses left alignment. { Sid::beamWidth, "beamWidth", Spatium(0.5) }, // was 0.48 { Sid::beamDistance, "beamDistance", QVariant(0.5) }, diff --git a/libmscore/style.h b/libmscore/style.h index 5895f9107f7f9..40439cfe8b8ec 100644 --- a/libmscore/style.h +++ b/libmscore/style.h @@ -195,6 +195,8 @@ enum class Sid { ledgerLineLength, accidentalDistance, accidentalNoteDistance, + bracketedAccidentalPadding, + alignAccidentalsLeft, beamWidth, beamDistance, beamMinLen, diff --git a/libmscore/sym.cpp b/libmscore/sym.cpp index ad06e9cdd4d7d..e2c2901a70611 100644 --- a/libmscore/sym.cpp +++ b/libmscore/sym.cpp @@ -2877,6 +2877,11 @@ const std::array Sym::symNames = { { "ornamentLinePrall", // ornamentPRecompAppoggTrill ? // additional symbols + "accidentalDoubleFlatParens", + "accidentalFlatParens", + "accidentalNaturalParens", + "accidentalSharpParens", + "accidentalDoubleSharpParens", "noteLongaUp", "noteLongaDown", @@ -5714,6 +5719,12 @@ const std::array Sym::symUserNames = { { // additional symbols + "Parenthesised double flat accidental", + "Parenthesised flat accidental", + "Parenthesised natural accidental", + "Parenthesised sharp accidental", + "Parenthesised double sharp accidental", + "noteLongaUp", "noteLongaDown", "noteLongaSquareUp", @@ -6853,5 +6864,3 @@ ScoreFont::~ScoreFont() } } - - diff --git a/libmscore/sym.h b/libmscore/sym.h index fdb7ea4524764..623729554be40 100644 --- a/libmscore/sym.h +++ b/libmscore/sym.h @@ -2871,6 +2871,12 @@ enum class SymId { // additional symbols + accidentalDoubleFlatParens, + accidentalFlatParens, + accidentalNaturalParens, + accidentalSharpParens, + accidentalDoubleSharpParens, + noteLongaUp, noteLongaDown, noteLongaSquareUp, diff --git a/vtest/accidental-11.mscx b/vtest/accidental-11.mscx new file mode 100644 index 0000000000000..faeb64efd84dc --- /dev/null +++ b/vtest/accidental-11.mscx @@ -0,0 +1,441 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 1 + accidentalFlat + + 66 + 8 + + + + 1 + accidentalFlat + + 70 + 12 + + + + half + + + 1 + accidentalFlat + + 68 + 10 + + + + 1 + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 1 + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + 1 + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + 1 + accidentalNatural + + 53 + 13 + + + + half + + + 1 + accidentalNatural + + 52 + 18 + + + + + + quarter + + + 1 + accidentalSharp + + 54 + 20 + + + + quarter + + + 1 + accidentalFlat + + 51 + 11 + + + + half + + + 1 + accidentalFlat + + 46 + 12 + + + + 1 + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + 1 + accidentalFlat + + 49 + 9 + + + + half + + + 1 + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-12.mscx b/vtest/accidental-12.mscx new file mode 100644 index 0000000000000..adb6b4999c279 --- /dev/null +++ b/vtest/accidental-12.mscx @@ -0,0 +1,342 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 2 + accidentalFlat + + 66 + 8 + + + + 2 + accidentalFlat + + 70 + 12 + + + + half + + + 2 + accidentalFlat + + 68 + 10 + + + + 2 + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 2 + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + 2 + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + 2 + accidentalNatural + + 53 + 13 + + + + half + + + 2 + accidentalNatural + + 52 + 18 + + + + + + quarter + + + 2 + accidentalSharp + + 54 + 20 + + + + quarter + + + 2 + accidentalFlat + + 51 + 11 + + + + half + + + 2 + accidentalFlat + + 46 + 12 + + + + 2 + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + 2 + accidentalFlat + + 49 + 9 + + + + half + + + 2 + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-13.mscx b/vtest/accidental-13.mscx new file mode 100644 index 0000000000000..8493bc2ef76a3 --- /dev/null +++ b/vtest/accidental-13.mscx @@ -0,0 +1,328 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + accidentalFlat + + 66 + 8 + + + + accidentalFlat + + 70 + 12 + + + + half + + + accidentalFlat + + 68 + 10 + + + + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + accidentalNatural + + 53 + 13 + + + + half + + + accidentalNatural + + 52 + 18 + + + + + + quarter + + + accidentalSharp + + 54 + 20 + + + + quarter + + + accidentalFlat + + 51 + 11 + + + + half + + + accidentalFlat + + 46 + 12 + + + + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + accidentalFlat + + 49 + 9 + + + + half + + + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-14.mscx b/vtest/accidental-14.mscx new file mode 100644 index 0000000000000..89bb140f41b7d --- /dev/null +++ b/vtest/accidental-14.mscx @@ -0,0 +1,342 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 1 + accidentalFlat + + 66 + 8 + + + + 1 + accidentalFlat + + 70 + 12 + + + + half + + + 1 + accidentalFlat + + 68 + 10 + + + + 1 + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 1 + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + 1 + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + 1 + accidentalNatural + + 53 + 13 + + + + half + + + 1 + accidentalNatural + + 52 + 18 + + + + + + quarter + + + 1 + accidentalSharp + + 54 + 20 + + + + quarter + + + 1 + accidentalFlat + + 51 + 11 + + + + half + + + 1 + accidentalFlat + + 46 + 12 + + + + 1 + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + 1 + accidentalFlat + + 49 + 9 + + + + half + + + 1 + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-15.mscx b/vtest/accidental-15.mscx new file mode 100644 index 0000000000000..1b5ebb993a821 --- /dev/null +++ b/vtest/accidental-15.mscx @@ -0,0 +1,356 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 2 + 1 + accidentalFlat + + 66 + 8 + + + + 2 + 1 + accidentalFlat + + 70 + 12 + + + + half + + + 2 + 1 + accidentalFlat + + 68 + 10 + + + + 2 + 1 + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 2 + 1 + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + 2 + 1 + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + 2 + 1 + accidentalNatural + + 53 + 13 + + + + half + + + 2 + 1 + accidentalNatural + + 52 + 18 + + + + + + quarter + + + 2 + 1 + accidentalSharp + + 54 + 20 + + + + quarter + + + 2 + 1 + accidentalFlat + + 51 + 11 + + + + half + + + 2 + 1 + accidentalFlat + + 46 + 12 + + + + 2 + 1 + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + 2 + 1 + accidentalFlat + + 49 + 9 + + + + half + + + 2 + 1 + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-16.mscx b/vtest/accidental-16.mscx new file mode 100644 index 0000000000000..338c1e269c98b --- /dev/null +++ b/vtest/accidental-16.mscx @@ -0,0 +1,356 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 1 + 1 + accidentalFlat + + 66 + 8 + + + + 1 + 1 + accidentalFlat + + 70 + 12 + + + + half + + + 1 + 1 + accidentalFlat + + 68 + 10 + + + + 1 + 1 + accidentalFlat + + 73 + 9 + + + + + + + + half + + 67 + 15 + + + + 1 + 1 + 1 + accidentalNatural + + 76 + 18 + + + + half + + 69 + 17 + + + + 1 + 1 + accidentalSharp + + 78 + 20 + + + + end + + + + + + + + + 4 + 4 + + + quarter + + 52 + 18 + + + + quarter + + + 1 + 1 + accidentalNatural + + 53 + 13 + + + + half + + + 1 + 1 + accidentalNatural + + 52 + 18 + + + + + + quarter + + + 1 + 1 + accidentalSharp + + 54 + 20 + + + + quarter + + + 1 + 1 + accidentalFlat + + 51 + 11 + + + + half + + + 1 + 1 + accidentalFlat + + 46 + 12 + + + + 1 + 1 + accidentalFlat + + 49 + 9 + + + + + + + + half + + 48 + 14 + + + + 1 + 1 + accidentalFlat + + 49 + 9 + + + + half + + + 1 + 1 + accidentalSharp + + 49 + 21 + + + 49 + 9 + + + + end + + + + + + diff --git a/vtest/accidental-17.mscx b/vtest/accidental-17.mscx new file mode 100644 index 0000000000000..10f7dd0affd14 --- /dev/null +++ b/vtest/accidental-17.mscx @@ -0,0 +1,738 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 1 + 1 + accidentalFlat + + 66 + 8 + + + + 1 + 1 + accidentalFlat + + 70 + 12 + + + + 1 + 1 + accidentalFlat + + 73 + 9 + + + + 1 + 1 + accidentalFlat + + 76 + 6 + + + + 1 + 1 + accidentalFlat + + 80 + 10 + + + + 1 + 1 + accidentalFlat + + 83 + 7 + + + + 1 + 1 + accidentalFlat + + 87 + 11 + + + + quarter + + + 1 + 1 + accidentalDoubleSharp + + 71 + 31 + + + + 1 + 1 + accidentalDoubleSharp + + 73 + 33 + + + + 1 + 1 + accidentalDoubleSharp + + 74 + 28 + + + + 1 + 1 + accidentalDoubleSharp + + 76 + 30 + + + + 1 + 1 + accidentalDoubleSharp + + 78 + 32 + + + + 1 + 1 + accidentalDoubleSharp + + 79 + 27 + + + + 1 + 1 + accidentalDoubleSharp + + 81 + 29 + + + + 1 + 1 + accidentalDoubleSharp + + 83 + 31 + + + + 1 + 1 + accidentalDoubleSharp + + 85 + 33 + + + + 1 + 1 + accidentalDoubleSharp + + 86 + 28 + + + + 1 + 1 + accidentalDoubleSharp + + 88 + 30 + + + + 1 + 1 + accidentalDoubleSharp + + 90 + 32 + + + + 1.4247 + + + quarter + + + 1 + 1 + accidentalDoubleFlat + + 67 + 3 + + + + 1 + 1 + accidentalDoubleFlat + + 69 + 5 + + + + 1 + 1 + accidentalDoubleFlat + + 70 + 0 + + + + 1 + 1 + accidentalDoubleFlat + + 72 + 2 + + + + 1 + 1 + accidentalDoubleFlat + + 74 + 4 + + + + 1 + 1 + accidentalDoubleFlat + + 75 + -1 + + + + 1 + 1 + accidentalDoubleFlat + + 77 + 1 + + + + 1 + 1 + accidentalDoubleFlat + + 79 + 3 + + + + 1 + 1 + accidentalDoubleFlat + + 81 + 5 + + + + 1 + 1 + accidentalDoubleFlat + + 82 + 0 + + + + 1 + 1 + accidentalDoubleFlat + + 84 + 2 + + + + 1 + 1 + accidentalDoubleFlat + + 86 + 4 + + + + + + + + + + 4 + 4 + + + half + + + 1 + 1 + accidentalSharp + + 53 + 25 + + + + 1 + 1 + accidentalSharp + + 56 + 22 + + + + 1 + 1 + accidentalSharp + + 58 + 24 + + + + 1 + 1 + accidentalSharp + + 61 + 21 + + + + 1 + 1 + accidentalSharp + + 65 + 25 + + + + half + + + 1 + 1 + 1 + accidentalNatural + + 52 + 18 + + + + 1 + 1 + accidentalNatural + + 53 + 13 + + + + 1 + 1 + accidentalNatural + + 55 + 15 + + + + 1 + 1 + accidentalNatural + + 57 + 17 + + + + 1 + 1 + accidentalNatural + + 59 + 19 + + + + 1 + 1 + accidentalNatural + + 60 + 14 + + + + + + half + + + 1 + 1 + 1 + accidentalSharp + + 54 + 20 + + + + 1 + 1 + accidentalSharp + + 60 + 26 + + + 61 + 21 + + + 65 + 25 + + + + half + + + 1 + 1 + 1 + accidentalNatural + + 43 + 15 + + + + 1 + 1 + 1 + accidentalNatural + + 45 + 17 + + + + 1 + 1 + 1 + accidentalNatural + + 47 + 19 + + + + 1 + 1 + 1 + accidentalNatural + + 48 + 14 + + + + 1 + 1 + 1 + accidentalNatural + + 50 + 16 + + + + + + + diff --git a/vtest/accidental-18.mscx b/vtest/accidental-18.mscx new file mode 100644 index 0000000000000..b53620f137675 --- /dev/null +++ b/vtest/accidental-18.mscx @@ -0,0 +1,590 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 1 + accidentalFlat + + 66 + 8 + + + + 1 + accidentalFlat + + 70 + 12 + + + + 1 + accidentalFlat + + 73 + 9 + + + + 1 + accidentalFlat + + 76 + 6 + + + + 1 + accidentalFlat + + 80 + 10 + + + + 1 + accidentalFlat + + 83 + 7 + + + + 1 + accidentalFlat + + 87 + 11 + + + + quarter + + + 1 + accidentalDoubleSharp + + 71 + 31 + + + + 1 + accidentalDoubleSharp + + 73 + 33 + + + + 1 + accidentalDoubleSharp + + 74 + 28 + + + + 1 + accidentalDoubleSharp + + 76 + 30 + + + + 1 + accidentalDoubleSharp + + 78 + 32 + + + + 1 + accidentalDoubleSharp + + 79 + 27 + + + + 1 + accidentalDoubleSharp + + 81 + 29 + + + + 1 + accidentalDoubleSharp + + 83 + 31 + + + + 1 + accidentalDoubleSharp + + 85 + 33 + + + + 1 + accidentalDoubleSharp + + 86 + 28 + + + + 1 + accidentalDoubleSharp + + 88 + 30 + + + + 1 + accidentalDoubleSharp + + 90 + 32 + + + + 1.4247 + + + quarter + + + 1 + accidentalDoubleFlat + + 67 + 3 + + + + 1 + accidentalDoubleFlat + + 69 + 5 + + + + 1 + accidentalDoubleFlat + + 70 + 0 + + + + 1 + accidentalDoubleFlat + + 72 + 2 + + + + 1 + accidentalDoubleFlat + + 74 + 4 + + + + 1 + accidentalDoubleFlat + + 75 + -1 + + + + 1 + accidentalDoubleFlat + + 77 + 1 + + + + 1 + accidentalDoubleFlat + + 79 + 3 + + + + 1 + accidentalDoubleFlat + + 81 + 5 + + + + 1 + accidentalDoubleFlat + + 82 + 0 + + + + 1 + accidentalDoubleFlat + + 84 + 2 + + + + 1 + accidentalDoubleFlat + + 86 + 4 + + + + + + + + + + 4 + 4 + + + half + + + 1 + accidentalSharp + + 53 + 25 + + + + 1 + accidentalSharp + + 56 + 22 + + + + 1 + accidentalSharp + + 58 + 24 + + + + 1 + accidentalSharp + + 61 + 21 + + + + 1 + accidentalSharp + + 65 + 25 + + + + half + + + 1 + 1 + accidentalNatural + + 52 + 18 + + + + 1 + accidentalNatural + + 53 + 13 + + + + 1 + accidentalNatural + + 55 + 15 + + + + 1 + accidentalNatural + + 57 + 17 + + + + 1 + accidentalNatural + + 59 + 19 + + + + 1 + accidentalNatural + + 60 + 14 + + + + + + half + + + 1 + 1 + accidentalSharp + + 54 + 20 + + + + 1 + accidentalSharp + + 60 + 26 + + + 61 + 21 + + + 65 + 25 + + + + half + + + 1 + 1 + accidentalNatural + + 43 + 15 + + + + 1 + 1 + accidentalNatural + + 45 + 17 + + + + 1 + 1 + accidentalNatural + + 47 + 19 + + + + 1 + 1 + accidentalNatural + + 48 + 14 + + + + 1 + 1 + accidentalNatural + + 50 + 16 + + + + + + + diff --git a/vtest/accidental-19.mscx b/vtest/accidental-19.mscx new file mode 100644 index 0000000000000..cbe6e74675971 --- /dev/null +++ b/vtest/accidental-19.mscx @@ -0,0 +1,541 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + accidentalFlat + + 66 + 8 + + + + accidentalFlat + + 70 + 12 + + + + accidentalFlat + + 73 + 9 + + + + accidentalFlat + + 76 + 6 + + + + accidentalFlat + + 80 + 10 + + + + accidentalFlat + + 83 + 7 + + + + accidentalFlat + + 87 + 11 + + + + quarter + + + accidentalDoubleSharp + + 71 + 31 + + + + accidentalDoubleSharp + + 73 + 33 + + + + accidentalDoubleSharp + + 74 + 28 + + + + accidentalDoubleSharp + + 76 + 30 + + + + accidentalDoubleSharp + + 78 + 32 + + + + accidentalDoubleSharp + + 79 + 27 + + + + accidentalDoubleSharp + + 81 + 29 + + + + accidentalDoubleSharp + + 83 + 31 + + + + accidentalDoubleSharp + + 85 + 33 + + + + accidentalDoubleSharp + + 86 + 28 + + + + accidentalDoubleSharp + + 88 + 30 + + + + accidentalDoubleSharp + + 90 + 32 + + + + 1.4247 + + + quarter + + + accidentalDoubleFlat + + 67 + 3 + + + + accidentalDoubleFlat + + 69 + 5 + + + + accidentalDoubleFlat + + 70 + 0 + + + + accidentalDoubleFlat + + 72 + 2 + + + + accidentalDoubleFlat + + 74 + 4 + + + + accidentalDoubleFlat + + 75 + -1 + + + + accidentalDoubleFlat + + 77 + 1 + + + + accidentalDoubleFlat + + 79 + 3 + + + + accidentalDoubleFlat + + 81 + 5 + + + + accidentalDoubleFlat + + 82 + 0 + + + + accidentalDoubleFlat + + 84 + 2 + + + + accidentalDoubleFlat + + 86 + 4 + + + + + + + + + + 4 + 4 + + + half + + + accidentalSharp + + 53 + 25 + + + + accidentalSharp + + 56 + 22 + + + + accidentalSharp + + 58 + 24 + + + + accidentalSharp + + 61 + 21 + + + + accidentalSharp + + 65 + 25 + + + + half + + + 1 + accidentalNatural + + 52 + 18 + + + + accidentalNatural + + 53 + 13 + + + + accidentalNatural + + 55 + 15 + + + + accidentalNatural + + 57 + 17 + + + + accidentalNatural + + 59 + 19 + + + + accidentalNatural + + 60 + 14 + + + + + + half + + + 1 + accidentalSharp + + 54 + 20 + + + + accidentalSharp + + 60 + 26 + + + 61 + 21 + + + 65 + 25 + + + + half + + + 1 + accidentalNatural + + 43 + 15 + + + + 1 + accidentalNatural + + 45 + 17 + + + + 1 + accidentalNatural + + 47 + 19 + + + + 1 + accidentalNatural + + 48 + 14 + + + + 1 + accidentalNatural + + 50 + 16 + + + + + + + diff --git a/vtest/accidental-20.mscx b/vtest/accidental-20.mscx new file mode 100644 index 0000000000000..c782c91c73316 --- /dev/null +++ b/vtest/accidental-20.mscx @@ -0,0 +1,590 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + + + stdNormal + + + + + stdNormal + + F + + Piano + + Pno. + Piano + 21 + 108 + 21 + 108 + + 100 + 70 + + + 100 + 40 + + + 100 + 100 + + + 120 + 100 + + + + Fluid + + + + + + + + 4 + 4 + + + half + + + 2 + accidentalFlat + + 66 + 8 + + + + 2 + accidentalFlat + + 70 + 12 + + + + 2 + accidentalFlat + + 73 + 9 + + + + 2 + accidentalFlat + + 76 + 6 + + + + 2 + accidentalFlat + + 80 + 10 + + + + 2 + accidentalFlat + + 83 + 7 + + + + 2 + accidentalFlat + + 87 + 11 + + + + quarter + + + 2 + accidentalDoubleSharp + + 71 + 31 + + + + 2 + accidentalDoubleSharp + + 73 + 33 + + + + 2 + accidentalDoubleSharp + + 74 + 28 + + + + 2 + accidentalDoubleSharp + + 76 + 30 + + + + 2 + accidentalDoubleSharp + + 78 + 32 + + + + 2 + accidentalDoubleSharp + + 79 + 27 + + + + 2 + accidentalDoubleSharp + + 81 + 29 + + + + 2 + accidentalDoubleSharp + + 83 + 31 + + + + 2 + accidentalDoubleSharp + + 85 + 33 + + + + 2 + accidentalDoubleSharp + + 86 + 28 + + + + 2 + accidentalDoubleSharp + + 88 + 30 + + + + 2 + accidentalDoubleSharp + + 90 + 32 + + + + 1.4247 + + + quarter + + + 2 + accidentalDoubleFlat + + 67 + 3 + + + + 2 + accidentalDoubleFlat + + 69 + 5 + + + + 2 + accidentalDoubleFlat + + 70 + 0 + + + + 2 + accidentalDoubleFlat + + 72 + 2 + + + + 2 + accidentalDoubleFlat + + 74 + 4 + + + + 2 + accidentalDoubleFlat + + 75 + -1 + + + + 2 + accidentalDoubleFlat + + 77 + 1 + + + + 2 + accidentalDoubleFlat + + 79 + 3 + + + + 2 + accidentalDoubleFlat + + 81 + 5 + + + + 2 + accidentalDoubleFlat + + 82 + 0 + + + + 2 + accidentalDoubleFlat + + 84 + 2 + + + + 2 + accidentalDoubleFlat + + 86 + 4 + + + + + + + + + + 4 + 4 + + + half + + + 2 + accidentalSharp + + 53 + 25 + + + + 2 + accidentalSharp + + 56 + 22 + + + + 2 + accidentalSharp + + 58 + 24 + + + + 2 + accidentalSharp + + 61 + 21 + + + + 2 + accidentalSharp + + 65 + 25 + + + + half + + + 2 + 1 + accidentalNatural + + 52 + 18 + + + + 2 + accidentalNatural + + 53 + 13 + + + + 2 + accidentalNatural + + 55 + 15 + + + + 2 + accidentalNatural + + 57 + 17 + + + + 2 + accidentalNatural + + 59 + 19 + + + + 2 + accidentalNatural + + 60 + 14 + + + + + + half + + + 2 + 1 + accidentalSharp + + 54 + 20 + + + + 2 + accidentalSharp + + 60 + 26 + + + 61 + 21 + + + 65 + 25 + + + + half + + + 2 + 1 + accidentalNatural + + 43 + 15 + + + + 2 + 1 + accidentalNatural + + 45 + 17 + + + + 2 + 1 + accidentalNatural + + 47 + 19 + + + + 2 + 1 + accidentalNatural + + 48 + 14 + + + + 2 + 1 + accidentalNatural + + 50 + 16 + + + + + + + diff --git a/vtest/accidental-21.mscx b/vtest/accidental-21.mscx new file mode 100644 index 0000000000000..a7ce34112d6e5 --- /dev/null +++ b/vtest/accidental-21.mscx @@ -0,0 +1,313 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + Orchestra + + Harps + + + Keyboards + + + Timpani + +
+ flutes + oboes + clarinets + saxophones + bassoons + +
+
+ horns + trumpets + cornets + trombones + tubas +
+
+ timpani +
+
+ keyboard-percussion + drums + unpitched-metal-percussion + unpitched-wooden-percussion + other-percussion +
+ keyboards + harps + organs + synths +
+ plucked-strings +
+ +
+ voices +
+
+ orchestral-strings +
+ +
+ + + + stdNormal + + + 1 + + Piano + + Piano + Pno. + Piano + 21 + 108 + 21 + 108 + keyboard.piano + F + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + Fluid + 0 + 1 + + + + + + + + 4 + 4 + + + quarter + + + 1 + accidentalSharp + + 70 + 24 + + + + 1 + 1 + accidentalNatural + + 81 + 17 + + + + accidentalFlat + + 90 + 8 + + + + quarter + + + 2 + 1 + accidentalSharp + + 70 + 24 + + + + 1 + accidentalNatural + + 81 + 17 + + + + 2 + 1 + accidentalFlat + + 90 + 8 + + + + quarter + + + 1 + accidentalSharp + + 70 + 24 + + + + 2 + 1 + accidentalNatural + + 81 + 17 + + + + 2 + 1 + accidentalFlat + + 90 + 8 + + + + quarter + + + + +
+
diff --git a/vtest/accidental-22.mscx b/vtest/accidental-22.mscx new file mode 100644 index 0000000000000..7ce6207b56cf5 --- /dev/null +++ b/vtest/accidental-22.mscx @@ -0,0 +1,313 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + 3.02 + X11 + + + + + + + Orchestra + + Harps + + + Keyboards + + + Timpani + +
+ flutes + oboes + clarinets + saxophones + bassoons + +
+
+ horns + trumpets + cornets + trombones + tubas +
+
+ timpani +
+
+ keyboard-percussion + drums + unpitched-metal-percussion + unpitched-wooden-percussion + other-percussion +
+ keyboards + harps + organs + synths +
+ plucked-strings +
+ +
+ voices +
+
+ orchestral-strings +
+ +
+ + + + stdNormal + + + 1 + + Piano + + Piano + Pno. + Piano + 21 + 108 + 21 + 108 + keyboard.piano + F + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + Fluid + 0 + 1 + + + + + + + + 4 + 4 + + + quarter + + + 1 + accidentalSharp + + 70 + 24 + + + + 1 + 1 + accidentalNatural + + 81 + 17 + + + + accidentalFlat + + 90 + 8 + + + + quarter + + + 1 + 1 + accidentalSharp + + 70 + 24 + + + + 1 + accidentalNatural + + 81 + 17 + + + + 1 + 1 + accidentalFlat + + 90 + 8 + + + + quarter + + + 1 + accidentalSharp + + 70 + 24 + + + + 1 + 1 + accidentalNatural + + 81 + 17 + + + + 1 + 1 + accidentalFlat + + 90 + 8 + + + + quarter + + + + +
+
diff --git a/vtest/accidental-23.mscx b/vtest/accidental-23.mscx new file mode 100644 index 0000000000000..23cb98eb66c28 --- /dev/null +++ b/vtest/accidental-23.mscx @@ -0,0 +1,278 @@ + + + 3.6.0 + + + + 0 + 480 + + 1 + 1 + 1 + 0 + + + + 2013-09-17 + + + + X11 + + + + + + + Orchestra + + Keyboards + + + Timpani + +
+ flutes + oboes + clarinets + saxophones + bassoons + +
+
+ horns + trumpets + cornets + trombones + tubas +
+
+ timpani +
+
+ keyboard-percussion + drums + unpitched-metal-percussion + unpitched-wooden-percussion + other-percussion +
+ keyboards + organs + synths +
+ plucked-strings +
+
+ voices +
+ +
+ orchestral-strings +
+ +
+ + + + stdNormal + + + 1 + + Piano + + Piano + Pno. + Piano + 21 + 108 + 21 + 108 + keyboard.piano + F + + 100 + 95 + + + 100 + 33 + + + 100 + 50 + + + 100 + 67 + + + 100 + 100 + + + 120 + 67 + + + 150 + 100 + + + 150 + 50 + + + 120 + 50 + + + 120 + 100 + + + + Fluid + 0 + 1 + + + + + + + + 4 + 4 + + + quarter + + + accidentalFlat + + 68 + 10 + + + + 3 + accidentalDoubleFlat + + 79 + 3 + + + + quarter + + + 1 + accidentalFlat + + 68 + 10 + + + + 1 + 1 + accidentalDoubleFlat + + 79 + 3 + + + + half + + + 1 + accidentalFlat + + 68 + 10 + + + + 2 + 1 + accidentalDoubleFlat + + 79 + 3 + + + + + +
+
diff --git a/vtest/gen b/vtest/gen index ee744d6253b9b..bea61586dce36 100755 --- a/vtest/gen +++ b/vtest/gen @@ -54,7 +54,11 @@ else chord-layout-11 chord-layout-12 chord-layout-13 chord-layout-14 chord-layout-15 chord-layout-16 chord-layout-17\ cross-1 cross-2 cross-3 cross-4\ accidental-1 accidental-2 accidental-3 accidental-4 accidental-5\ - accidental-6 accidental-7 accidental-8 accidental-9 accidental-10 accidental-mirror\ + accidental-6 accidental-7 accidental-8 accidental-9 accidental-10\ + accidental-11 accidental-12 accidental-13 accidental-14 accidental-15\ + accidental-16 accidental-17 accidental-18 accidental-19 accidental-20\ + accidental-21 accidental-22 accidental-23\ + accidental-mirror\ tie-1 tie-2 tie-3 \ grace-1 grace-2 grace-3 grace-4 grace-5 \ tuplets-1 tuplets-2 tuplets-3 tuplets-4 breath-1\ diff --git a/vtest/gen.bat b/vtest/gen.bat index 81bd0ae9f155a..5e4d1baf3b166 100644 --- a/vtest/gen.bat +++ b/vtest/gen.bat @@ -30,7 +30,11 @@ set SRC=bravura-mmrest,gonville-mmrest, ^ chord-layout-11,chord-layout-12,chord-layout-13,chord-layout-14,chord-layout-15,chord-layout-16,chord-layout-17, ^ cross-1,cross-2,cross-3,cross-4, ^ accidental-1,accidental-2,accidental-3,accidental-4,accidental-5, ^ - accidental-6,accidental-7,accidental-8,accidental-9,accidental-10, accidental-mirror, ^ + accidental-6,accidental-7,accidental-8,accidental-9,accidental-10, ^ + accidental-11,accidental-12,accidental-13,accidental-14,accidental-15, ^ + accidental-16,accidental-17,accidental-18,accidental-19,accidental-20, ^ + accidental-21,accidental-22,accidental-23, ^ + accidental-mirror, ^ tie-1,tie-2,tie-3,grace-1,grace-2,grace-3,grace-4, ^ tuplets-1,tuplets-2,tuplets-3,tuplets-4,breath-1, ^ harmony-1,harmony-2,harmony-3,harmony-4,harmony-5,harmony-6,harmony-7, ^