Skip to main content

Crate cdnz

Crate cdnz 

Source
Expand description

§CDNZ

CDNZ is a work-in-progress open data format for storing music, primarily intended for use by Cadenza, but you’re free to use it for your own needs. This crate is the main implementation of CDNZ, and the specification is actively changing along with it. Once development largely settles, and the main ideas and opinions of the format are set, a formal specification will be published.

§Format Description Draft

The format is partly inspired by MNX and LilyPond, and it will be possible to convert it to LilyPond in the future, via this crate.

I’ve spent a good while thinking about the fundamental problem of how we store music, and what implications it brings. As of now, CDNZ is aiming to be an opiniated music notation format, carrying a split between what the music is, and how the music is shown.

It uses a structured, hierarchical model, while still allowing for complex additions that challenge modern attempts, following in the footsteps of what LilyPond set out to create.

Modules§

cdnz_serde
lilypond
upgrade
This module focuses on upgrading old CDNZ files to the latest version.

Structs§

Bpm
GlobalData
Header
Layout
LayoutVoice
Metadata
Metadata about the CDNZ file in question.
Part
PersonInfo
Pitch
Position
Project
The root object of a CDNZ file.
Voice

Enums§

ClefSign
GlobalModEvent
Instrument
KeyMode
LayoutElement
LayoutModEvent
LocalModEvent
RhythmicEvent

Type Aliases§

LayoutName
PartName