Skip to content

1.1.4

Latest

Choose a tag to compare

@kpaede kpaede released this 06 Jun 10:52

This release significantly expands the editing, rendering, and playback workflow for Verovio renderings in Obsidian.

New and Improved Features

  • Added support for Humdrum / **kern notation, including inline Humdrum detection and rendering from .krn, .kern, and .humdrum files.
  • Added Humdrum playback support via Verovio's Humdrum-enabled WASM module.
  • Expanded the side panel into a fuller music code editor with tabs for source content, code block content, MEI editing, insertion tools, conversion, and rendering settings.
  • Added bidirectional linking between rendered MEI notation and the editor:
    • clicking rendered elements jumps to the corresponding XML line,
    • clicking XML lines selects matching rendered elements.
  • Added multi-element selection in rendered notation, including drag selection and Cmd/Ctrl additive selection.
  • Added MEI editing and insertion commands for common operations such as deleting elements, changing notes/rests, durations, pitches, accidentals, and adding musical control elements.
  • Added optional note playback on click.
  • Added per-rendering settings in the side panel, including searchable Verovio options, sliders, reset buttons, and measure-range controls.
  • Added conversion of non-MEI inline renderings to MEI directly from the side panel.
  • Improved support for referenced files, external URLs, and codeblock-backed renderings in the editor panel.
  • Improved PAE editor integration and quick insertion workflow.
  • Added support for built-in editor search in the side panel.

Rendering and Format Handling

  • Improved automatic format detection for MEI, MusicXML, ABC, PAE, CMME, GABC, Humdrum, and Volpiano.
  • Improved CMME detection, including automatic inline CMME XML recognition.
  • Improved GABC import handling, including metadata and syllable preservation.
  • Improved measure-range rendering for measure-based MEI after import, including ABC and MusicXML.
  • Rendering settings are now built from Verovio option metadata and grouped in a clearer settings UI.

Playback Fixes

  • Fixed a Verovio ABC importer state issue where playing multiple ABC renderings in the same Obsidian document could cause the key signature from one rendering to affect another. #13
  • Fixed stale Verovio option state leaking between renderings, which could cause visual settings such as barline width to remain incorrectly applied until manually reset.
  • Reset MIDI channels to piano before playback to avoid stale instrument state.
  • Disabled unsupported playback paths for neume/GABC renderings more clearly.

Internal Changes

  • Split rendering, selection, source resolution, import, options, editor toolbar, XML tools, and state management into dedicated modules.
  • Added shared Verovio toolkit reset handling to avoid cross-rendering state leakage.
  • Added CodeMirror search dependency for the side panel editor.