libkeynotation 0.2.0

A (musical) key notation parser and transposer
Documentation
//! # libkeynotation - A (musical) key notation parser and transposer
//! This library supports parsing musical keys notated in different formats and transposing the key.
//! You can freely convert between the different formats and also transpose the key if the track is being played faster/slower.
//!
//! ## Supported notations
//! - Traditional (eg. F#m, Abm, G♭,...)
//! - OpenKey (1m, 1d, 12m, 12d..)
//! - Lancelot (1A, 1B... 12A, 12B)
//!
//!
//! # Example:
//! ```
//! use libkeynotation::Key;
//!
//! let key = Key::from_string("F#m").unwrap();
//! assert_eq!(key.lancelot(), "11A");
//! assert_eq!(key.open_key(), "4m");
//! assert_eq!(key.transpose_bpm(135.0, 140.4).lancelot(), "6A");
//! ```

mod key;
mod parser;

pub use crate::key::Key;
pub use crate::parser::{KeyParser, NotationType};