Hey Robin!
Thank you, this works just fine in this case. What would be really neat now would be the ability to parenthesize entire chordal passages, so with the left half around one chord and the right half around some other chord later on in the music. So like a combination of this function:
startParenthesis = {
\once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
(list (car par-list) point-stencil )))
}
endParenthesis = {
\once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
(list point-stencil (cadr par-list))))
}
And this function:
parch = #(define-music-function (parser location gap) (number?)
#{
\once \override Arpeggio #'stencil = #(lambda (grob)
(ly:stencil-add
(ly:arpeggio::brew-chord-slur grob)
(ly:stencil-translate-axis
(ly:stencil-rotate (ly:arpeggio::brew-chord-slur grob) 180 0 0)
gap X)))
\once \override Arpeggio #'X-extent = #(lambda (grob)
(ly:stencil-extent (ly:arpeggio::brew-chord-slur grob) X))
\once \override Arpeggio #'positions = #(lambda (grob)
(interval-widen (ly:arpeggio::calc-positions grob) 0.5))
$(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})
Here's a sample of the startParenthesis/endParenthesis in use:
\version "2.19.65"
startParenthesis = {
\once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
(list (car par-list) point-stencil )))
}
endParenthesis = {
\once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
(list point-stencil (cadr par-list))))
}
\relative c' { \override ParenthesesItem.font-size = #2
c d \startParenthesis \parenthesize e f
g a \endParenthesis \parenthesize b c
}
Any takers?
Regards,
Brent.