acorde-core 0.15.0

Platform-agnostic music score model and command engine
Documentation

acorde-core

Score data model and command engine for Rust and WebAssembly.

This crate has no I/O, filesystem, renderer, or async-runtime dependency. It provides Score, Part, Staff, Measure, Note, notation types, ScoreEngine, serializable Command values, undo/redo, validation, playback-event generation, score diff/patch, transposition, and music-theory helpers.

use acorde_core::{Command, ScoreEngine, SetTempoCmd};

let mut engine = ScoreEngine::new();
engine.apply(Command::SetTempo(SetTempoCmd { bpm: 120 }))?;
engine.undo()?;

The current Score JSON schema version is 1. Add acorde-io for format conversion and acorde-layout for renderer-independent layout.

API documentation · Repository