TupletSpellingSpecifier

class rhythmmakertools.TupletSpellingSpecifier(avoid_dots=False, flatten_trivial_tuplets=False, is_diminution=True, preferred_denominator=None, rewrite_rest_filled_tuplets=False, simplify_redundant_tuplets=False, use_note_duration_bracket=False)

Tuplet spelling specifier.

Lineage

digraph InheritanceGraph { graph [background=transparent, bgcolor=transparent, color=lightslategrey, fontname=Arial, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, root="__builtin__.object", splines=spline, style="dotted, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=12, penwidth=2, style="filled, rounded"]; edge [color=lightsteelblue2, penwidth=2]; subgraph cluster_abctools { graph [label=abctools]; "abjad.tools.abctools.AbjadObject.AbjadObject" [color=1, group=0, label=AbjadObject, shape=box]; "abjad.tools.abctools.AbjadObject.AbstractBase" [color=1, group=0, label=AbstractBase, shape=box]; "abjad.tools.abctools.AbjadValueObject.AbjadValueObject" [color=1, group=0, label=AbjadValueObject, shape=box]; "abjad.tools.abctools.AbjadObject.AbjadObject" -> "abjad.tools.abctools.AbjadValueObject.AbjadValueObject"; "abjad.tools.abctools.AbjadObject.AbstractBase" -> "abjad.tools.abctools.AbjadObject.AbjadObject"; } subgraph cluster_rhythmmakertools { graph [label=rhythmmakertools]; "abjad.tools.rhythmmakertools.TupletSpellingSpecifier.TupletSpellingSpecifier" [color=black, fontcolor=white, group=2, label=<<B>TupletSpellingSpecifier</B>>, shape=box, style="filled, rounded"]; } subgraph cluster_builtins { graph [label=builtins]; "builtins.object" [color=2, group=1, label=object, shape=box]; } "abjad.tools.abctools.AbjadValueObject.AbjadValueObject" -> "abjad.tools.rhythmmakertools.TupletSpellingSpecifier.TupletSpellingSpecifier"; "builtins.object" -> "abjad.tools.abctools.AbjadObject.AbstractBase"; }

Bases

Attribute summary

avoid_dots Is true when tuplet spelling should avoid dotted rhythmic values.
flatten_trivial_tuplets Is true when tuplet spelling should flatten trivial tuplets.
is_diminution Is true when tuplet should be spelled as diminution.
preferred_denominator Gets preferred denominator.
rewrite_rest_filled_tuplets Is true when tuplet spelling should flatten rest-filled tuplets.
simplify_redundant_tuplets Is true when tuplets should be simplified.
use_note_duration_bracket Is true when tuplet should override tuplet number text with note duration bracket giving tuplet duration.
__copy__(*arguments) Copies Abjad value object.
__eq__(argument) Is true when all initialization values of Abjad value object equal the initialization values of argument.
__format__([format_specification]) Formats Abjad object.
__hash__() Hashes Abjad value object.
__ne__(argument) Is true when Abjad object does not equal argument.
__repr__() Gets interpreter representation of Abjad object.

Read-only properties

TupletSpellingSpecifier.avoid_dots

Is true when tuplet spelling should avoid dotted rhythmic values. Otherwise false.

Defaults to false.

Set to true or false.

Returns true or false.

TupletSpellingSpecifier.flatten_trivial_tuplets

Is true when tuplet spelling should flatten trivial tuplets. Otherwise false.

Defaults to false.

Set to true or false.

Returns true or false.

TupletSpellingSpecifier.is_diminution

Is true when tuplet should be spelled as diminution. Otherwise false.

Defaults to true.

Set to true or false.

Returns true or false.

TupletSpellingSpecifier.preferred_denominator

Gets preferred denominator.

Tuplet numerators and denominators are reduced to numbers that are relatively prime when preferred_denominator is set to none. This means that ratios like 6:4 and 10:8 do not arise:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=None,
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

The preferred denominator of each tuplet is set to the numerator of the division that generates the tuplet when preferred_denominator is set to the string 'divisions'. This means that the tuplet numerator and denominator are not necessarily relatively prime. This also means that ratios like 6:4 and 10:8 may arise:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator='divisions',
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

The preferred denominator of each tuplet is set in terms of a unit duration when preferred_denominator is set to a duration. The setting does not affect the first tuplet:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=Duration(1, 16),
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

Sets the preferred denominator of each tuplet in terms 32nd notes. The setting affects all tuplets:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=Duration(1, 32),
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

Sets the preferred denominator each tuplet in terms 64th notes. The setting affects all tuplets:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=Duration(1, 64),
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

The preferred denominator of each tuplet is set directly when preferred_denominator is set to a positive integer. This example sets the preferred denominator of each tuplet to 8. Setting does not affect the third tuplet:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=8,
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

Sets the preferred denominator of each tuplet to 12. Setting affects all tuplets:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=12,
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

Sets the preferred denominator of each tuplet to 13. Setting does not affect any tuplet:

>>> rhythm_maker = rhythmmakertools.TupletRhythmMaker(
...     tuplet_ratios=[(1, 4)],
...     tuplet_spelling_specifier=rhythmmakertools.TupletSpellingSpecifier(
...         avoid_dots=True,
...         preferred_denominator=13,
...         ),
...     )
>>> divisions = [(2, 16), (4, 16), (6, 16), (8, 16)]
>>> selections = rhythm_maker(divisions)
>>> lilypond_file = rhythmmakertools.make_lilypond_file(
...     selections,
...     divisions,
...     )
>>> show(lilypond_file) 

Defaults to none.

Set to 'divisions', duration, positive integer or none.

Returns 'divisions', duration, positive integer or none.

TupletSpellingSpecifier.rewrite_rest_filled_tuplets

Is true when tuplet spelling should flatten rest-filled tuplets. Otherwise false.

Defaults to false.

Set to true or false.

Returns true or false.

TupletSpellingSpecifier.simplify_redundant_tuplets

Is true when tuplets should be simplified. Otherwise false.

Defaults to false.

Set to true or false

Returns true or false.

TupletSpellingSpecifier.use_note_duration_bracket

Is true when tuplet should override tuplet number text with note duration bracket giving tuplet duration. Otherwise false.

Defaults to false.

Set to true or false.

Returns true or false.

Special methods

(AbjadValueObject).__copy__(*arguments)

Copies Abjad value object.

Returns new Abjad value object.

(AbjadValueObject).__eq__(argument)

Is true when all initialization values of Abjad value object equal the initialization values of argument.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

Set format_specification to ‘’ or ‘storage’. Interprets ‘’ equal to ‘storage’.

Returns string.

(AbjadValueObject).__hash__()

Hashes Abjad value object.

Returns integer.

(AbjadObject).__ne__(argument)

Is true when Abjad object does not equal argument. Otherwise false.

Returns true or false.

(AbjadObject).__repr__()

Gets interpreter representation of Abjad object.

Returns string.