Edit score
edit_scoreDestructive
Apply one reversible musical operation to an owned score at its exact saved revision. Stale revisions and invalid note/mark IDs are rejected. No supplier processing or credits are used.
operation is one object naming its action, e.g. {"action":"set_pitch","note_ids":["n…"],"pitch":62}; the operation field lists every action and its fields. A pitch named without its octave ("make it C") is the one nearest the note's current pitch (B4 -> C5, not C4), in the direction asked if any; say the pitch written.
Re-engraving and whole-score rhythm operations replace note IDs; the returned state is the new revision.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| revision | Yes | ||
| score_id | Yes | ||
| operation | Yes | One object naming its action. Actions and their fields (? optional): notes: set_pitch {note_ids,pitch,spelling?}; transpose {note_ids,semitones}; set_duration {note_ids,quarters}; delete_notes {note_ids}; set_staff {note_ids|select,staff 1 upper|2 lower,clef? if asked} (hands); add_chord_tone {note_id,pitch,spelling?,velocity?}; fill_rest {rest_id,pitch,quarters?,velocity?,spelling?}. sound: set_velocity {note_ids,velocity 1..127}; set_dynamic {note_id,mark ppp..fff|sf|sfz|fp,velocity?}; set_timbre {part_id,program,part_name?}. writing: set_key {part_id?,fifths,mode}; set_clef {part_id?,staff?,clef}; set_harmony_position {part_id,measure,index from 0,quarters from bar start}; engraving {title,composer,transcriber,labels:compact|full|none}; rebeam {}; reengrave {key?,program?,staff_split?,voices?,grid?,line?:single}. TAB: set_tablature {part_id?,view off|both|tab,tuning?,capo?,strings?}; set_string {note_ids,string|null}; set_fret {note_ids,string,fret}. marks (saved score marks; kind words|rehearsal|metronome|dynamic|hairpin|fermata): add_mark {kind,note_id|part_id+measure+quarters,text?,value?,end_note_id?,placement?}; update_mark {mark_id,kind?,text?,value?,placement?}; move_mark {mark_id,note_id?,end_note_id?}; delete_mark {mark_id}. whole score: transpose_score {interval}; set_meter {beats,beat_type,pickup_quarters?}; scale_note_values {factor:2|0.5}; rewrite_rhythm {bpm,beats,beat_type} (steady recording); rebeat {bpm,beats,beat_type,downbeat seconds,swing? 0.5..0.75} (wrong tracked piano beat); rebar_pickup {quarters}; set_pickup {enabled}; pad_measure {part_id,measure}; repair_bindings {}; undo {}; redo {}. |