Changes to scale of one staff can affect elements on other staves
Behavior here is somewhat different between 3.0.5 and master, and will probably be different still if/when my proposed fix for [#] is merged. But for now, easiest way to see an issue is add a staff text to one staff of a score, then go to a different staff, staff properties, and change the scaling to 200%. You'll see the staff text move further away from the staff it was attached to.
This happens because in in Staff:setProperty(), we are calling score()->spatiumChanged(), which causes all elements to recompute things as if the change applied to them. Luckily, this ends up being harmless for many elements as the things get recalculated anyhow on the layout. I still need to understand more about that.
Anyhow, there is function Staff::scaleChanged that is not currently used at all but could potentially do the right thing. That is the angle I will pursue.
Related issue: scaling doesn't happen right for the staff type change either, because it's either not calling spatiumChanged. So I plan to modify the scaleChanged to take a start and end tick.
BTW, I discovered this working on #287807: Chord symbols do not scale with staff size. It turns out chord symbols do scale on when changing staff scaling, but not on toggle "small", because we are calling spatiumChanged, so that's good. It was when I went to add a spatiumChanged() call on toggling small that I saw the potential for trouble.
Comments
https://github.com/musescore/MuseScore/pull/4935
Fixed in branch master, commit dee866205c
fix #287852, fix #287839, fix #287885, fix #287807: issues with stafftype
Automatically closed -- issue fixed for 2 weeks with no activity.
Some cases are still a problem, in particular, when setting a staff to small, staff texts on all staves end up being affected.
Will be submitting a fix along with one for #289312: More offsets that don't scale with staff size
https://github.com/musescore/MuseScore/pull/5030
Fixed in branch master, commit 6d36f0ca8a
fix #287839: all annotations change offset when one staff made small
Automatically closed -- issue fixed for 2 weeks with no activity.