System not populating to first page after adjusting staff spacing

Hi all.

I’m trying to adjust the staff spacing in Engrave mode in order to get two systems on the first page. But when I do, I can’t get the next system to go to the first page.

Something I noticed is that the frame fullness indicator doesn’t change when I adjust the staff spacing. It’s possible that I’m just misunderstanding how this process is done, but this seems like a bug to me.

Here’s a silly demonstration:

Notice how the frame fullness indicator doesn’t change despite there clearly being more whitespace.

Like I said, if I’m just misunderstanding how this works, I am happy to be corrected! I’m just trying to get the second system on the first page without using two frame breaks and “wait for next frame break”.

Hi MRiddickW!

I think you are wrong in anticipating that a manual change in staff spacing will appear in the %fullness. Actually you should use the manual tweaking as a very last measure to refine something that is already close to perfect. How? Use the ideal vertical gap options in Layout options >Vertical spacing. You should notice that the percentage will change then.
Use also the space size (Layout options >page setup for a general size, and select a break and tweak the properties panel >space size for granular changes)
This is the way Dorico is supposed to be used, try and don’t fight the software :wink:
Hope this helps!

Hi Marc,

Don’t worry, I’ve become well-acquainted with the vertical spacing options. :slight_smile: I’ve set the spacing they way it is to help the overall layout, especially several pages onward. It’s only those two first systems that I’m trying to tweak in order to fit them on one page.

It just seems bizarre to me that a manual adjustment would not change the fullness. Even if it is a last resort, you can’t deny that the first page in “Elegy 2” is not very full!

Sure, but the fullness indicator isn’t interested in the local changes that you make to staff spacing. The quickest way around this situation is almost certainly to use a Frame Break with “wait for next”, first, then to adjust the local staff spacing if Dorico hasn’t already done a good enough job of squeezing the two systems onto the first page.

Interesting. What are the benefits of the fullness indicator not being interested in the local changes made to staff spacing? Since I’m being told this isn’t a bug, I’m sure there’s a good reason, I just can’t think of what it might be.

As users, all we can do is speculate. This particular function hasn’t previously been discussed at length, here or on the Facebook group. The function’s only existed since Dorico 3.0 so those of us that are old hands likely don’t depend on it.

But to it not being a bug, notice how the System fullness indicator does update when you adjust note spacing, and the entry in the manual (here) tells you that that indicator updates automatically when you adjust note spacing. Then notice that the entry for the Frame Fullness Indicator (here) doesn’t say anything about this indicator automatically updating. That’s the clue that this is working by design, and thus isn’t a bug. It might be something you don’t like, but if it’s working as the developers designed it to work, it’s not a bug.

As to why manual adjustments don’t bring forward following systems, can you imagine what a nuisance it would be if you dragged the staff spacing closer on page 1, watched Dorico move a system from page 2 to page 1, then you thought “well I’ve got a little more room at the top of page 1 so I can drag those a little bit bigger”, then watched Dorico shunt the bottom system back onto page 2. Worse still would be if you were editing the staff spacing on the top system of page 2 and Dorico decided it could shunt that system onto page 1. No thanks!

edit: I see that Sibelius does exactly this. After some three years of barely touching Sibelius I’d forgotten this behaviour. Bearing in mind that the Dorico developers previously worked on Sibelius (in some cases for upwards of 12 years), I suspect they realised that they could improve on Sibelius’s staff spacing behaviour. If you’re a current or former Sibelius user, please don’t expect Dorico “to do things in a particular way because that’s how Sibelius does it” - a great deal of thought has gone into the development of Dorico (which is not to say that a great deal of thought didn’t go into developing Sibelius; it’s just that Sibelius carries decades of legacy behaviour and the Dorico team had the chance to rethink stuff)…

I’ll check with Andrew, our spacing guru, about precisely why the system fullness indicator doesn’t take into account manual spacing adjustments. I’m sure there is a reason, but I confess I cannot bring it to mind today.

Regarding why Dorico won’t bring another system into the frame if you manually reduce the distance between existing staves and systems already in the frame, the reason is that Dorico makes its decisions about how full a frame is only once, and in order to maintain a stable result it won’t recalculate based on manual adjustments.

I’ve been in touch with Andrew, the aforementioned spacing guru, and I can now explain why there’s a difference between the system fullness indicator and the frame fullness indicator.

When you adjust note spacing, there are two kinds of adjustments: those that affect the amount of space Dorico will justify (i.e. spacing adjustments that are applied before justification) and those that do not (i.e. applied after justification). The edits you make to note spacing with the square handles are the former, i.e. they change the “solid” space that Dorico justifies, while the ones you make with the circular handles are the latter, i.e. they do not change how full the system is considered when justifying. The system fullness indicator takes into account the solid space prior to justification, which is why the percentage changes when you make edits to the square handles, but not to the round handles.

For vertical spacing, on the other hand, there is no way to make an edit that affects the amount of space Dorico will justify: you can only adjust the space post-justification. So, if you like, you can think of the handles you can move around for vertical spacing as being the equivalent of the round handles that you can move for note spacing. The frame fullness indicator works the same way as the system fullness indicator, i.e. it only shows the pre-justification value. So when you adjust the handles for vertical spacing, the justification calculation does not change, and hence the frame fullness indicator likewise does not update.

Interesting, thanks for the info!

(Sorry for the late response, I didn’t notice the new post until now.)

I guess then as a feature request, I’d like to have some way of, once I’ve manually adjusted the height of the systems in question, being able to autopopulate both systems to the (in this example) first page, assuming they fit. The important thing though, is that however it’s implemented, it should be independent of notes/measures. i.e. if I were to do something that changes the number of measures in a system, such as changing the universal note spacing, these systems would likely end up with more measures in them; not have the notes be locked into their specific system.

The way my mind goes about this problem is by adding a button to explicitly calculate frame fullness after manual adjustment; at which point it would see that systems 1 and 2 are taking up much less space and can indeed fit on one page. But I of course trust the team to figure out the best method.