Skip to content

Files and saving

Action How
New blank score + in the tab strip — one treble staff, 4/4, four empty measures
Open a file ctrl + o, or open file…
Open by double-click Double-click a .mei in your file manager

The open dialog is the system’s own, and it starts in the folder you last opened or saved from. .mei and .xml files are offered.

Each score opens in its own tab, named after the file. The clipboard is shared between tabs, which is what makes cross-file arranging work.

Action How
Save ctrl + s, or save — writes to the score’s own path, silently
Save as ctrl + shift + s — asks where, and renames the tab

A score with no path yet (a new one) turns ctrl + s into save-as. A toast confirms every write.

In a browser instead of the desktop app, saving downloads the file and opening uses the browser’s file picker; nothing else differs.

A tab shows * while the document has unsaved changes. It is computed from the undo stack rather than from “something happened”, so undoing back to the state you last saved clears the star — as it should.

Plain MEI, pretty-printed with two-space indentation, and everything your file came in with:

  • meiHead and all metadata
  • elements and attributes battuta has no UI for
  • comments and processing instructions
  • your xml:ids — a saved file reloads without needing a single new one

Serialisation is a fixpoint: saving a file battuta saved produces the same bytes. Reopening a save produces the same tree. That is what makes the editor safe to put in the middle of a pipeline — or in git, where a diff shows exactly the edit you made and nothing else.

One compatibility adjustment: comments sitting before the root element are moved just inside <mei>, because Verovio rejects a document with them outside. Processing instructions such as <?xml-model?> are left where they are.

Some tools emit MEI with duplicate xml:ids. Because battuta addresses everything by id, that causes strange behaviour — an edit that lands on the wrong note, a control event that follows the wrong anchor. The ⟲id button re-mints every id in the document and rewrites every reference (startid, endid, plist, …) to match. One undo step, and the file is sound afterwards.

MEI in, MEI out. MusicXML import and export are planned but not implemented, and there is no SVG, PDF or print output yet. Page view shows you the engraved result, but getting it onto paper currently means running the saved MEI through another Verovio-based tool.