Style-Chords-Positioning-Max shift above suggestion

• Dec 16, 2020 - 15:51
Reported version
S5 - Suggestion

Look at the third staff of the attached score at Max shift above 2.00 sp
Quite nicely aligned
Now look how awful it becomes at 2.5
Problem is that 2.5sp if enough for the F to join the G later on the staff, and then suddenly all other chords around the F are again lower.
But the result is ugly.
The algorithm should be smarter so that a greater allowed shift distance keeps chords at least as aligned as a lower distance, not less aligned.
Probable solution for the algorithm would be to consider that "groups" of chords, once aligned at a given distance can't be "broken" at a higher distance and must all go up or stay where they are.

Attachment Size
LS_Scottish_suedoise_I_V3.mscz 16.98 KB


Title Style-Chords-Positioning-Max shift above is buggy Style-Chords-Positioning-Max shift above suggestion
Severity S4 - Minor S5 - Suggestion

Tnhis is working as designed, and it isn't clear what suggestion you are making as to how it could be improved, but feel free to clarify.

The setting controls how far chords will be moved. With the setting at 2.0 sp, then any chord that can be aligned with an adjustment of only 2.0 sp will be, If adjusting by that amount still won't be enough, it is left in place. The idea is to align most chords, but if you have a single outlier that is far away from the res,t it won't force the others to align to it.

In your example, 2.0 is not enough to move some of the chords to align with the outlier here. 2.5 moves some more, 3.0 moves more still.

In your case it probably makes to choose a more appropriate default, so the alignment doesn't have so far to shift.

Articulations don't use this shift setting, so whatever is being referred to there is unrelated, feel free to start a forum thread to discuss that.

In reply to by Marc Sabatella

The design is to minimize the number/size of "jumps" for the eye looking at chords, in other words to get them "aligned". The design wants also to avoid huge vertical space so it doesn't blindly put them all at the height of the highest one. It only moves them vertically by maximum the setting max-shift. So the user can adjust the compromise he is ready to do: the more shift is allowed the more aligned they will be and also the more vertical space will sometimes be generated.
That's the design.
Here the chords are less aligned with max-shift 2.5 than max-shift 2.0, so no it doesn't work "as designed", it works "as programmed" which is not the same thing.
Criticism is easy ... yes you're right so let me try to find a solution and come back with it (will be pseudo code not pull request though)