Add a measure to the score with the supplied parameters at the supplied index. The defaults per staff may be different depending on the clef, key of the staff.
Give a measure prototype, create a new measure and add it to each staff, with the correct settings for current time signature/clef.
delete the measure at the supplied index in all the staves
get a measure 'compatible' with the measure at the given index, in terms of key, time signature etc.
determine if the measure at this index could be a multi-measure rest
the measure index we are considering to add
the measure index would be the start of the rest
Iteratively number the staves, like when adding a measure
Replace the measure at the given location. Probably due to an undo operation or paste.
Probably due to an undo operation, replace the staff at the given index.
Serialize the entire score.
JSON object
serialize the keySignature, tempo and time signature, which are mapped to a column at a measure index
If the score is switching from transposing to non-transposing, update the index and pitches. This logic assumes we are changing from transposing to non-transposing.
If the part is a transposing part, remove the transposition from the notes/staff. This logic assumes the measures previously had transposeIndex set up by the instrument map.
Restore measure formats stored when a score is serialized
Deserialize an entire score
SmoScore
Column-mapped attributes stay the same in each measure until changed, like key-signatures. We don't store each measure value to make the files smaller
the json blob that contains the score data
Return a default score with no notes or staves
Return an 'empty' score, with one measure of rests
Convert measure formatting from legacy scores, that had the formatting per measure, to the new way that has a separate formatting object.
Convert legacy score layout to layoutManager object parameters
Generated using TypeDoc
SmoScore is the container for the entire score: staves, measures, notes