Chord symbol alignment changes default position without reason

• Jun 15, 2020 - 00:26
Reported version
3.x-dev
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

The chord symbol alignment feature altered the default position of chord symbols even where there is no alignment necessary.

To reproduce:

1) default empty score
2) enter a single chord symbol on the first measure
3) increase maximum shift above to 1

Result: chord symbol moves up about 1 so (?). The discrepancy does not seem to depend on the value chosen for maximum shift.


Comments

Reported version 3.4 3.x-dev

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.5.0.12238, revision: a3e23d6

Confirmed using this build (Note: Shift above/below is a new feature in Style > Chord symbols).

Reported version 3.x-dev 3.4

As a left-over of an earlier version of the alignment algorithm, an offset was added to all chord symbol, fret diagrams and RNA symbol which were placed above the staff. However as a part of the optimisation, when the control parameters are 0.0sp, the alignment algorithm was skipped. This explains this strange shift when the algorithm is switched on.
This will be solved with the same PR solving [issue #306750] (https://musescore.org/en/node/306751). At this moment I'm running the local tests.

Status PR created fixed

Fixed in branch 3.x, commit 9f9d404598

_Fix #306750 - Chord symbol alignment incorrectly forces alignment between above & below chords and across staves
Fix #306751 - Chord symbol alignment changes default position without reason

Resolves https://musescore.org/en/node/306750
Resolves https://musescore.org/en/node/306751

Extended the algorithm so it aligns chord symbols, fret diagrams or RNA symbols per staff
by collecting the symbols per staff and run the alignment for every staff. When looking
for the reference for the alignment, the algorithm now handles placement above and below
the staff as two different cases. This solves #306750.

Removed an extra offset which was not required anymore but was a left-over of an earlier
version of the algorithm. This solves #306751._

Fix version
3.5.0