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
239 stars 39 forks source link

Removed indicator "direction". Added abjad.attach(..., direction=None). #1429

Closed trevorbaca closed 2 years ago

trevorbaca commented 2 years ago

BREAKING CHANGE. The 10 indicators that previously implemented a direction attribute no longer implement that attribute. Use the new abjad.attach(..., direction=None) keyword instead:

OLD: articulation = abjad.Articulation(".", direction=abjad.Up)
     abjad.attach(articulation, note)
NEW: articulation = abjad.Articulation(".")
     abjad.attach(articulation, note, direction=abjad.Up)

OLD: dynamic = abjad.Dynamic("f", direction=abjad.Up)
     abjad.attach(dynamic, note)
NEW: dynamic = abjad.Dynamic("f")
     abjad.attach(dynamic, note, direction=abjad.Up)

OLD: markup = abjad.Markup(r"\markup Allegro", direction=abjad.Up)
     abjad.attach(markup, note)
NEW: markup = abjad.Markup(r"\markup Allegro")
     abjad.attach(dynamic, markup, direction=abjad.Up)

OLD: repeat_tie = abjad.RepeatTie(direction=abjad.Up)
     abjad.attach(repeat_tie, note)
NEW: repeat_tie = abjad.RepeatTie()
     abjad.attach(repeat_tie, note, direction=abjad.Up)

OLD: start_beam = abjad.StartBeam(direction=abjad.Up)
     abjad.attach(start_beam, note)
NEW: articulation = abjad.Articulation(".")
     abjad.attach(articulation, note, direction=abjad.Up)

OLD: start_hairpin = abjad.StartHairpin(direction=abjad.Up)
     abjad.attach(start_hairpin, note)
NEW: start_hairpin = abjad.StartHairping()
     abjad.attach(start_hairpin, note, direction=abjad.Up)

OLD: start_phrasing_slur = abjad.StartPhrasingSlur(direction=abjad.Up)
     abjad.attach(start_phrasing_slur, note)
NEW: start_phrasing_slur = abjad.StartPhrasingSlur()
     abjad.attach(start_phrasing_slur, note, direction=abjad.Up)

OLD: start_slur = abjad.StartSlur(direction=abjad.Up)
     abjad.attach(start_slur, note)
NEW: start_slur = abjad.StartSlur()
     abjad.attach(start_slur, note, direction=abjad.Up)

OLD: start_text_span = abjad.StartTextSpan(direction=abjad.Up)
     abjad.attach(start_text_span, note)
NEW: start_text_span = abjad.StartTextSpan()
     abjad.attach(start_text_span, note, direction=abjad.Up)

OLD: tie = abjad.Tie(direction=abjad.Up)
     abjad.attach(tie, note)
NEW: tie = abjad.Tie()
     abjad.attach(tie, note, direction=abjad.Up)

Additionally, abjad.ColorFingering and abjad.KeyCluster should now also be directed with the abjad.attach(..., direction=None) keyword:

OLD: fingering = abjad.ColorFingering(1)
     abjad.attach(fingering, note)
NEW: fingering = abjad.ColorFingering(1)
     abjad.attach(fingering, note, direction=abjad.Up)

OLD: cluster = abjad.KeyCluster()
     abjad.attach(cluster, note)
NEW: cluster = abjad.KeyCluster()
     abjad.attach(cluster, note, direction=abjad.Up)

This closes #748, from August 2016, Abjad's oldest open issue.