Skip to main content

Crate sim_lib_music_notation

Crate sim_lib_music_notation 

Source
Expand description

Score and notation model for the SIM music libraries.

This crate is the notation codec surface: it converts between a sim_lib_music_core::Score (and related music objects such as melodies, progressions, and counterpoint) and bounded LilyPond or MusicXML notation. MusicXML remains a fail-closed profile with explicit resource limits and identity/loss sidecars; it is not a second score model or a general XML codec. NotationCodec is the Rust entry point, while install_music_notation_lib registers the Shape-described music/notation/import runtime callable.

Structs§

MusicNotationLib
Host-registered notation profile exporting browse metadata and the Shape-described music/notation/import callable.
MusicXmlLimits
Resource limits applied before and during MusicXML profile import.
NotationCodec
Codec converting between a Score and its LilyPond-subset text rendering.
NotationIdentity
Stable MusicXML identity associated with a canonical structural path.
NotationLoss
One explicit piece of notation information outside canonical Score.
NotationReport
Result of a notation operation paired with any diagnostics produced.

Enums§

NotationError
Error raised while importing or exporting LilyPond-subset notation.
NotationIdentityKind
Kind of stable MusicXML identity retained by an exchange report.
NotationLossKind
Machine-readable kind of information not carried by canonical Score.

Statics§

RECIPES
Cookbook recipes for this lib, embedded at build time.

Functions§

export_counterpoint_lilypond
Renders counterpoint as parallel LilyPond voices, spelling pitches in key.
export_lilypond
Renders a score as a LilyPond \score block, discarding diagnostics.
export_lilypond_report
Renders a score as a LilyPond \score block, returning the text with diagnostics.
export_melody_lilypond
Renders a melody as a LilyPond note sequence, spelling pitches in key.
export_musicxml_partwise
Exports with deterministic profile identifiers and discards sidecar evidence.
export_musicxml_partwise_report
Exports canonical Score through the bounded MusicXML partwise profile.
export_progression_lilypond
Renders a chord progression as a LilyPond chord sequence, spelling pitches in key.
import_lilypond
Parses LilyPond-subset text into a score, discarding diagnostics.
import_lilypond_report
Parses LilyPond-subset text into a score, returning it with diagnostics.
import_musicxml_partwise
Imports the bounded profile and discards exchange sidecar evidence.
import_musicxml_partwise_report
Imports the bounded MusicXML partwise profile with explicit resource limits.
install_music_notation_lib
Installs music shapes and the notation profile into cx.
notation_import_symbol
Symbol of the one notation import callable.