'sHi everybody, I'm getting cyclic dependency problems with laissez vibrer ties attached to cross-staff notes which seems harmless in a minimal snippet, but more serious in a real music example. It appears to have been introduced following the fix for issue #881, which made the LaissezVibrerTie print callback pure using a wrapper around ly:tie::print.
Here's a minimal example which produces unobjectionable output, but spits out programming errors: \version "2.13.33" << \new Staff = "up" \relative c'' { c8 \change Staff = "down" c,8\laissezVibrer \change Staff = "up" c'8 c } \new Staff = "down" { s2 } >> -> programming error: cyclic dependency: calculation-in-progress encountered for #'direction (Stem) -> c,8\laissezVibrer In a real score, it's more serious, since it's preventing automatic kneed beams from working; in this case the (voluminous) errors are for adjacent-pure-heights: -> programming error: cyclic dependency: calculation-in-progress encountered for #'adjacent-pure-heights (VerticalAxisGroup) Though I can fix this easily using a 'cross-staff callback which reads the Stem's value, \override LaissezVibrerTie #'cross-staff = #(lambda (grob) (let* ((note-head (ly:grob-object grob 'note-head)) (stem (ly:grob-object note-head 'stem))) (and stem (ly:grob-property stem 'cross-staff)))) I wondered whether this is the right approach; perhaps we should rethink the fix for issue #881 instead. Cheers, Neil _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel