Closed trevorbaca closed 2 months ago
LilyPond \afterGrace must lexically precede LilyPond \pitchedTrill. Versions of Abjad up to (and including) 3.19 get this wrong. This bug produces strange visual output. But LilyPond raises no error.
\afterGrace
\pitchedTrill
Consider this example:
voice = abjad.Voice("c'1") abjad.setting(voice[0]).Score.proportionalNotationDuration = "#(ly:make-moment 1/16)" container = abjad.IndependentAfterGraceContainer("e'8", fraction=(15, 16)) voice.append(container) voice.append("r4") start_trill_span = abjad.StartTrillSpan(pitch=abjad.NamedPitch("D4")) abjad.attach(start_trill_span, voice[0]) stop_trill_span = abjad.StopTrillSpan() abjad.attach(stop_trill_span, voice[-1])
Abjad 3.19 produces this output:
string = abjad.lilypond(voice) print(string)
\new Voice { \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \pitchedTrill \afterGrace 15/16 c'1 \startTrillSpan d' { e'8 } r4 \stopTrillSpan }
Abjad 3.20 fixes the bug and produces this output instead:
\new Voice { \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \afterGrace 15/16 \pitchedTrill c'1 \startTrillSpan d' { e'8 } r4 \stopTrillSpan }
LilyPond
\afterGrace
must lexically precede LilyPond\pitchedTrill
. Versions of Abjad up to (and including) 3.19 get this wrong. This bug produces strange visual output. But LilyPond raises no error.Consider this example:
Abjad 3.19 produces this output:
Abjad 3.20 fixes the bug and produces this output instead: