chordpro-rs
Chordpro file parser written in Rust. Chordpro is a simple text format for the notation of lyrics with chords. Although initially intended for guitarists, it can be used for all kinds of musical purposes.
Specification of the format can be found in the official website: https://www.chordpro.org/
Example
The std::str::FromStr is implemented for the Song struct:
# use Song;
# use FromStr;
let song = from_str.unwrap;
Supported directives
- Metadata:
- title (short: t)
- subtitle (short: st)
- artist
- composer
- lyricist
- copyright
- album
- year
- key
- time
- tempo
- duration
- capo
- meta
- Formatting:
- comment (short: c)
- comment_italic (short: ci)
- comment_box (short: cb)
- image
- Environments:
- start_of_chorus (short: soc)
- end_of_chorus (short: eoc)
- chorus
- start_of_verse
- end_of_verse
- start_of_tab (short: sot)
- end_of_tab (short: eot)
- start_of_grid
- end_of_grid
- Custom extensions (prefixed by
x_)
Supported chords
At the moment, only A-G notation is supported for parsing. Flats (with b),
sharps (with #) and common postfixes (m, min, maj, numbers).
Wrapping a reference to the chord in a chordpro::Latin formats that chord with
latin notation (Do, Re , Mi).