Fermata loses assignment to voice and direction

• Jun 12, 2018 - 14:18
Reported version
3.0
Priority
P1 - High
Type
Functional
Severity
S4 - Minor
Status
closed
Regression
Yes
Workaround
Yes
Project

In 2.x adding fermatas (and other articutlations) to voice 2 show upside down and below staff and, when selected, are green:
2.x.png
In current master (9a9256c) these show on top of the voice 1 fermata and is blue:
3.0.png
Another bug: the selection doesn't show (rather: gets deselected) in the screenshot in master, but does in 2.x

But even when explicitly added again/another time to voice to, they show above (but in green now)

Attachment Size
Fermata-Voice.mscz 2.69 KB

Comments

Title Fermata loses assignment to voice and direction on import of 2.x score in master Fermata loses assignment to voice and direction

Not just on import, also when entering in 3.0 from scratch

I don't have my copy of Gould handy, but probably we should set default placement to below for even numbered voices? I guess one consideration is the Inspector tends to be confused by stuff like this with respect to knowing when to enable "reset" and what it should do.

BTW, looks from the code like we are expecting there to simply be separate palette items for above/below versions of the fermata, as per ChordRest::drop().

The existing code in ChordRest::drop() is about replacing an existing fermata, and making sure that the new placement matches the old one. In any case, we should probably first set the fermata's placement to Placement::BELOW if the ChordRest's up() method returns false.

Edit: I guess it can't be based solely on the direction of the chord, after all. Setting the placement to BELOW for even voices seems like the right call.

Right, fermatas always go above the staff except with multiple voices.

Again, one thing to watch out for is the behavior of the Inspector Reset button.

Again, one thing to watch out for is the behavior of the Inspector Reset button.

Good call. I was just about to miss that. I notice that there is no such thing as Placement::AUTO. Perhaps there should be.