Repository navigation
v3.30
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()