ACORDE · RUST / WASM

検証でき、組み込める楽譜コア。

Acorde は、直列化可能な楽譜、取り消し可能な編集、範囲を定めた記譜 I/O、論理レイアウト、決定的 SVG、再生イベント投影、解析のためのプラットフォーム非依存 Rust / WebAssembly ライブラリです。

最小の導入

楽譜意味論・I/O・レイアウトには umbrella crate を使います。SVG 描画には acorde-render-svg を直接追加します。

[dependencies]
acorde = "1.2.3"
acorde-render-svg = "1.2.3"

最小の編集

ScoreEngine はコマンドを検証し、履歴として記録します。UI とファイルはホスト側が持ちます。

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

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

crate の役割

acorde-core は意味論と検証、acorde-io は記譜形式、acorde-layout はピクセルに依らない論理配置、acorde-render-svg は決定的 SVG、acorde-wasm は JavaScript バインディングを担います。

次に読むもの

完全な API、例、バージョン別のリリース情報はリポジトリを参照してください。