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

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to