Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove abjad.Multiplier, abjad.Ratio, abjad.NonreducedFraction, abjad.NonreducedRatio #1515

Closed
trevorbaca opened this issue Feb 23, 2023 · 0 comments · Fixed by #1516
Closed
Assignees
Labels
Milestone

Comments

@trevorbaca
Copy link
Member

That is:

OLD: abjad.Multiplier
NEW: use built-in fractions.Fraction instead

OLD: abjad.NonreducedFraction
NEW: use (int, int) pair instead

OLD: abjad.NonreducedRatio
NEW: use (int, ...) tuple instead

OLD: abjad.Ratio
NEW: use (int, ...) tuple instead

BREAKING CHANGE. Leaf multiplier now returns a nonreduced fraction.

OLD: Leaf.multiplier could be either multiplier or nonreduced multiplier.
NEW: Leaf.multiplier is always an (int, int) pair.

BREAKING CHANGE. abjad.Tuplet.multiplier has changed:

OLD: abjad.Tuplet.multiplier accepted the following:
     string, pair, duration, fraction, multiplier, nonreduced fraction
NEW: abjad.Tuplet.multiplier accepts only string and pair

OLD: abjad.Tuplet.multiplier returned nonreduced fraction (or none)
NEW: abjad.Tuplet.multiplier returns pair (or none)

OLD:

    >>> abjad.Tuplet("3:2", "c'4 d' e'")
    >>> abjad.Tuplet((2, 3), "c'4 d' e'")
    >>> abjad.Tuplet(abjad.Multiplier(2, 3), "c'4 d' e'")
    >>> abjad.Tuplet(abjad.Fraction(2, 3), "c'4 d' e'")
    >>> abjad.Tuplet(abjad.NonreducedFraction(2, 3), "c'4 d' e'")

NEW:

    >>> abjad.Tuplet("3:2", "c'4 d' e'")
    >>> abjad.Tuplet((2, 3), "c'4 d' e'")

OLD: tuplet.multplier == 1
NEW: tuplet.multplier == (1, 1)
NEW: abjad.Fraction(*tuplet.multplier) == 1

CHANGED. Replaced abjad.Duration.with_denominator().

OLD:
    >>> abjad.Duration(1, 4).with_denominator(16)
    NonreducedFraction(4, 16)

NEW:
    >>> duration = abjad.Duration(1, 4)
    >>> pair = abjad.duration.with_denominator(duration, 16)
    >>> pair
    (4, 16)

    >>> abjad.NonreducedFraction(pair)
    NonreducedFraction(4, 16)

CHANGED. Constrained rhythmtree preprolated duration.

OLD: int, pair, duration, nonreduced fraction
NEW: pair, duration, nonreduced fraction

CHANGED. Set several sequence.py parameters keyword-only.

NEW. Added abjad.duration.pair():

>>> abjad.duration.pair((3, 6))
(3, 6)

>>> abjad.duration.pair(abjad.Fraction(3, 6))
(1, 2)

>>> abjad.duration.pair(abjad.Duration(3, 6))
(1, 2)

>>> abjad.duration.pair(abjad.Offset((3, 6)))
(1, 2)

>>> abjad.duration.pair(abjad.TimeSignature((3, 6)))
(3, 6)

NEW. Added abjad.duration.add_pairs().

@trevorbaca trevorbaca added this to the 3.16 milestone Feb 23, 2023
@trevorbaca trevorbaca self-assigned this Feb 23, 2023
trevorbaca added a commit that referenced this issue Feb 23, 2023
Closes #1515.

REMOVED: abjad.Multiplier, abjad.NonreducedFraction, abjad.NonreducedRatio,
abjad.Ratio.

    OLD: abjad.Multiplier
    NEW: use built-in fractions.Fraction instead

    OLD: abjad.NonreducedFraction
    NEW: use (int, int) pair instead

    OLD: abjad.NonreducedRatio
    NEW: use (int, ...) tuple instead

    OLD: abjad.Ratio
    NEW: use (int, ...) tuple instead

BREAKING CHANGE. Leaf multiplier now returns a nonreduced fraction.

    OLD: Leaf.multiplier could be either multiplier or nonreduced multiplier.
    NEW: Leaf.multiplier is always an (int, int) pair.

