lilypond-user
[Top][All Lists]
Advanced

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

Scripting the \paper blocks output


From: N. Andrew Walsh
Subject: Scripting the \paper blocks output
Date: Sun, 14 Feb 2016 16:11:49 +0100

Hi List,

I have an included file, "default.ily" that I use for my stylesheet, comprising the following \paper block:

\paper { 
   %% Set system-system distance 
  
  system-system-spacing.basic-distance = #32
  
  indent = 18\mm
  two-sided = "true"
  inner-margin = 15.0\mm
  outer-margin = 3.3\mm
  top-margin = 8.0\mm
  bottom-margin = 12.0\mm
  
  %% Set Page numbers to the bottom
  oddHeaderMarkup = \markup \fill-line { " " }
     evenHeaderMarkup = \markup \fill-line { " " }
     oddFooterMarkup = \markup \abs-fontsize #10 \fill-line { 
         \on-the-fly #not-part-first-page \line {Klang Büro xx.xxx }
         \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string
     }
     evenFooterMarkup = \markup \abs-fontsize #10 \fill-line { 
         \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string
         \on-the-fly #not-part-first-page \line {Klang Büro xx.xxx }
     }
   
   %% Set default page size
   #(set-paper-size "a4")

}

What I'm interested in are the lines with the "xx.xxx" part. I'd like to automate that to output, on a per-book basis, some string that uniquely identifies the piece as some combination of composer name and serial number. This is taken from the Carus Verlag's practice of numbering, by which Bach's works are numbered as 31.xxx, with "xxx" replaced by the BWV number. 

It doesn't have to be purely numerical. I'd be happy to, say, just take the first two letters of the composer's last name, and then number the pieces sequentially as I finish them. What I would really like to do, though, is to set that number of the piece as a variable in the master .ly file, and have the .ily file pull it and the composer's identifier on the fly (so that I don't have to change the .ily file each time I work on a piece with a different number). 

So, I have my .ly file, and there's a line of pseudo-code like:
composer = { Bob Smith }
catalognumber = { 001 }

and the .ily file automatically replaces "xx.xxx" with "Sm.001".

Is there a way to do that?

Cheers,

A

reply via email to

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