musescore / musescore/MuseScore
Revamp tuplet offset settings
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
It was recently brought to my attention that we cannot achieve this (fairly normal) style of tuplets in MuseScore:


With the current settings we can achieve either one of those but not both, since it is assumed you always want to offset relative to the stem when the end(s) of the tuplet are at the stem side.
I'd propose that we solve this quite simply by adding one new toggle:
- our 'starting point' is that the tuplet starts at the left of the bounding box of the primary note (or rest) on the left, and ends at the right side of the bounding box of the primary note (or rest) on the right - as pictured above;
- we have two offset fields, for the left and right sides of the tuplet (which would default to 0 and 0; these correspond to the current 'Distance before head of first note' and 'Distance after head of last note', though just "Left offset" and "Right offset", or something, may be less confusing)
- we add a switch for "Offset relative to stems" (which could default to true, since that's the current behaviour); when this is on, it enables two more options for 'stem side offsets', left and right (which could default to -0.5 and +0.5, to match current behaviour; these correspond to the current 'Distance before stem of first note' and 'Distance after stem of last note'; the difference is that, by adding the switch, the user can now specify whether they want the stems to be relevant to the calculations or not). These offsets will only apply when a stem is present and the end of the tuplet is at the stem side.
If possible, while here, if we can add a toggle for 'extend bracket to last unit of tuplet' (someone else can think of a snazzier name for this), to enable the following, that would be delightful:

(This now also requested as https://github.com/musescore/MuseScore/issues/19851)
Note this is similar to the solution I'm suggesting for hairpins here.
Thoughts?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.