scamp.score.Measure

class scamp.score.Measure(voices: Sequence[Voice], time_signature: scamp.quantization.TimeSignature, show_time_signature: bool = True, clef: Optional[str] = None)[source]

Bases: scamp.score.ScoreComponent, scamp.score.ScoreContainer

Representation of a single measure within in a Staff

Parameters
  • voices – list of voices in this measure, in numbered order

  • time_signature – the time signature for this measure

  • show_time_signature – whether or not to show the time signature. By default, when scamp is turning a quantized Performance into a Score, this will be set to true when the time signature changes and False otherwise.

  • clef – Which clef to use for the measure. If none, clef is left unspecified.

Variables
  • time_signature – the time signature for this measure

  • show_time_signature – Whether or not to display the time signature

  • clef – Which clef to use for the measure. If none, clef is left unspecified.

Methods

empty_measure(time_signature[, …])

Constructs an empty measure (one voice with a bar rest)

from_list_of_performance_voices(voices_list, …)

Constructs a Measure for a specially formatted list of voices

get_appropriate_clef(clef_choices)

non_empty_length()

Length of the part of this measure that has something in it.

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)

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.

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])

Convert and print LilyPond code.

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()

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()

Convert this score component to its corresponding abjad component

to_abjad_lilypond_file()

Convert and wrap as a abjad.LilyPondFile object

to_lilypond([wrap_as_file])

Convert to LilyPond code.

Attributes

length

Length of this measure in quarter notes

voices

List of Voices within this measure, in numbered order

property voices

List of Voices within this measure, in numbered order

property length

Length of this measure in quarter notes

non_empty_length() → float[source]

Length of the part of this measure that has something in it. (i.e. the length not counting trailing rests that aren’t part of a tuplet)

classmethod empty_measure(time_signature: scamp.quantization.TimeSignature, show_time_signature: bool = True)scamp.score.Measure[source]

Constructs an empty measure (one voice with a bar rest)

Parameters
  • time_signature – the time signature for this measure

  • show_time_signature – Whether or not to display the time signature

classmethod from_list_of_performance_voices(voices_list, time_signature: scamp.quantization.TimeSignature, show_time_signature: bool = True)scamp.score.Measure[source]

Constructs a Measure for a specially formatted list of voices

Parameters
  • voices_list – list consisting of elements each of which is either: - a (list of PerformanceNotes, measure quantization record) tuple for an active voice - None, for an empty voice

  • time_signature – the time signature for this measure

  • show_time_signature – Whether or not to display the time signature

get_appropriate_clef(clef_choices: Sequence[Union[str, Tuple[str, numbers.Real]]])[source]
to_music_xml(source_id_dict=None)pymusicxml.music_xml_objects.Measure[source]

Convert this score component to its corresponding pymusicxml component

append(item: scamp.score.ScoreComponent) → None

Add a child ScoreComponent of the appropriate type

export_lilypond(file_path) → None

Convert and wrap as a LilyPond (.ly) file, and save to the given path.

Parameters

file_path – file path to save to

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.

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)scamp.score.ScoreComponent

Pop and return the child ScoreComponent at the given index.

print_lilypond(wrap_as_file=False) → None

Convert and print LilyPond code.

Parameters

wrap_as_file – if True, wraps this object up as a full LilyPond file, ready for compilation. If False, we just get the code for the component itself.

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() → None

Using the abjad.show command, generates and opens a PDF of the music represented by this component

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() → abjad.core.Component.Component

Convert this score component to its corresponding abjad component

to_abjad_lilypond_file() → abjad.lilypondfile.LilyPondFile.LilyPondFile

Convert and wrap as a abjad.LilyPondFile object

to_lilypond(wrap_as_file=False) → str

Convert to LilyPond code.

Parameters

wrap_as_file – if True, wraps this object up as a full LilyPond file, ready for compilation. If False, we just get the code for the component itself.

Returns

a string containing the LilyPond code