Hi Malte,

I may be able to work with something like below.

Why do you have to use cadr and not cdr on the ly:grob-set-property line?
Isn't the broken part the second item in a list of two items? How to
understand this?

%====
\version "2.19.82"

% simple debug print
#(define (dbg . args)
   "Simple debug console print."
   (cond
    ((not (null? args))
     (display (car args))
     (display " ")
     (apply dbg (cdr args)))
    (else (newline))
    )
   )

music = {

  \override Hairpin.after-line-breaking =
  #(lambda (grob)
     (let* ((orig (ly:grob-original grob))
            (siblings (if (ly:grob? orig)
                          (ly:spanner-broken-into orig) '())))
       (dbg "here")
       (dbg grob)
       (dbg "length of siblings list:" (length siblings))
       (dbg siblings)
       (if (and (pair? siblings) (equal? grob (cadr siblings)))
           (ly:grob-set-property! grob 'color #'red
             ))))

  c'4 c' c' c'\<
  \break
  c' c'\! c' c'

}

\score {
  \new Staff {
    \music
  }
  \layout {
  }
}
$====
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to