And this is my attempt (see droeyende.ly). For the alignment I used 2 force-hshift overrides (in voices 3 and 4). You can certainly use arpeggioBracket here, but it is so inconvenient: - put the Span_arpeggio_engraver in the right place - turn on connectArpeggios - apply arpeggioBracket only once - give it a hidden note - don't forget \arpeggio too And then take care that the hidden note doesn't upset the whole applecart!

But this doesn't mean you have to resort to Postscript. You can instead tweak the position(s) of a non-spanning arpeggio bracket. The easyChBr function does this here. Cheers,
Robin

\version "2.12.1"

easyChBr = #(define-music-function (parser location grow) (number?)
  ;% easy chord bracket; extendable in one staff without connectArpeggios 
#{ % apply in one voice, supplying growth parameter: + = up, - = down 
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
  \once \override Arpeggio #'positions  = #(lambda (grob)
    (let ((iv (ly:arpeggio::calc-positions grob))
          (grow-hi (max 0 (/ $grow 2)))
          (grow-lo (min 0 (/ $grow 2))))
      (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
  $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})

tenorUp = { 
  e8[ d'!8] <e d'>8 <e c'>8 <e b>4 
}

tenorDown = { 
  \easyChBr #6  \override Arpeggio #'padding = #0.3
  e4 
  s2 
}

bassUp = { 
  \override Stem #'(details beamed-lengths) = #(make-list 4 2.5)
  \override Stem #'(details beamed-extreme-minimum-free-lengths) = #(make-list 2 1.5)
  b,8[ 
  \once \override NoteColumn #'force-hshift = #0
  d!8] 
  s2 
}

bassDown = { 
  \once \override NoteColumn #'force-hshift = #1
  \easyChBr #4  \override Arpeggio #'padding = #0
  e,4 
  <e, d>8 <e, c>8 <e, b,>4 
}

\score {
  \new Staff \with {
    \remove Time_signature_engraver
    \remove Clef_engraver
  } 
  {
    \clef bass
    \set Score.autoBeaming = ##f
    { s1 << \tenorUp \\ \tenorDown \\ \bassUp \\ \bassDown \\ s1 >> }
  }
}

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to