Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MU4 Issue] Sharps are not laid out correctly when notes are a 6th apart #9302

Open
Nick-Mazuk opened this issue Sep 27, 2021 · 14 comments · May be fixed by #21042
Open

[MU4 Issue] Sharps are not laid out correctly when notes are a 6th apart #9302

Nick-Mazuk opened this issue Sep 27, 2021 · 14 comments · May be fixed by #21042
Assignees
Labels
engraving feature request Used to suggest improvements or new capabilities

Comments

@Nick-Mazuk
Copy link
Contributor

Describe the bug

When notes are a 6th apart, sharps are stacked. They should be next to each other instead.

Current

Screen Shot 2021-09-27 at 9 42 40 AM

Desired

Screen Shot 2021-09-27 at 9 43 06 AM

Desktop (please complete the following information):

  • OS: macOS 11.6

Additional info

Here's a minimal file to test with:
sharps.mscz.zip

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Sep 27, 2021

Doesn't look desired to me, IOW: looks OK to me as is.

@Nick-Mazuk
Copy link
Contributor Author

Doesn't look desired to me, IOW: looks OK to me as is.

The current behavior goes against the best practices, standards, and rules of music notation.

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Sep 27, 2021

As per what sources exactly?

I see, Gould's "Behind Bars", page 108, "Accidentals a sixth apart". Shows pretty much your example. So I rest my case ;-)

Actually it does not strictly forbid our current layout though, as there's no overlap, none of the lines of one sharp continues in the other and only that is listed there as being 'forbidden'.

@Nick-Mazuk
Copy link
Contributor Author

Actually it does not strictly forbid our current layout though, as there's no overlap, none of the lines of one sharp continues in the other and only that is listed there as being 'forbidden'.

True, but at smaller sizes (and realistically the size that most people read printed music), that 8th of a space distinction isn't going to make a difference.

In general, we've been wanting to change this for a while, there was just never an issue for it.

@Tantacrul Tantacrul added this to To do in [MU4.0 - ENGRAVING] via automation Sep 27, 2021
@MarcSabatella
Copy link
Contributor

MarcSabatella commented Sep 28, 2021

It's not a "rule" of notation, it's really quite dependent on the design of the accidentals themselves If you switch to a font where the sharps are a little larger, we don't do this - we detect that they overlap by too much. The only problem is that "too much" overlap is hardcoded rather than available as a style setting. Instead of arbitrarily disallowing sixths from stacking like this, we should instead make it a style setting to control how much overlap is allowed. Then one can have a more compact layout if one wants and the font supports it.

There was a recent-ish forum discussion on this topic as well - see https://musescore.org/en/node/322164. In that thread there are references to examples from Gould but also from different publishers showing it's entirely subjective (eg, the arrangement we produce by default is actually quite common in practice). It's important were don't force one particular arrangement on people here when a simple style setting will let the user have the choice. And then if we want to make the default setting for Leland prevent this, that's fine.

@MarcSabatella
Copy link
Contributor

Here for the record is the very first example I found of sharps on notes a sixth apart, it shows more or less what we do:

image

In my own brief research of the literature I found this arrangement was actually four times more common than the other. So it's definitely incorrect to call say that this is "against the best practices, standards, and rules of music notation". It's a valid and quite common choice, even if we should decide to change the default to go the other way.

@oktophonie
Copy link
Contributor

Also for the record:

2021-09-28 11 06 24
(Henle, 1983)

2021-09-28 11 06 38
(PWM, 1999)

Whether the symbols can overlap does depend on their design, of course (they are quite tall in both these cases), but doing so does give you the advantage of saving horizontal space, which can be useful in situations such as this where you have a lot to fit in and don't want to over-distort the rhythmic spacing. I've certainly done that before on occasion in my work, in extremis.

Also,

2021-09-28 11 07 01
(Ted Ross)

