Tags: sooids/MuseScore
Tags
fix #315636: no space between barline and note with invisible signature Resolves: https://musescore.org/en/node/315636 When code was added to better handle invisible key or time signatures at the beginning of a score, this inadvertently affected spacing between barline and first note if there were invisible key or time signature changes later. The spacing was never actually *correct* here - it was controlled by the key or time signature margin - but it more or less worked and scores depended on it. The problem is that the changes made involved setitng the width of these invisible segments to 0 and skipping them. Whereas previously, they got processed enough to yield some space betwene the barline and first note. The firx here is just to limit the effect of the previous change so not *all* segments with all elements invisible, but only those in system header measures, or segments after the beginning of the measure. Thus we continue to handle beginnings of scores and systems well, and also courtesies at the end of measures. But we revert to the previous behavior for key or time signatures at the beginning of measures that are *not* headers. Again, it wasn't ideal, but it basically worked, nand now works again the same way. I left TODO's in the code to indicate something of what would need to happen to fix this "for real", with the space controlled by barNoteDistance as the user expects, rather than depending on the key or time signature margins. A quick attempt to implement this led to problems that convinced me to put it off until a larger scale rewrite of the spacing algorithms as a whole.
Removed an accidental marking a score as "dirty"
fix wandering systems after edit to second or subsequent systems WHen editing the second or later system on a page, we don't relayout the previous systems on the page. Thus, the already-spread value is used as a starting point causing it to spread further and further with each edit, and also the calculation of the restHeight for spread of systems is also off. Fix is to called the new restoreLayout2() for all those initial systems.
PreviousNext