scamp.score.Tuplet
- class scamp.score.Tuplet(tuplet_divisions: int, normal_divisions: int, division_length: float, contents: Optional[Sequence[NoteLike]] = None)[source]
Bases:
ScoreComponent
,ScoreContainer
Representation of a Tuplet object within a single voice of music. Reads as: tuplet_divisions in the space of normal_divisions of division_length e.g. 7, 4, and 0.25 would mean ‘7 in the space of 4 sixteenth notes’
- Parameters:
tuplet_divisions – The new number that the tuplet is divided into
normal_divisions – the normal number of divisions of division_length that would fill the time
division_length – length in quarter notes of the tuplet note type
contents – List of NoteLike objects (notes and rests) contained in this tuplet
- Variables:
tuplet_divisions – The new number that the tuplet is divided into
normal_divisions – the normal number of divisions of division_length that would fill the time
division_length – length in quarter notes of the tuplet note type
Methods
Factor by which the amount of "room" in the tuplet is expanded.
from_length_and_divisor
(length, divisor)Constructs and returns the appropriate tuplet from the length and the divisor.
length
()The actual length, in quarter notes, of the tuplet from the outside.
The length, in quarter notes, of the tuplet from the inside.
to_music_xml
([source_id_dict])Convert this score component to its corresponding pymusicxml component
Inherited Methods
append
(item)Add a child ScoreComponent of the appropriate type
export_lilypond
(file_path[, non_score_blocks])Convert and wrap as a LilyPond (.ly) file, and save to the given path.
export_music_xml
(file_path[, pretty_print])Convert and wrap as a MusicXML score, and save to the given path.
export_pdf
(file_path[, non_score_blocks])Exports score as a PDF file and saves it to the given file_path
extend
(items)Add several child ScoreComponents of the appropriate type
index
(item)Get the index of the given child ScoreComponent
insert
(index, item)Insert a child ScoreComponent at the given index.
pop
([i])Pop and return the child ScoreComponent at the given index.
print_lilypond
([wrap_as_file, non_score_blocks])Convert and print LilyPond code, via the abjad library.
print_music_xml
([pretty_print])Convert and wrap as a MusicXML score, and print the resulting XML.
remove
(item)Remove the given child ScoreComponent.
show
([non_score_blocks])Using the abjad.show command, generates and opens a PDF of the music represented by this component
show_xml
()Convert and wrap as a MusicXML score, and open it up in notation software.
to_abjad
([wrap_as_file, non_score_blocks])Convert this score component to its corresponding abjad component
to_lilypond
([wrap_as_file, non_score_blocks])Convert to LilyPond code, via the abjad library.
Attributes
List of NoteLike objects (notes and rests) contained in this tuplet
- classmethod from_length_and_divisor(length: float, divisor: int) Tuplet | None [source]
Constructs and returns the appropriate tuplet from the length and the divisor. Returns None if no tuplet needed.
- Parameters:
length – length of the beat in quarters
divisor – divisor for the beat
- Returns:
a Tuplet, or None
- property contents: Sequence[NoteLike]
List of NoteLike objects (notes and rests) contained in this tuplet
- dilation_factor() float [source]
Factor by which the amount of “room” in the tuplet is expanded. E.g. in a tripet, this factor is 3/2, since you can fit 3/2 as much stuff in there.
- to_music_xml(source_id_dict=None) Tuplet [source]
Convert this score component to its corresponding pymusicxml component
- append(item: ScoreComponent) None
Add a child ScoreComponent of the appropriate type
- export_lilypond(file_path: str, non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) None
Convert and wrap as a LilyPond (.ly) file, and save to the given path.
- Parameters:
file_path – file path to save to
non_score_blocks – a list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad); typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- export_music_xml(file_path: str, pretty_print: bool = True) None
Convert and wrap as a MusicXML score, and save to the given path.
- Parameters:
file_path – file path to save to
pretty_print – whether or not to take the extra space and format the file with indentations, etc.
- export_pdf(file_path: str, non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) None
Exports score as a PDF file and saves it to the given file_path
- Parameters:
file_path – where to save the PDF
non_score_blocks – a list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad); typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- extend(items) None
Add several child ScoreComponents of the appropriate type
- index(item) int
Get the index of the given child ScoreComponent
- insert(index, item) None
Insert a child ScoreComponent at the given index.
- pop(i=-1) ScoreComponent
Pop and return the child ScoreComponent at the given index.
- print_lilypond(wrap_as_file: bool = False, non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) None
Convert and print LilyPond code, via the abjad library.
- Parameters:
wrap_as_file – if True, wraps this as an
abjad.LilypondFile
non_score_blocks – (Only applicable if wrap_as_file is set to True). A list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad). Typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- print_music_xml(pretty_print: bool = True) None
Convert and wrap as a MusicXML score, and print the resulting XML.
- Parameters:
pretty_print – whether or not to take the extra space and format the file with indentations, etc.
- remove(item) None
Remove the given child ScoreComponent.
- show(non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) None
Using the abjad.show command, generates and opens a PDF of the music represented by this component
- Parameters:
non_score_blocks – a list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad); typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- show_xml() None
Convert and wrap as a MusicXML score, and open it up in notation software. (The software to use is defined in engraving_settings.show_music_xml_command_line.)
- to_abjad(wrap_as_file: bool = False, non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) Component
Convert this score component to its corresponding abjad component
- Parameters:
wrap_as_file – if True, wraps this as an
abjad.LilypondFile
non_score_blocks – (Only applicable if wrap_as_file is set to True). A list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad). Typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- to_lilypond(wrap_as_file: bool = False, non_score_blocks: Optional[Sequence] = None, **lilypond_file_args) str
Convert to LilyPond code, via the abjad library.
- Parameters:
wrap_as_file – if True, wraps this as an
abjad.LilypondFile
non_score_blocks – (Only applicable if wrap_as_file is set to True). A list of
abjad.Block
objects (or strings containing the LilyPond code for such a block, which are then parsed by abjad). Typical blocks might be a header block, a layout block, or a paper block. If no header block is specified, one will be created with the score’s title and composer. If a header is specified, title and composer will be added if not present.lilypond_file_args – any additional keyword arguments will be passed along to the constructor of
abjad.LilyPondFile
(assuming wrap_as_file is True). This allows for setting staff size and various other customizations.
- Returns:
a string containing the LilyPond code