\version "2.19.15" %% functions for grob creation are adapted from `scheme-text-spanner.ly' \header { tagline = ##f } #(define-event-class 'piano-bracket-event 'music-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 symbol2.\arpeggio \override PianoBracket.font-size = #-2 \pianoBracket 4\arpeggio } \new Voice { \voiceTwo \override PianoBracket.text = #"LH" \pianoBracket 2.\arpeggio \override PianoBracket.protrusion = #-2 \override PianoBracket.font-size = #-2 \override PianoBracket.font-shape = #'italic \pianoBracket 4\arpeggio } >> >> \layout { \context { \Global \grobdescriptions #all-grob-descriptions } \context { \Voice \consists #piano-bracket-engraver } } }