Hi all! I currently have a function that accesses some grobs through their "containers"(NoteHeads/Accidentals in NoteColumns, Ties in TieColumns) and lets me tweak properties (individually if needed) of each. This is done in a single override so it works with the Edition Engraver. But I've come up with a situation which I don't know how to handle.
I just noticed that when a Tie (or Ties) crosses a line break, two TieColumns are generated, one containing each "half". See: > \version "2.19.80" > inspectTies = > #(define-music-function (example-name) (string?) > #{ \override TieColumn.before-line-breaking = > #(lambda (tc) > (let ((ties (ly:grob-object tc 'ties))) > (pretty-print (format "~a, before line breaking: ~a" example-name > ties)))) > \override TieColumn.after-line-breaking = > #(lambda (tc) > (let ((ties (ly:grob-object tc 'ties))) > (pretty-print (format "~a, after line breaking: ~a" example-name > ties)))) #} ) > \score { > \relative c'' { > <c g e>1~ \break | > \inspectTies "With a chord" q > } > } > \score { > \relative c'' { > c1~ \break | > \inspectTies "With a note" c > } > } > \score { > \relative c'' { > c1~ | > \inspectTies "With a note and no line breaking" c > } > } > > > Gives the following output in the Lilypond Log: > "With a chord, before line breaking: #<Grob_array#<Grob Tie > #<Grob Tie > > #<Grob Tie > >" > > "With a note, before line breaking: #<Grob_array#<Grob Tie > >" > > "With a note and no line breaking, before line breaking: > #<Grob_array#<Grob Tie > >" > > "With a chord, after line breaking: #<Grob_array#<Grob Tie > #<Grob Tie > > #<Grob Tie > >" > > "With a chord, after line breaking: #<Grob_array#<Grob Tie > #<Grob Tie > > #<Grob Tie > >" > > "With a note, after line breaking: #<Grob_array#<Grob Tie > >" > > "With a note, after line breaking: #<Grob_array#<Grob Tie > >" > > "With a note and no line breaking, after line breaking: #<Grob_array#<Grob > Tie > >" > Since both TieColumns seem to exist in the same moment, how can I differentiate between the two? More specifically, how can I make sure that I'm in the TieColumn that is on the second system? Say, for instance, that I want to get to the ties contained in a TieColumn and modify some properties. Getting to the Ties that are on the end of the first system is easy because I can do that through TieColumn.before-line-breaking, which takes effect before the Ties are "split". But how can I make sure I'm in the second one? I don't know what property I could check. Any help would be greatly appreciated! Stéfano
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user