Skip to main content
Topic: Staff scaling (Read 2086 times) previous topic - next topic

Staff scaling

Hi guys, I know the basics of this have been kind of discussed elsewhere in the forum before but I thought it might be worth revisiting, if only to quiet the little voices in my head  :D

  • Often in commercial piano/vocal scores we see the vocal staff is smaller than the piano staves, something on the order of 75% or thereabouts.
  • In the text entry dialogue in NWC we now have a scaling option to allow control of the text size beyond the font size parameters

My questions is: given the ability to scale text, does the rendering engine of NWC also allow for the possibility of a new staff parameter to specify a scaling factor that would affect the entire staff?  Or even significant parts of it?

Now I know the vast majority of us will have absolutely no idea, so I guess this question is really aimed at Eric and Mike Shawaluk.  Given that I cannot recall Eric ever letting the "cat out of the bag" about the coding behind NWC I guess this means Mike is the most likely respondent seeing as he seems to have some pretty good insights into the internals of NWC.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Staff scaling

Reply #1
Hi -

This can really only be known if one knows the source code. But a little bit of guesswork about possible problem spots:

- Scaling of glyphs ("things on the staff") is probably easy.
- Vertical layout will be hard if the "vertical granularity" is too coarse-grained (e.g., in staff size units); if it is using "double" or a fine-grained "int", it should be easy.
- Horizontal layout could be very hard, and very much work: Obviously, a smaller staff cannot be as "beautiful" regarding spacing - it must mainly follow the spacing of any larger staff and e.g. stretch distances between quarters so that they align with other staves. But of course, it is not simply possible to discard them in horizontal layouting (there might be space-defining sixteenths in it ...).

The problem is mainly that both vertically and horizontally, two concepts must be partially decoupled that are currently coupled: Ths size of things, and the spacing of things. But of course, they must remain coupled "where necessary", i.e. where size implies spacing. It depends solely on the current design (and maybe even architecture) of the source code whether this is "just work" or a "major rewrite of the base engine".


Re: Staff scaling

Reply #2
It depends solely on the current design (and maybe even architecture) of the source code whether this is "just work" or a "major rewrite of the base engine".
With the veery strong possibilty that neither will be done...  :(

Re: Staff scaling

Reply #3
This will be a fairly short reply, since I am currently on a short vacation and my motel internet is less than robust.

@hmmueller has got it pretty much spot on, in my opinion. I appreciate the faith that some people have in my understanding of the internals of NWC but except for programming of custom objects, I don't know much more about the NWC code than most of the rest of you here. The one thing I can suggest is that if a custom object can render something in a certain scaling or way, then I would think that NWC itself should be capable of that. Version 2.75 included a number of important native improvements, like being able to position things at 0.01 staff unit precision, as well as the percentage scale factor that @hmmueller mentions. But I have no idea whether this whole idea is currently on the NWC roadmap. Or if, in fact, a road trip is currently planned. There is not currently an active beta in progress (other than the beta version posted several years ago). We will all have to wait until the author of NWC has more to say on the subject.


Re: Staff scaling

Reply #4
Thanks Mike and HM.  Pretty much what I expected, but we all live in hope ;)
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.