sim_lib_music_notation/lib.rs
1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! Score and notation model for the SIM music libraries.
4//!
5//! This crate is the notation codec surface: it converts between a
6//! `sim_lib_music_core::Score` (and related music objects such as melodies,
7//! progressions, and counterpoint) and a LilyPond-subset text rendering. The
8//! [`NotationCodec`] type is the codec entry point, exposing import and export
9//! in both plain and report (diagnostic-carrying) forms, and
10//! [`install_music_notation_lib`] registers the codec as a loadable runtime lib.
11#![allow(deprecated)]
12
13mod export;
14mod import;
15mod model;
16mod runtime;
17mod spell;
18
19pub use export::{
20 export_counterpoint_lilypond, export_lilypond, export_lilypond_report, export_melody_lilypond,
21 export_progression_lilypond,
22};
23pub use import::{import_lilypond, import_lilypond_report};
24pub use model::{NotationCodec, NotationError, NotationReport};
25pub use runtime::*;
26
27#[cfg(test)]
28mod tests;