27.03.2013 Views

in Snippets - LilyPond

in Snippets - LilyPond

in Snippets - LilyPond

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Staff notation 123<br />

}<br />

}<br />

<br />

}<br />

\remove "Staff_collect<strong>in</strong>g_engraver"<br />

<br />

Incipit<br />

<br />

<br />

<br />

A<br />

<br />

1<br />

Incipits can be added us<strong>in</strong>g the <strong>in</strong>strument name grob, but keep<strong>in</strong>g separate the <strong>in</strong>strument<br />

name def<strong>in</strong>ition and the <strong>in</strong>cipit def<strong>in</strong>ition.<br />

<strong>in</strong>cipit =<br />

#(def<strong>in</strong>e-music-function (parser location <strong>in</strong>cipit-music) (ly:music?)<br />

#{<br />

\once \override Staff.InstrumentName #'self-alignment-X = #RIGHT<br />

\once \override Staff.InstrumentName #'self-alignment-Y = #UP<br />

\once \override Staff.InstrumentName #'Y-offset =<br />

#(lambda (grob)<br />

(+ 4 (system-start-text::calc-y-offset grob)))<br />

\once \override Staff.InstrumentName #'padd<strong>in</strong>g = #0.3<br />

\once \override Staff.InstrumentName #'stencil =<br />

#(lambda (grob)<br />

(let* ((<strong>in</strong>strument-name (ly:grob-property grob 'long-text)))<br />

(set! (ly:grob-property grob 'long-text)<br />

#{ \markup<br />

\score<br />

{<br />

{ \context MensuralStaff \with {<br />

<strong>in</strong>strumentName = #<strong>in</strong>strument-name<br />

\override VerticalAxisGroup<br />

#'Y-extent = #'(-4 . 4)<br />

} $<strong>in</strong>cipit-music<br />

}<br />

\layout { $(ly:grob-layout grob)<br />

l<strong>in</strong>e-width = \<strong>in</strong>dent<br />

<strong>in</strong>dent =<br />

% primitive-eval is probably easiest for<br />

% escap<strong>in</strong>g lexical closure and evaluat<strong>in</strong>g<br />

% everyth<strong>in</strong>g respective to (current-module).<br />

#(primitive-eval<br />

'(or (false-if-exception (- <strong>in</strong>dent (* mm <strong>in</strong>cipit-widt<br />

(* 0.5 <strong>in</strong>dent)))<br />

ragged-right = ##f<br />

ragged-last = ##f<br />

system-count = #1 }<br />

}<br />

#})<br />

(system-start-text::pr<strong>in</strong>t grob)))

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!