pub struct Octave { /* private fields */ }Implementations§
Source§impl Octave
impl Octave
Sourcepub fn new(octave: u8) -> Self
pub fn new(octave: u8) -> Self
octave number should be raw: like
let middle_c = 60u8;
let octave = Octave::new(middle_c/12);pub fn raw(&self) -> u8
Sourcepub fn as_midi(&self) -> i8
pub fn as_midi(&self) -> i8
can be negative. Here middle-c considered as C3. So, function return would be in range of -2..9
pub fn from_midi(midi: u8) -> Self
Sourcepub fn split_midi(midi: u8) -> (u8, Self)
pub fn split_midi(midi: u8) -> (u8, Self)
Get note index (C=0, D=2, D#=3, B=11) and octave.
Sourcepub fn apply_to_midi_note(&self, note_idx: u8) -> u8
pub fn apply_to_midi_note(&self, note_idx: u8) -> u8
Return raw midi byte.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Octave
impl<'de> Deserialize<'de> for Octave
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialOrd for Octave
impl PartialOrd for Octave
impl Copy for Octave
impl Eq for Octave
impl StructuralPartialEq for Octave
Auto Trait Implementations§
impl Freeze for Octave
impl RefUnwindSafe for Octave
impl Send for Octave
impl Sync for Octave
impl Unpin for Octave
impl UnwindSafe for Octave
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more