\version "2.19.27" %\include "lilypond-book-preamble.ly" \paper { indent = 0\cm } %% CUSTOM GROB PROPERTIES % Taken from http://www.mail-archive.com/lilypond-user%40gnu.org/msg97663.html % (Paul Morris) % function from "scm/define-grob-properties.scm" (modified) #(define (cn-define-grob-property symbol type?) (set-object-property! symbol 'backend-type? type?) (set-object-property! symbol 'backend-doc "custom grob property") symbol) % How much extra space to top, right, bottom, left? If unspecified, % this will be taken as '(1.0 1.0 -1.0 -1.0), creating a padding of 1 staff-space % around box-contents. #(cn-define-grob-property 'box-dimension-offset number-list?) % Which faces will be drawn? Pattern is top, right, bottom, left. If % unspecified, this will be taken as '(#t #t #t #t) -- meaning that all % faces are visible. #(cn-define-grob-property 'box-faces list?) % Based on input/regression/scheme-text-spanner.ly #(define-event-class 'box-span-event 'span-event) #(define (add-grob-definition grob-name grob-entry) (let* ((meta-entry (assoc-get 'meta grob-entry)) (class (assoc-get 'class meta-entry)) (ifaces-entry (assoc-get 'interfaces meta-entry))) (set-object-property! grob-name 'translation-type? ly:grob-properties?) (set-object-property! grob-name 'is-grob? #t) (set! ifaces-entry (append (case class ((Item) '(item-interface)) ((Spanner) '(spanner-interface)) ((Paper_column) '((item-interface paper-column-interface))) ((System) '((system-interface spanner-interface))) (else '(unknown-interface))) ifaces-entry)) (set! ifaces-entry (uniq-list (sort ifaces-entry symbol es | ^\pieceTitle "Arlequin" s2\boxSpanEnd | bes4 ^\pieceTitle "Valse noble" g bes | \time 2/4 %% left/right/bottom/top \once \override BoxTextSpanner.box-dimension-offset = #'(4 1 -1 -1) es,4 ^\pieceTitle "Eusebius"\boxSpanStart s4 | \time 5/4 << { 4 ^\pieceTitle "Florestan" -\tweak style ##f -\tweak thickness 2 -\tweak box-faces #(list #t #f #f #f) \startBoxSpanOne } \new Voice { } >> s8 \boxSpanEnd bes4 s8 4 s4 \bar ";" | \time 3/4 bes4 ^\pieceTitle "Coquette" s2 \bar ";" | bes4 \stopBoxSpanOne ^\pieceTitle "Réplique" s8 g4 s8 \bar "||" } functionsOne = \lyricmode { \set stanza = \markup \circle "B:" S2. D2. T2. S2 } functionsTwo = \lyricmode { \set stanza = \markup \circle "g:" \skip2.*3 tG2 \markup { D \hspace #-.8 \super 7 }4*5 (tP)2. t2 } \score { << \new Staff { \omit Score.TimeSignature \notes } \new Lyrics \functionsOne \new Lyrics \functionsTwo >> }