Used to show key, rhythm changes at the end of the system, has MeasureNumber < 0, because never set.
Beams of tuplet notes created by (optional) autoBeam function.
Beams created by (optional) autoBeam function.
Intermediate object to construct beams
The x-width of possibly existing: repetition start line, clef, key, rhythm.
VexFlow StaveConnectors (vertical lines)
The x-width of possibly existing: repetition end line, clef.
Call this function (if present) to x-format all the voices in the measure
Whether or not this measure is nothing but rest(s). Also see SourceMeasure.allRests, which is not the same, because a source measure can have multiple staffs/graphicalMeasures.
The minimum possible x-width of all staff entries without overlapping.
octaveOffset according to active clef
Will be set by music system builder while building systems.
The VexFlow Stave (= one measure in a staffline)
Intermediate object to construct tuplets
The repetition instructions given as words or symbols (coda, dal segno..)
The VexFlow Ties in the measure
The VexFlow Voices in the measure
VexFlow Beams
VexFlow Tuplets
adds the given clef to the begin of the measure. This has to update/increase BeginInstructionsWidth.
adds the given clef to the end of the measure. This has to update/increase EndInstructionsWidth.
Add a [[StaffEntry]] (along with its BoundingBox) to the current Measure.
adds the given key to the begin of the measure. This has to update/increase BeginInstructionsWidth.
the new valid key.
the old cancelled key. Needed to show which accidentals are not valid any more.
the valid clef. Needed to put the accidentals on the right y-positions.
Adds a measure number to the top left corner of the measure This method is not used currently in favor of the calculateMeasureNumberPlacement method in the MusicSheetCalculator.ts
adds the given rhythm to the begin of the measure. This has to update/increase BeginInstructionsWidth.
Automatically creates beams for notes except beamedNotes, using Vexflow's Beam.generateBeams(). Takes options from this.rules.AutoBeamOptions.
notes that will not be autobeamed (usually because they are already beamed)
Check if a Repetition starts at the next Measure.
Create the articulations for all notes of the current staff entry
Creates vexflow fingering elements. Note that this is currently only used for Left and Right fingering positions, not Above and Below, in which case they are instead added via MusicSheetCalculator.calculateFingerings() as Labels with bounding boxes.
Create the ornaments for all notes of the current staff entry
Draw this measure on a VexFlow CanvasContext
Check if this Measure is a Repetition Ending.
Check if this Measure is a Repetition Ending.
Complete the creation of VexFlow Beams in this measure
Complete the creation of VexFlow Tuplets in this measure
Iterate from start to end and find the GraphicalStaffEntry with the same absolute timestamp.
Returns all the graphicalVoiceEntries of a given Voice.
the voice for which the graphicalVoiceEntries shall be returned.
returns the x-width (in units) of a given measure line {SystemLinesEnum}.
the x-width in osmd units
Finds the gaps between the existing notes within a measure. Problem here is, that the graphicalVoiceEntry does not exist yet and that Tied notes are not present in the normal voiceEntries. To handle this, calculation with absolute timestamps is needed. And the graphical notes have to be analysed directly (and not the voiceEntries, as it actually should be -> needs refactoring)
the voice for which the ghost notes shall be searched.
Return the VexFlow Stave corresponding to this graphicalMeasure
Returns all the voices that are present in this measure
Add a note to a beam
Check a whole [[Measure]] for the presence of multiple Voices (used for Stem direction).
Check if the all the GraphicalMeasure's [[StaffEntry]]s (their minimum Length) have the same duration with the SourceMeasure.
This method is called after the StaffEntriesScaleFactor has been set. Here the final x-positions of the staff entries have to be set. (multiply the minimal positions with the scaling factor, considering the BeginInstructionsWidth)
Creates a line from 'top' to this measure, of type 'lineType'
Reset all the geometric values and parameters of this measure and put it in an initialized state. This is needed to evaluate a measure a second time by system builder.
Sets the number of stafflines that are rendered, so that they are centered properly
Set the x-position relative to the staffline (y-Position is always 0 relative to the staffline).
Copy the stem directions chosen by VexFlow to the StemDirection variable of the graphical notes
Sets the overall x-width of the measure.
After re-running the formatting on the VexFlow Stave, update the space needed by Instructions (in VexFlow: StaveModifiers)
Generated using TypeDoc
The clef of the first note of the measure (the clef the measure starts with).