lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

difficulty implementing grob-suicide! for spanned bendAfter


From: Mike Solomon
Subject: difficulty implementing grob-suicide! for spanned bendAfter
Date: Thu, 09 Jul 2009 23:48:21 -0400
User-agent: Microsoft-Entourage/11.4.0.080122

Hey lilypond-users,
    I am working on a piece with lots of beams/events across staves, many of
which have bendAfter attached to them.  The spanned bend after clashes with
some other stuff in the work, so I wanted to kill it w/ a callback function,
but after having written the bit of code below I came to realize that this
didn't exist as I was conceiving it (should have checked the docs first...).
Taking a peek at the code below, do any of you have suggestions for how I
could make this work?

Thank you!
~Mike

\version "2.13.0"

#(define (bendcallback grob)
        (let*
                (
                        (orig (ly:grob-original grob))
                        (siblings (if (ly:grob? orig)
(ly:spanner-broken-into orig) '() ))
                )
                (begin (format #t "I will print if this function is
called.\n") (if
                        (>= (length siblings) 2)
                        (if (not (eqv? grob (car siblings)))
                                (ly:grob-suicide! grob)
                        )
                ))
        )
)

\score {{ \new Staff {
\relative c'' { \override Voice . BendAfter #'after-line-break = #(lambda
(grob) (bendcallback grob)) r4 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAf
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
                \bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1
\bendAfter #-3 c1 \bendAfter #-3 c1 \bendAfter #-3 c1 }
}}}
\layout {
\context {
\Voice
\remove "Forbid_line_break_engraver"
}
}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]