[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Workaround for issue 6307
From: |
Knute Snortum |
Subject: |
Re: Workaround for issue 6307 |
Date: |
Fri, 8 Apr 2022 14:31:30 -0700 |
On Fri, Apr 8, 2022 at 1:01 PM Jean Abou Samra <jean@abou-samra.fr> wrote:
>
> Le 08/04/2022 à 21:54, Knute Snortum a écrit :
> > Hi everyone.
> >
> > I am looking for a workaround for issue 6307 [1].
[snip]
>
> Probably
>
> \version "2.22.2"
>
> \layout {
> \context {
> \Staff
> \consists
> #(lambda (context)
> (let ((beam #f)
> (staff-symbol #f))
> (make-engraver
> (acknowledgers
> ((beam-interface engraver grob source-engraver)
> (set! beam grob))
> ((staff-symbol-interface engraver grob source-engraver)
> (set! staff-symbol grob)))
> ((stop-translation-timestep engraver)
> (if (and beam staff-symbol)
> (ly:grob-set-object! beam 'staff-symbol staff-symbol))
> (set! beam #f)))))
> }
> }
>
> \new Staff \with { \magnifyStaff #2/3 }
> {
> \relative c'' {
> \tuplet 3/2 {
> d8 c b
> } \stopStaff \grace { s8 } s4
> }
> }
>
> Beams are created in a delayed manner, one 'time step' later than their
> last note. Grobs are given staff symbols at the point they are
> created. If you end the staff symbol right after the beam, this logic
> gets defeated.
Works like a charm, thanks! Should I post this to the Issues page?