diff --git a/src/engraving/libmscore/articulation.cpp b/src/engraving/libmscore/articulation.cpp index 5ec445023cb29..c1bc3abee7607 100644 --- a/src/engraving/libmscore/articulation.cpp +++ b/src/engraving/libmscore/articulation.cpp @@ -436,6 +436,12 @@ Articulation::AnchorGroup Articulation::anchorGroup(SymId symId) case SymId::luteFingeringRHThird: return AnchorGroup::LUTE_FINGERING; + case SymId::tremoloDivisiDots2: + case SymId::tremoloDivisiDots3: + case SymId::tremoloDivisiDots4: + case SymId::tremoloDivisiDots6: + return AnchorGroup::ARTICULATION; + default: break; } @@ -459,6 +465,10 @@ const char* Articulation::symId2ArticulationName(SymId symId) case SymId::articStaccatoAbove: case SymId::articStaccatoBelow: + case SymId::tremoloDivisiDots2: + case SymId::tremoloDivisiDots3: + case SymId::tremoloDivisiDots4: + case SymId::tremoloDivisiDots6: return "staccato"; case SymId::articAccentStaccatoAbove: @@ -597,7 +607,9 @@ bool Articulation::isStaccato() const { return _symId == SymId::articStaccatoAbove || _symId == SymId::articStaccatoBelow || _symId == SymId::articMarcatoStaccatoAbove || _symId == SymId::articMarcatoStaccatoBelow - || _symId == SymId::articAccentStaccatoAbove || _symId == SymId::articAccentStaccatoBelow; + || _symId == SymId::articAccentStaccatoAbove || _symId == SymId::articAccentStaccatoBelow + || _symId == SymId::tremoloDivisiDots2 || _symId == SymId::tremoloDivisiDots3 + || _symId == SymId::tremoloDivisiDots4 || _symId == SymId::tremoloDivisiDots6; } bool Articulation::isAccent() const diff --git a/src/engraving/types/symnames.cpp b/src/engraving/types/symnames.cpp index 25529802f744e..3d7b56518b6d2 100644 --- a/src/engraving/types/symnames.cpp +++ b/src/engraving/types/symnames.cpp @@ -5868,10 +5868,10 @@ constexpr const std::array SymNames::s_ "Combining tremolo 3", "Combining tremolo 4", "Combining tremolo 5", - "Divide measured tremolo by 2", - "Divide measured tremolo by 3", - "Divide measured tremolo by 4", - "Divide measured tremolo by 6", + QT_TRANSLATE_NOOP("symUserNames", "Divide measured tremolo by 2"), + QT_TRANSLATE_NOOP("symUserNames", "Divide measured tremolo by 3"), + QT_TRANSLATE_NOOP("symUserNames", "Divide measured tremolo by 4"), + QT_TRANSLATE_NOOP("symUserNames", "Divide measured tremolo by 6"), "Fingered tremolo 1", "Fingered tremolo 2", "Fingered tremolo 3", diff --git a/src/palette/internal/palettecreator.cpp b/src/palette/internal/palettecreator.cpp index 900e26e5702e9..74c998f7a9b01 100644 --- a/src/palette/internal/palettecreator.cpp +++ b/src/palette/internal/palettecreator.cpp @@ -517,6 +517,19 @@ PalettePtr PaletteCreator::newTremoloPalette() tremolo->setTremoloType(TremoloType(i)); sp->appendElement(tremolo, tremolo->subtypeName()); } + + static const SymIdList dots { + SymId::tremoloDivisiDots2, + SymId::tremoloDivisiDots3, + SymId::tremoloDivisiDots4, + SymId::tremoloDivisiDots6 + }; + // include additional symbol-based tremolo articulations, implemented as articulations + for (auto i : dots) { + auto s = Factory::makeArticulation(gpaletteScore->dummy()->chord()); + s->setSymId(i); + sp->appendElement(s, s->userName()); + } return sp; } @@ -551,6 +564,7 @@ PalettePtr PaletteCreator::newArticulationsPalette() sp->setGridSize(42, 25); sp->setDrawGrid(true); + // do not include additional symbol-based fingerings (temporarily?) implemented as articulations static const SymIdList art { SymId::articAccentAbove, SymId::articStaccatoAbove, @@ -620,7 +634,6 @@ PalettePtr PaletteCreator::newOrnamentsPalette() sp->setDrawGrid(true); sp->setVisible(false); - // do not include additional symbol-based fingerings (temporarily?) implemented as articulations static const SymIdList art { SymId::ornamentTurnInverted, SymId::ornamentTurnSlash, @@ -655,8 +668,7 @@ PalettePtr PaletteCreator::newAccordionPalette() sp->setDrawGrid(true); sp->setVisible(false); - // do not include additional symbol-based fingerings (temporarily?) implemented as articulations - static SymIdList art { + static const SymIdList art { SymId::accdnCombDot, SymId::accdnCombLH2RanksEmpty, SymId::accdnCombLH3RanksEmptySquare, diff --git a/tools/fonttools/smufl2sym-in-trans.json b/tools/fonttools/smufl2sym-in-trans.json index c391a95b6e34f..4485a4ab65d2b 100644 --- a/tools/fonttools/smufl2sym-in-trans.json +++ b/tools/fonttools/smufl2sym-in-trans.json @@ -352,6 +352,10 @@ "timeSigCut2": null, "timeSigCut3": null, "timeSigCutCommon": null, + "tremoloDivisiDots2": null, + "tremoloDivisiDots3": null, + "tremoloDivisiDots4": null, + "tremoloDivisiDots6": null, "wiggleSawtooth": null, "wiggleSawtoothWide": null, "wiggleVibratoLargeFaster": null,