Grandstaff display range adjustments  

Currently every Grandstaff (i.e., rows on a virtual page of sheet music) is set to a fixed tonal range based on the highest and lowest notes in the entire scoreUnfortunately,  this leads to some rows displaying a wider range that what actually needed for those rows, so there can be a lot of wasted space (where there are no noteheads).  The proposed change would set both Treble and Bass staves of each row individually according to the range of notes just in that row.  This generally would not  be a lot of help to most beginners' scores because they have a relatively narrow range.  But for more complicated classical music scores with wide ranges, this would help reduces space and page counts.  Here is an example:

Adjust staves by Grandstaff row

Sheet music has rows of Grandstaffs on a page.  In the Beta version of SNapp, the range of a staff is set according to the highest and lowest note of the staff for the entire score.   So a staff remains fixed throughout.   For many scores this does not really matter, but for more advanced scores where this a wider range of notes, this can lead to a lot of "wasted" Grandstaff vertical staff on a row that doesn't actually have notes over the entire range.   Here is an example:

The first Grandstaff row measures 1 to 3 have no notes in octave 5, but the row containing measures 28 to 30 does.  Because each row is fixed over the entire score range, displaying octave 5 in row one is just wasted space.  Likewise, in the row with measures 28 to 30, there is wasted space at the bottom of the staff.

Therefore, SNapp needs to adjust each row according to only the notes in that row.  This of course needs to be readjusted whenever the user preference option for measures per row is changed.