On Thu, Jun 28, 2018 at 11:32 AM Karlin High <karlinh...@gmail.com> wrote:

> On 6/27/2018 4:57 PM, crimsonsunr...@protonmail.com wrote:
> > It could help if we knew what #(set-global-staff-size) does exactly.
> > It's not in the manual or at least I couldn't find it.
>
> I've watched people on the list refer to the source code when manuals
> failed them. I'm not as skilled as those people, but here goes. This is
> only an attempt to locate the code, with little expectations of
> understanding it. I don't know Scheme very well at all.
>
> In my LilyDev VM, I run the command...
>
> git grep set-global-staff-size
>
> ...and it finds lots of instances where the command is being used in
> documentation and such, instead of where it's defined. But this file
> looks promising for the definition:
>
> $LILYPOND_GIT/scm/paper.scm
> 106 (define-safe-public (set-global-staff-size sz)
> 107 "Set the default staff size, where SZ is thought to be in PT."
>
> The code following those lines seems to refer to this one:
>
> 69 (define-public (layout-set-absolute-staff-size-in-module module
> staff-height)
>
> That one does not seem to have any comments with explanations for it.
>
> [CAUTION: Now entering cargo-cult mode]
>
> Based on how that layout-set-absolute-staff-size-in-module seems set up,
> it does look like adding this to each \bookpart \score block will
> change their staff sizes individually.
>
>     \layout {
>       #(layout-set-absolute-staff-size-in-module
>         (current-module) (* 10 (eval 'pt (current-module))))
>     }
>
> The value 10 could be set to other values as desired. To show how it's
> working, I modified the example posted by Torsten Hämmerle at
> <http://lists.gnu.org/archive/html/lilypond-user/2018-06/msg00572.html>
> and attached the source code and resulting pdf.
>
> Again, this is total cargo-cult code, awaiting corrections or
> contra-advice from LilyPond experts. And I'm sure there's a way to
> properly format this code at the beginning of the LY file to pass a
> value to it and avoid having to re-enter the whole thing each time.
> --
> Karlin High
> Missouri, USA
>


The staff sizing commands are described in the docs:
http://lilypond.org/doc/v2.19/Documentation/notation/setting-the-staff-size

Which says:  To set the staff size globally for all scores in a file (or in
a \book block, to be precise), use set-global-staff-size

>From what I recall on list discussion, you can't re-set this once it has
been set (and expect things to work.)  Which is to say, it is a global
setting, so it is not a per-staff/per-staffgroup/per-score/etc, but once
and done.

I was unfamiliar with the next one, which might do the trick:

To set the staff size for a single score within a book, use
layout-set-staff-size inside that score’s \layout block:

\score {
  …
  \layout {
    #(layout-set-staff-size 14)
  }
}


And then there's the magnify-staff approach I mentioned, which is described
as being used to set the staff size for a single staff within a system.


HTH,

Elaine Alt
415 . 341 .4954                                           "*Confusion is
highly underrated*"
ela...@flaminghakama.com
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to