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 a LilyPond-subset text rendering. The
NotationCodec type is the codec entry point, exposing import and export
in both plain and report (diagnostic-carrying) forms, and
install_music_notation_lib registers the codec as a loadable runtime lib.
Structs§
- Music
Notation Lib - Host-registered lib exporting the LilyPond subset notation-codec card, built
on the shared
SurfacePackLibsubstrate. - Notation
Codec - Codec converting between a
Scoreand its LilyPond-subset text rendering. - Notation
Report - Result of a notation operation paired with any diagnostics produced.
Enums§
- Notation
Error - Error raised while importing or exporting LilyPond-subset notation.
Functions§
- export_
counterpoint_ lilypond - Renders counterpoint as parallel LilyPond voices, spelling pitches in
key. - export_
lilypond - Renders a score as a LilyPond
\scoreblock, discarding diagnostics. - export_
lilypond_ report - Renders a score as a LilyPond
\scoreblock, returning the text with diagnostics. - export_
melody_ lilypond - Renders a melody as a LilyPond note sequence, spelling pitches in
key. - 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.
- install_
music_ notation_ lib - Installs the music-notation lib into
cxand records its codec export.