Skip to content

v3.30

Choose a tag to compare

@trevorbaca trevorbaca released this 03 Oct 15:30
· 6 commits to main since this release
v3.30
2a9b86c

Abjad 3.30 works with Python 3.12 (and later) and LilyPond 2.25.26 (and later).


#1819 Remove abjad.LogicalTie

3.29: abjad.get.logical_tie() returned abjad.LogicalTie
3.30: abjad.get.logical_tie() returns list of leaves

3.29:
    abjad.select.logical_tie() returned abjad.LogicalTie
    abjad.select.logical_ties() returned list of abjad.LogicalTie
3.30
    abjad.select.logical_tie() returns list of leaves
    abjad.select.logical_ties() returns list of list of leaves

#1818 Remove abjad.sequence.weight()

Use abjad.math.weight() instead

The functions duplicate each other


#1816 Change abjad.Note.multiplier to abjad.Note.dmp

Change abjad.Note.multiplier to abjad.Note.dmp.

3.29:
    abjad.Note(string: str, multiplier: pair[int, int] = None)
    abjad.Note.set_multiplier(pair: tuple[int, int])
3.30:
    abjad.Note(string: str, dmp: pair[int, int] = None)
    abjad.Note.set_dmp(pair: tuple[int, int])

The acronym "dmp" stands for "duaration-multiplier pair."

The name reflects the fact that the ratio n/d does not reduce.

This means that ...

c'4 * 1/2
c'4 * 2/4
c'4 * 4/8

... are all possible, as in any LilyPond input file.

By contrast, the Abjad codebase prefers to use the term "multiplier" to refer to a fractions.Fraction object, all of which are automatically reduced at initialization. It is not possible to express 2/4, 4/8 etc using built-in fractions.


#1808 Add comparison operators to abjad.Duration:

OLD: abjad.Duration().fraction()
NEW: abjad.Duration().as_fraction()

@trevorbaca