Furthermore the style guides for Schott, Boosey and Schirmer all state and illustrate that only once you get to a seventh can accidentals overlap/align (with some exceptions; naturals a 6th apart can overlap if their design allows - or at least kern closely - and, in some designs, even aligning sharps a 7th apart is problematic).

In any case, my personal view is that I don't like the verticals of sharps interlocking like this simply because it looks visually inelegant and noisy to have those lines so close together. It's certainly not how I'd like Leland to look under normal circumstances (it goes against various considerations we have for its design in general in terms of minimum distances and such) - which isn't to say it shouldn't ever be done, but it wouldn't be my preferred default. If the sharp were less tall it wouldn't be so bad.

@MarcSabatella
Copy link
Contributor

Thanks for the input! Again, I don't have a strong opinion on what the default should be for Leland, but I just wanted to make sure it was clear that the current layout isn't really out of line with accepted practice. So instead of considering this a bug to be fixed, I'd prefer to see it as an opportunity to add additional customization via a style setting. There are a number of other hard-coded constants in this code that could also be made into style settings, FWIW.

@Nick-Mazuk
Copy link
Contributor Author

Great discussion! I probably was too argumentative (and not willing to even listen to other's opinions) in my first response, so thanks to all of you for keeping it civil. I learned a lot from them!


Anyways, I wouldn't mind having a style setting to toggle this on/off. I think the default should be them placed horizontally, but I'm probably biased there.

@MarcSabatella
Copy link
Contributor

MarcSabatella commented Sep 28, 2021

No worries! But based on how it works internally, and the fact that this is really just one special case for one particular accidental (sharp) and one particular interval (sixth), it shouldn't be a single special case toggle. A more general setting to control how far two accidentals are allowed to overlap would be much simpler to implement and be much more useful - then it would also automatically apply to all the various microtone accidentals and also to other fonts etc.

@micpap25
Copy link
Contributor

Can the name of this issue be changed to better reflect the current goal - to create a slider or some other input for how far two accidentals for overlap?

@Tantacrul

This comment was marked as outdated.

@MarcSabatella
Copy link
Contributor

MarcSabatella commented May 2, 2022

Adding a style setting isn't particularly difficult, but it's definitely more work than simply changing the hardcoded value. If we decide to put off adding a style setting, I'd still recommend we consider changing that hardcoded value now if we expect that the default behavior needs to change at all. So the default layout of 4.x will be the same as 4.0 in this respect, even if 4.x also provide ways to override the default. It's probably a very small change to one constant, like here:

https://github.com/musescore/MuseScore/blob/master/src/engraving/layout/layoutchords.cpp#L643-L653

Might be the 0.33 sp value that needs to be reduced, might be the calculation of "allowableOverlap", but I'm pretty sure it's all about this chunk of code.

@oktophonie oktophonie added this to To do in 4.x LONGLIST via automation Sep 8, 2022
@oktophonie oktophonie closed this as not planned Won't fix, can't repro, duplicate, stale Sep 8, 2022
[MU4.0 - ENGRAVING] automation moved this from To do to Done Sep 8, 2022
4.x LONGLIST automation moved this from To do to Requests Sep 8, 2022
@oktophonie oktophonie assigned oktophonie and unassigned mike-spa Feb 23, 2023
@oktophonie oktophonie added engraving feature request Used to suggest improvements or new capabilities labels Jun 13, 2023
@oktophonie oktophonie reopened this Jun 13, 2023
4.x LONGLIST automation moved this from Requests to In progress Jun 13, 2023
@cbjeukendrup cbjeukendrup moved this from In progress to To do in 4.x LONGLIST Jul 22, 2023
@mike-spa mike-spa linked a pull request Jan 16, 2024 that will close this issue
@irwir
Copy link

irwir commented Jan 17, 2024

Standard music notation practice says:
acc
That is, placement depends on symbol sizes in the used font.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
engraving feature request Used to suggest improvements or new capabilities
Projects
4.x LONGLIST
  
To do
Development

Successfully merging a pull request may close this issue.

9 participants