musicscore.quarterduration

class musicscore.quarterduration.QuarterDuration(*value)[source]

Bases: Rational

A Class specifically designed for durations measured in quarters. The core of this class is a value of type ‘’fractions.Fraction’’ with a denominator limit of 1000, thus it can manage conversion of floats to fractions without usual inaccuracies of quintuples etc. See value property for more information. QuarterDuration has all needed magic methods for numeral comparison and conversion.

as_integer_ratio()[source]
Returns:

(numerator, denominator)

Return type:

tuple

>>> QuarterDuration(1, 5).as_integer_ratio()
(1, 5)
get_number_of_dots() int | None[source]
Returns:

Number of note dots associated with quarter duration

get_tuplet_ratio() tuple | None[source]
get_type() str | None[source]
Returns:

Note type associated with quarter duration

property beat_quarter_duration
property beat_subdivision
property denominator
Returns:

Fraction’s denominator.

Return type:

int

>>> QuarterDuration(1, 6).denominator
6
property numerator
Returns:

Fraction’s numerator.

Return type:

int

>>> QuarterDuration(1, 6).numerator
1
property type_and_dots
property value
Returns:

QuarterDuration’s value

Return type:

fractions.Fraction with limit_denominator(1000)

>>> QuarterDuration(3, 7).value
Fraction(3, 7)
>>> QuarterDuration(0.2).value
Fraction(1, 5)
>>> QuarterDuration(Fraction(1, 5)).value
Fraction(1, 5)
>>> QuarterDuration(1/5).value
Fraction(1, 5)
class musicscore.quarterduration.QuarterDurationMixin(quarter_duration=None, *args, **kwargs)[source]

Bases: object

Mixin for all Classes with a quarter_duration. Used in Note, Chord and Beat

property quarter_duration: QuarterDuration

Set and get the duration measured in quarters.

Setting value can be of types int, float, fractions.Fraction, QuarterDuration