Abjad / abjad

Abjad is a Python API for building LilyPond files. Use Abjad to make PDFs of music notation.
https://abjad.github.io
GNU General Public License v3.0
234 stars 41 forks source link

Fixed duplicated dynamics corner case. #1554

Closed trevorbaca closed 11 months ago

trevorbaca commented 11 months ago

In Abjad 3.18, this fails to raise an exception:

voice = abjad.Voice("c'4")
bundle = abjad.bundle(
    abjad.Dynamic("p"),
    abjad.Tweak(r"- \tweak color #red"),
)
abjad.attach(bundle, voice[0])
abjad.attach(abjad.Dynamic("f"), voice[0])
string = abjad.lilypond(voice)
print(string)

As of this commit, the code above now raises abjad.PersistentIndicatorError.

Closes #1553.

ALSO:

Added to-barline = ##f to arrowed line styles.

These are Abjad's two arrowed line styles:

Both now include ...

- \tweak to-barline ##f

... because arrow line styles should always connect right to their stop leaf; allowing to-bareline = ##t means that arrow line styles sometimes leave a gap before their stop leaf.