GroupedRhythmicStavesScoreTemplate

class templatetools.GroupedRhythmicStavesScoreTemplate(staff_count=2, with_clefs=None)

Grouped rhythmic staves score template.

>>> from abjad.tools.templatetools import *
>>> template_class = GroupedRhythmicStavesScoreTemplate

Example 1. One voice per staff:

>>> template_1 = template_class(staff_count=4)
>>> score = template_1()
>>> print(format(score))
\context Score = "Grouped Rhythmic Staves Score" <<
    \context StaffGroup = "Grouped Rhythmic Staves Staff Group" <<
        \context RhythmicStaff = "Staff 1" {
            \context Voice = "Voice 1" {
            }
        }
        \context RhythmicStaff = "Staff 2" {
            \context Voice = "Voice 2" {
            }
        }
        \context RhythmicStaff = "Staff 3" {
            \context Voice = "Voice 3" {
            }
        }
        \context RhythmicStaff = "Staff 4" {
            \context Voice = "Voice 4" {
            }
        }
    >>
>>

Example 2. More than one voice per staff:

>>> template_2 = template_class(staff_count=[2, 1, 2])
>>> score = template_2()
>>> print(format(score))
\context Score = "Grouped Rhythmic Staves Score" <<
    \context StaffGroup = "Grouped Rhythmic Staves Staff Group" <<
        \context RhythmicStaff = "Staff 1" <<
            \context Voice = "Voice 1-1" {
            }
            \context Voice = "Voice 1-2" {
            }
        >>
        \context RhythmicStaff = "Staff 2" {
            \context Voice = "Voice 2" {
            }
        }
        \context RhythmicStaff = "Staff 3" <<
            \context Voice = "Voice 3-1" {
            }
            \context Voice = "Voice 3-2" {
            }
        >>
    >>
>>

Example 3. With percussion clefs attached.

>>> template_3 = template_class(
...     staff_count=[2, 1, 2],
...     with_clefs=True,
...     )
>>> score = template_3()
>>> print(format(score))
\context Score = "Grouped Rhythmic Staves Score" <<
    \context StaffGroup = "Grouped Rhythmic Staves Staff Group" <<
        \context RhythmicStaff = "Staff 1" <<
            \clef "percussion"
            \context Voice = "Voice 1-1" {
            }
            \context Voice = "Voice 1-2" {
            }
        >>
        \context RhythmicStaff = "Staff 2" {
            \clef "percussion"
            \context Voice = "Voice 2" {
            }
        }
        \context RhythmicStaff = "Staff 3" <<
            \clef "percussion"
            \context Voice = "Voice 3-1" {
            }
            \context Voice = "Voice 3-2" {
            }
        >>
    >>
>>

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.AbjadObject.AbstractBase" -> "abjad.tools.abctools.AbjadObject.AbjadObject"; } subgraph cluster_templatetools { graph [label=templatetools]; "abjad.tools.templatetools.GroupedRhythmicStavesScoreTemplate.GroupedRhythmicStavesScoreTemplate" [color=black, fontcolor=white, group=2, label=<<B>GroupedRhythmicStavesScoreTemplate</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.AbjadObject.AbjadObject" -> "abjad.tools.templatetools.GroupedRhythmicStavesScoreTemplate.GroupedRhythmicStavesScoreTemplate"; "builtins.object" -> "abjad.tools.abctools.AbjadObject.AbstractBase"; }

Bases

Attribute summary

staff_count Score template staff count.
with_clefs Is true if template should attach percussion clefs.
__call__() Calls score template.
__eq__(argument) Is true when ID of argument equals ID of Abjad object.
__format__([format_specification]) Formats Abjad object.
__hash__() Hashes Abjad object.
__ne__(argument) Is true when Abjad object does not equal argument.
__repr__() Gets interpreter representation of Abjad object.

Read-only properties

GroupedRhythmicStavesScoreTemplate.staff_count

Score template staff count.

>>> template_1.staff_count
4

Returns nonnegative integer.

GroupedRhythmicStavesScoreTemplate.with_clefs

Is true if template should attach percussion clefs. Otherwise false.

Returns true or false.

Special methods

GroupedRhythmicStavesScoreTemplate.__call__()

Calls score template.

Example 1. Call first template:

>>> score_1 = template_1()
>>> print(format(score_1))
\context Score = "Grouped Rhythmic Staves Score" <<
    \context StaffGroup = "Grouped Rhythmic Staves Staff Group" <<
        \context RhythmicStaff = "Staff 1" {
            \context Voice = "Voice 1" {
            }
        }
        \context RhythmicStaff = "Staff 2" {
            \context Voice = "Voice 2" {
            }
        }
        \context RhythmicStaff = "Staff 3" {
            \context Voice = "Voice 3" {
            }
        }
        \context RhythmicStaff = "Staff 4" {
            \context Voice = "Voice 4" {
            }
        }
    >>
>>

Example 2. Call second template:

>>> score_2 = template_2()
>>> print(format(score_2))
\context Score = "Grouped Rhythmic Staves Score" <<
    \context StaffGroup = "Grouped Rhythmic Staves Staff Group" <<
        \context RhythmicStaff = "Staff 1" <<
            \context Voice = "Voice 1-1" {
            }
            \context Voice = "Voice 1-2" {
            }
        >>
        \context RhythmicStaff = "Staff 2" {
            \context Voice = "Voice 2" {
            }
        }
        \context RhythmicStaff = "Staff 3" <<
            \context Voice = "Voice 3-1" {
            }
            \context Voice = "Voice 3-2" {
            }
        >>
    >>
>>

Returns score.

(AbjadObject).__eq__(argument)

Is true when ID of argument equals ID of Abjad object. Otherwise false.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

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

Returns string.

(AbjadObject).__hash__()

Hashes Abjad object.

Required to be explicitly redefined on Python 3 if __eq__ changes.

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.