Frame sizes in relative or absolute units?

• Jun 11, 2019 - 22:15

MuseScore has three types of Frame that can be used add text or images to a score, or simply to create empty space:

When you click on a frame, you can adjust its size and/or "gap" in the Inspector. These adjustments are currently made in relative units (stave spaces / sp.). This means the frame grows and shinks with the music. I would prefer to use absolute units (inches or millimeters depending on the user's locale) so that frames remain the same size on the page regardless of the size of the music.

Of course we could allow both relative and absolute units and let the user choose between them, but that still leaves the following questions:

  1. Should it be possible to have different units for different properties (e.g. height/width in absolute units but gap in relative units?)
  2. What should the default be in each case?

Frame height and width

I think absolute units should be the default here. Vertical frames are used for titles, etc, and the text is given in absolute units. If the text doesn't scale with the music then the frame shouldn't either. Horizontal frames are used to create an indentation at the beginning of the first system, and this indentation should presumably be a fixed size too.

I suppose there might be a few situations when you want to use relative units for a horizontal frame, but they seem pretty rare to me. The only examples I can think of are if it is used to separate a coda from the previous measure (though even that could be done in absolute units), or used to display an image that needs to scale with the music.

Top gap and bottom gap

These determine how close music can get to the frame. I'm less certain about whether these should these be relative or absolute, so comments here are appreciated.


Comments

In my opinion, everything should be relative. When you change the scaling everything should scale by default. I realize you specify the size in pts for a font, but staff text still scales and titles (and frames) should do the same. The current inconsistency between gaps and margins is rather confusing.

In reply to by mike320

Absolute sizes are necessary for frames with a lot of text, such as when lyrics are written out in full at the bottom of the page, or for instrumentation lists and cover pages such as those in OpenScore editions. It makes no sense for that kind of text to scale with the music, and if the text is a fixed size then the frame, gaps and margins should all be fixed sizes too.

(Aside: if you put two horizontal frames inside a vertical frame to create two columns of text then you want your columns to stay the same width, i.e. half a page, regardless of what happens to the music.)

You might have a point when it comes to title frames within the score. If you look at the first page of music in Beethoven's Moonlight Sonata you see that the title is a certain size compared to the music.

Moonlight.png

There are more instruments in Bach's Brandenburg Concerto No. 3 so the music is smaller, but the title is the same size as before.

Brandenburg3.png

I can see why you might think the title should be smaller in this case, but let's look at some examples that are more extreme.

Bruckner's Aequale No. 1 has very large staves. Would you expect the title to be any larger than it is now?

Aequale1.png

Meanwhile, Tchaikovsky's 1812 Overture has tiny staves. Perhaps the title could be a bit smaller, but surely not in proportion to the music? Just think what would happen to the page numbers and copyright notice at the bottom of the page if everything was reduced by the same amount!

1812Overture.png

If the relationship between text size and music size is not strictly proportional then things get very complicated, so it is much easier if we just use a fixed size for all titles.

In reply to by mike320

I disagree. Just because the user changes the page size does not mean that they expect the text to change size too. The examples I showed previously were all A4 size, but Holst's The Planets has too many instruments to fit on an A4 page. I used A3 size pages instead, but I kept the title text and page margins the same absolute size so that there is more relative space for the music.

Planets.png

If you want everything to scale then you could simply print the PDF at a different size. Perhaps we should offer a way to scale like this within MuseScore (i.e. change sp. in proportion to page size) but what do you do if the aspect ratio changes? (i.e. What do you do if the page width and height are scaled by different amounts, or the orientation changes from portrait to landscape?) In this case there is no way to guess what should happen, so the user simply has to edit the styles manually. Fortunately they can save the new style (including page size) and apply it to future scores with very little effort, so this use-case is arguably already covered.

Now what would be really useful is if there was an option to specify frame sizes as a percentage of page height or page width. That would allow you to make a horizontal frame that is literally half the page width. That would be a much more robust solution than assuming that frame size should increase in proportion to staff size, and that staff size should increase in proportion to page size. Of course, that is a new option on top of absolute units or stave space units.

The situation where I've had occasion to think about this is a score with a small staff size and then normal size parts, wanting the title frame to be the same between score and parts. Which makes sense because the text within that frame doesn't scale either. Not sure this would be true of all frames, though. I hate special-casing things, but for my purposes, fixed for the title frame, relative for other frames might make some logical sense.

In reply to by Marc Sabatella

Special-casing the behaviour is a non-starter because (1) we could never please everybody, (2) all major notation programs except MuesScore allow the user to pick their units. However, special casing the default setting (and allowing the user to override it for individual frames) might work, and might not be as bad as it seems (simply modify all the templates to use absolute units for their title frame, and perhaps the "Add -> Title" option too, but keep the 'Add -> Frame" option using relative sizes by default).

However, a better way to special-case things might be to use absolute units for all vertical frames (by default) and relative units for all horizontal frames (by default). Horizontal frames are part of the music, so I suppose it makes sense that they scale with it (except perhaps the initial horizontal frame). However, vertical frames are not part of the music. Vertical frames are bounded by the page width (an absolute size) so it makes sense that the height should also be an absolute size (in most cases).

Well I think everybody will agree that if text does not scale (because "follows staff size" is unticked) then the frame should not scale either. This means it needs to be possible to use absolute units for frame sizes, but it doesn't need to be the default option right away. We can keep relative as the default for now and review this decision for the next major version, but comments are welcome in the meantime obviously.

Do you still have an unanswered question? Please log in first to post your question.