Lyrics with manual adjustments not imported consistently

• May 13, 2019 - 20:21
Reported version
3.x-dev
Priority
P0 - Critical
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
PR created
Regression
Yes
Workaround
No
Project

1) create score in 2.x or 3.0
2) adjust position of a lyric (in 3.0, do a version with and without disabling autoplace)
3) save
4) load into current master

Result: vertical offset is completely ignored (when starting from 2.x) or misinterpreted (when starting from 3.0). The former result is not a regression - 3.0 ignored vertical offsets from 2.x as well. But obviously, it's a regression that 3.1 interprets vertical offsets different than 3.0.

This is the result of a conscious - and, I think, correct - decision on my part to make lyrics work more like other text elements, in order to support vertical offsets with autoplace still enabled (which 3.0 did not do at all). I had been thinking this was safe because 3.0 essentially ignores vertical offsets on lyrics, but I forgot that they do get written (and then ignored on read) if you manually adjust horizontally. And the odd way they are represented in 3.0 (unlike how they were in 2.x, and unlike all other text in 3.0) means current master is not reading them well.

It's an easy fix to correct the offset on read, but I realize now this is also an opportunity to do a much better job of importing 2.x scores as well. Instead of throwing away the offsets as we have been doing, it's completely possible now to rebase and honor the offsets just as we do for other text elements. So I'm submitting a PR that does this.