Am Dienstag, 19. November 2024, 14:41:03 MEZ schrieb Thomas Morley: > > Though possibly this would need > > > > \override Hairpin.to-barline = > > > > #(ly:make-unpure-pure-container > > > > (lambda (grob) > > > > (let* ((right-bound (ly:spanner-bound grob RIGHT)) > > > > (nhds (ly:grob-object right-bound 'note-heads))) > > > > (not (ly:grob-array? nhds))))) > > > > to deal with hairpins broken across lines? > > i haven't noticed any problems with linebreaks with the code above. > Though, my testings were pretty minimalistic ...
As far as I understand there is no need for pure-unpure stuff for to-barline, as this property is only really accessed during translation, and not after page breaking. The property is read by the Bar engraver, which will acknowledge any Spanner with to-barline #t (at translation, so changing the value at a later point won’t have any effect). The engraver will then simply set the right bound of the spanner to the barline. When broken this will naturally only affect the ending sibling. Most importantly, the effect of to-barline will not depend on the page breaking. Cheers, Valentin
signature.asc
Description: This is a digitally signed message part.