Equidistant Staff Indents

Dorico places staff labels inside music frames. When staff labels change often, the staff indent sizes to the biggest label on that page and if there’s a lot of variation in size between systems this begins to look wonky. Traditionally, all systemic barlines at the beginning of a system align unless it is an indented first system of a movement, regardless of staff label length (though usually they’re abbreviated to be as equal in size as possible). Other elements, such as the page number on verso pages traditionally align with the systemic barline as well, and not the staff label margin.

This is currently quite a workout to achieve in Dorico, though possible. I’m wondering if anyone can offer any improvements to this or if it might be put on a list for things to look into in the future.

Using this as an example and including a Dorico file where I replicated it (more or less, I’m sure I missed something). Imgur: The magic of the Internet

What I have to do currently is:

[] Decide where I want my longest staff label to begin and set it as the left margin (in this case, 0.41")
[
] Figure out how long, in spaces, my longest staff label is (in this case, 6.75 at 0.055" space size). There’s a bit of trial and error here.
[] Set “Minimum indent for systems with staff labels” to 6.75 spaces
[
] Add the equivalent number of spaces to the right margin (6.75 x 0.055" = 0.37125", + 0.41" = 0.78125" for right margin)
[*] Indent any left-aligned text frames on verso pages in Master Pages an additional 6.75 spaces (0.37125") so that they align with the new systemic barline position

This is a good bit of human calculation to feed into a program which could definitely do it better than I can. Am I wrong to want an “Align all systemic barlines within a frame” button? I suppose in a perfect world what I truly desire would be first system staff labels to begin at the music frame margin and subsequent systems to have the systemic barline begin at the music frame margin and the staff labels to be leftward outside, however I imagine there’s no way this would be possible in Dorico.
Example.zip (1.49 MB)

Thanks for this request, I would second it. I have had the same issue with condensed orchestra scores: if there are two systems on a page, and some instrument labels are longer than others, the staff indentation can be inconsistent.

This is precisely what the ‘Minimum indent for systems with staff labels’ option in Layout Options is for, of course, though I understand that you want this value to be able to vary frame by frame basis, and for this to be automatic.

It’s non-trivial to achieve, because Dorico doesn’t know what the width of the staff labels on the next system is going to be when it’s working out the width of the current system, and if the staff labels on the next system can affect the width of the current system, then you have a circular problem: you don’t know how wide the current system will be yet, because you don’t know how wide the staff labels need to be, and it may be that the staff labels will end up sufficiently wide that you can’t fit the current contents of the system, which then forces one or more bars onto the next system, which changes the contents of the following system, which may change the width of the staff labels, which… you get the idea.

I presumed that would be the case given similar circular issues, so I kept the idea as mere pipe dream. However I still wonder if within the current framework the desired result could be easier to achieve or at least calculate. Two small improvements I can think of — 1: Being able to set the Minimum Indent as different units (Inches/CMs/MMs) 2: An additional option for indenting the right-side of the system as well (rather than adjusting the page margin as I’ve done)

I can’t think of anything to avoid the trial and error of figuring out your longest staff label length in spaces (or any other unit) until Dorico has a more robust measuring/ruler system to figure out the distance between the music frame and systemic barline.

EDIT: The circular issue only occurs if Dorico tried to resolve this automatically on a per page/system basis, right? It seems to me the exact process I indicated above, since it affects the entire layout, could be easily automated since Dorico should already know the length of the longest staff label and the distance in Engraving Options of the staff label from the systemic barline. Dorico could calculate that total, apply it as the Minimum Indent automatically, then if desired by the user apply this same indent to the right side (creating truly centered music), then layout and space all of the music. This operation would avoid any circular issues relating to spacing unless I am missing something?

Or maybe, if a page layout is frozen with system or frame breaks, then it would be possible to avoid the circularity problem (which hadn’t occurred to me - thanks Daniel), and have some kind of “justify indents” option? In my experience it wouldn’t be necessary most of the time.

Unfortunately Dorico can’t in general know the length of the longest staff label, because it may be a dynamic one that appears only when a particular condensed combination is in use, and that combination may only appear in the specific circumstances on a single system when the casting-off is just so.

That makes sense. And I imagine there’s no possibility in the future of an option to draw staff labels outside music frames, much the way curly braces and square brackets are currently drawn? I’m sure Dorico went down the road of drawing them within music frames for a reason, though.

I’m trying to imagine any other ways to potentially automate this…As Stephen intimated, if a page’s formatting is locked, after having been cast off and spaced, Dorico should know the current lengths of staff labels on the page. You can adjust the indent of systems in Engrave>Note Spacing. Since that can be done after music is cast, I could imagine a toggle within a Frame Break of “Justify stave indents” which would essentially compare the length of staff labels within the locked frame and automate the process of indenting the longer systems based on Dorico’s understanding of the length of the largest staff indent already on the page…would that be possible?

1 Like

I am guessing the difference between allowing a brace outside the margin and letting instrument names do the same is that the brace is a fixed width whereas no one can say how long an instrument name (especially a customized one) might be. It might even run off the page without additional correction, which makes the problem you face even more difficult.

I think you can see that if system 2 of 3 had a long instrument name, changing the margins of systems 1 and 3 might create a narrower system 1 or 3 that would require moving measures from system 1 into system 2 or from system 3 onto the next page, causing a ripple affect.

This may be a problem that (at least for the present or until a brilliant recursive algorithm becomes feasible) might be far better served manually. A reassuring thought as we may nervously wonder when computers will take over the world. :wink:

This thread has been very helpful to me in understanding system indents as I transition from another notation program. I am still in the very early learning stages with this, but I have had some success by editing my abbreviated staff names in the setup window and not allowing many dynamic elements. If I can maintain relatively similar width down the score, the system indents do not vary as much.

1 Like

Yeah, since any automatic way to do this is doesn’t seem to be coming, I believe this is still the best way to do it. It’s a lot of work (especially if you’re like me and you change abbreviations or staff size mid-project) but I just think it looks wayyyyyyy better.

2 Likes