[−][src]Enum wmidi::Note
A midi note.
The format for the enum is $NOTE
$MODIFIER?
$OCTAVE
. Note can be a note from A
to G
.
Modifier can be b
for flat or Sharp
for sharp. Octave is the number. The octaves -2
and
-1
are Minus2
and Minus1
respectively.
Example
use wmidi::Note; let ab7_chord = [Note::AbMinus1, Note::C4, Note::Gb4]; // We omit the 5th for a jazzier sound let dmaj_chord = [Note::D2, Note::FSharp3, Note::A3];
Variants
Middle C.
A440.
Implementations
impl Note
[src]
pub const CSharpMinus1: Note
[src]
pub const DSharpMinus1: Note
[src]
pub const FSharpMinus1: Note
[src]
pub const GSharpMinus1: Note
[src]
pub const ASharpMinus1: Note
[src]
pub const CSharp0: Note
[src]
pub const DSharp0: Note
[src]
pub const FSharp0: Note
[src]
pub const GSharp0: Note
[src]
pub const ASharp0: Note
[src]
pub const CSharp1: Note
[src]
pub const DSharp1: Note
[src]
pub const FSharp1: Note
[src]
pub const GSharp1: Note
[src]
pub const ASharp1: Note
[src]
pub const CSharp2: Note
[src]
pub const DSharp2: Note
[src]
pub const FSharp2: Note
[src]
pub const GSharp2: Note
[src]
pub const ASharp2: Note
[src]
pub const CSharp3: Note
[src]
pub const DSharp3: Note
[src]
pub const FSharp3: Note
[src]
pub const GSharp3: Note
[src]
pub const ASharp3: Note
[src]
pub const CSharp4: Note
[src]
pub const DSharp4: Note
[src]
pub const FSharp4: Note
[src]
pub const GSharp4: Note
[src]
pub const ASharp4: Note
[src]
pub const CSharp5: Note
[src]
pub const DSharp5: Note
[src]
pub const FSharp5: Note
[src]
pub const GSharp5: Note
[src]
pub const ASharp5: Note
[src]
pub const CSharp6: Note
[src]
pub const DSharp6: Note
[src]
pub const FSharp6: Note
[src]
pub const GSharp6: Note
[src]
pub const ASharp6: Note
[src]
pub const CSharp7: Note
[src]
pub const DSharp7: Note
[src]
pub const FSharp7: Note
[src]
pub const GSharp7: Note
[src]
pub const ASharp7: Note
[src]
pub const CSharp8: Note
[src]
pub const DSharp8: Note
[src]
pub const FSharp8: Note
[src]
pub const GSharp8: Note
[src]
pub const ASharp8: Note
[src]
pub const CSharp9: Note
[src]
pub const DSharp9: Note
[src]
pub const FSharp9: Note
[src]
pub const LOWEST_NOTE: Note
[src]
The lowest representable note.
pub const HIGHEST_NOTE: Note
[src]
The highest representable note.
pub unsafe fn from_u8_unchecked(note: u8) -> Note
[src]
Creates a note from a u8
. note
must be between [0, 127] inclusive to create a valid
note.
Example
let parsed_note = 60; let note = unsafe { wmidi::Note::from_u8_unchecked(parsed_note) };
Safety
note
must be less than or equal to 127.
pub fn to_freq_f32(self) -> f32
[src]
The frequency using the standard 440Hz tuning.
Example
let note = wmidi::Note::A3; sing(note.to_freq_f32());
pub fn to_freq_f64(self) -> f64
[src]
The frequency using the standard 440Hz tuning.
Example
let note = wmidi::Note::A3; sing(note.to_freq_f64());
pub fn step(self, half_steps: i8) -> Result<Note, Error>
[src]
Get the note relative to self
.
Example
use wmidi::Note; fn minor_chord(root: Note) -> Result<[Note; 3], wmidi::Error> { Ok([root, root.step(3)?, root.step(7)?]) } assert_eq!(minor_chord(Note::C2), Ok([Note::C2, Note::Eb2, Note::G2]));
pub fn to_str(self) -> &'static str
[src]
Trait Implementations
impl Clone for Note
[src]
impl Copy for Note
[src]
impl Debug for Note
[src]
impl Display for Note
[src]
impl Eq for Note
[src]
impl From<Note> for u8
[src]
Convert from a Note
to a u8
.
fn from(note: Note) -> u8
[src]
Example
use std::convert::TryFrom; fn encode_note(note: wmidi::Note) -> u8 { u8::from(note) }
impl From<U7> for Note
[src]
impl Hash for Note
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for Note
[src]
fn cmp(&self, other: &Note) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Note> for Note
[src]
impl PartialOrd<Note> for Note
[src]
fn partial_cmp(&self, other: &Note) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for Note
[src]
impl StructuralPartialEq for Note
[src]
impl TryFrom<u8> for Note
[src]
Convert from a u8
to a Note
. The u8
must be in the range [0, 127] inclusive.
type Error = Error
The type returned in the event of a conversion error.
fn try_from(note: u8) -> Result<Note, Error>
[src]
Creates a note from a u8
. note
must be between [0, 127] inclusive to create a valid
note.
Example
use std::convert::TryFrom; fn decode_note(number: u8) -> Result<wmidi::Note, wmidi::Error> { let parsed_note = 60; let note = wmidi::Note::try_from(parsed_note)?; Ok(note) }
Auto Trait Implementations
impl RefUnwindSafe for Note
impl Send for Note
impl Sync for Note
impl Unpin for Note
impl UnwindSafe for Note
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,