lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: \bookparts and scaling


From: Karlin High
Subject: Re: \bookparts and scaling
Date: Thu, 28 Jun 2018 13:32:48 -0500

On 6/27/2018 4:57 PM, address@hidden 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

Attachment: crimsonsunrise-multisize.ly
Description: Text Data

Attachment: crimsonsunrise-multisize.pdf
Description: Adobe PDF document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]