1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
mod duration; pub use duration::Duration; pub mod pitch; pub use pitch::*; pub mod tune_sys; #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub struct NoteName(i32); pub const C: NoteName = NoteName(0); pub const D: NoteName = NoteName(2); pub const E: NoteName = NoteName(4); pub const F: NoteName = NoteName(5); pub const G: NoteName = NoteName(7); pub const A: NoteName = NoteName(9); pub const B: NoteName = NoteName(11); #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub struct Accidental(i32); pub const NATURAL: Accidental = Accidental(0); pub const SHARP: Accidental = Accidental(1); pub const FLAT: Accidental = Accidental(-1); #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub struct Chord { root: Pitch }