musescore / musescore/MuseScore

Improve layout of overlapping dotted voices

Open
#16,394 0 comments 3 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

engraving P2
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

In a situation where you have a simultaneous dotted chord (i.e. 2+ notes) and a dotted note in an voice with the opposite stem direction which is at the same level as any of the notes in the chord, the chord should remain in 'default' position, its dots should be placed as normal, and the single note should be offset to the right of the dots of the chord.

Currently we see:

BEFORE
image

Which I propose should become:

AFTER
image

These we leave as is, for now:

image

One of the principles here is to displace a dot no more than 1 notehead width away from its normal position, whenever possible. For that same reason we should modify the behaviour of overlapping dotted notes where the upstemmed note has a flag, and the dot(s) are offset to the right of the flag. (Note that this will not necessarily always be the case, and is not the case for straight flags.) Current:

image
(wrong by any standard)

to become:

image
though these are, in an event, very unpleasant situations to encounter.

But we can leave these as is:
image

I'm going step back and let the holy war erupt now.

(To be clear: our end goal here should be to have this controllable by style preferences, if we can boil down all the options we need, and there should also be an easy way to override the defaults for any given situation.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.