BREAKING CHANGE. abjad.Tuplet.multiplier has changed:

    OLD: abjad.Tuplet.multiplier accepted the following:
         string, pair, duration, fraction, multiplier, nonreduced fraction
    NEW: abjad.Tuplet.multiplier accepts only string and pair

    OLD: abjad.Tuplet.multiplier returned nonreduced fraction (or none)
    NEW: abjad.Tuplet.multiplier returns pair (or none)

    OLD:

        >>> abjad.Tuplet("3:2", "c'4 d' e'")
        >>> abjad.Tuplet((2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.Multiplier(2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.Fraction(2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.NonreducedFraction(2, 3), "c'4 d' e'")

    NEW:

        >>> abjad.Tuplet("3:2", "c'4 d' e'")
        >>> abjad.Tuplet((2, 3), "c'4 d' e'")

    OLD: tuplet.multplier == 1
    NEW: tuplet.multplier == (1, 1)
    NEW: abjad.Fraction(*tuplet.multplier) == 1

CHANGED. Replaced abjad.Duration.with_denominator().

    OLD:
        >>> abjad.Duration(1, 4).with_denominator(16)
        NonreducedFraction(4, 16)

    NEW:
        >>> duration = abjad.Duration(1, 4)
        >>> pair = abjad.duration.with_denominator(duration, 16)
        >>> pair
        (4, 16)

        >>> abjad.NonreducedFraction(pair)
        NonreducedFraction(4, 16)

CHANGED. Constrained rhythmtree preprolated duration.

    OLD: int, pair, duration, nonreduced fraction
    NEW: pair, duration, nonreduced fraction

CHANGED. Set several sequence.py parameters keyword-only.

NEW. Added abjad.duration.pair():

    >>> abjad.duration.pair((3, 6))
    (3, 6)

    >>> abjad.duration.pair(abjad.Fraction(3, 6))
    (1, 2)

    >>> abjad.duration.pair(abjad.Duration(3, 6))
    (1, 2)

    >>> abjad.duration.pair(abjad.Offset((3, 6)))
    (1, 2)

    >>> abjad.duration.pair(abjad.TimeSignature((3, 6)))
    (3, 6)

NEW. Added abjad.duration.add_pairs().
trevorbaca added a commit that referenced this issue Feb 23, 2023
Closes #1515.

REMOVED: abjad.Multiplier, abjad.NonreducedFraction, abjad.NonreducedRatio,
abjad.Ratio.

    OLD: abjad.Multiplier
    NEW: use built-in fractions.Fraction instead

    OLD: abjad.NonreducedFraction
    NEW: use (int, int) pair instead

    OLD: abjad.NonreducedRatio
    NEW: use (int, ...) tuple instead

    OLD: abjad.Ratio
    NEW: use (int, ...) tuple instead

BREAKING CHANGE. Leaf multiplier now returns a nonreduced fraction.

    OLD: Leaf.multiplier could be either multiplier or nonreduced multiplier.
    NEW: Leaf.multiplier is always an (int, int) pair.

BREAKING CHANGE. abjad.Tuplet.multiplier has changed:

    OLD: abjad.Tuplet.multiplier accepted the following:
         string, pair, duration, fraction, multiplier, nonreduced fraction
    NEW: abjad.Tuplet.multiplier accepts only string and pair

    OLD: abjad.Tuplet.multiplier returned nonreduced fraction (or none)
    NEW: abjad.Tuplet.multiplier returns pair (or none)

    OLD:

        >>> abjad.Tuplet("3:2", "c'4 d' e'")
        >>> abjad.Tuplet((2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.Multiplier(2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.Fraction(2, 3), "c'4 d' e'")
        >>> abjad.Tuplet(abjad.NonreducedFraction(2, 3), "c'4 d' e'")

    NEW:

        >>> abjad.Tuplet("3:2", "c'4 d' e'")
        >>> abjad.Tuplet((2, 3), "c'4 d' e'")

    OLD: tuplet.multplier == 1
    NEW: tuplet.multplier == (1, 1)
    NEW: abjad.Fraction(*tuplet.multplier) == 1

CHANGED. Replaced abjad.Duration.with_denominator().

    OLD:
        >>> abjad.Duration(1, 4).with_denominator(16)
        NonreducedFraction(4, 16)

    NEW:
        >>> duration = abjad.Duration(1, 4)
        >>> pair = abjad.duration.with_denominator(duration, 16)
        >>> pair
        (4, 16)

        >>> abjad.NonreducedFraction(pair)
        NonreducedFraction(4, 16)

CHANGED. Constrained rhythmtree preprolated duration.

    OLD: int, pair, duration, nonreduced fraction
    NEW: pair, duration, nonreduced fraction

CHANGED. Set several sequence.py parameters keyword-only.

NEW. Added abjad.duration.pair():

    >>> abjad.duration.pair((3, 6))
    (3, 6)

    >>> abjad.duration.pair(abjad.Fraction(3, 6))
    (1, 2)

    >>> abjad.duration.pair(abjad.Duration(3, 6))
    (1, 2)

    >>> abjad.duration.pair(abjad.Offset((3, 6)))
    (1, 2)

    >>> abjad.duration.pair(abjad.TimeSignature((3, 6)))
    (3, 6)

NEW. Added abjad.duration.add_pairs().
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant