pub struct Note(pub NaturalNote, pub Accidental);Expand description
Defines the union of a natural note and an accidental that describes a note.
Tuple Fields§
§0: NaturalNote§1: AccidentalImplementations§
Source§impl Note
impl Note
Sourcepub fn all_keys(include_enharmonic: bool) -> Vec<Note>
pub fn all_keys(include_enharmonic: bool) -> Vec<Note>
Returns all the notes in the circle of fifths.
Sourcepub fn clockwise(&self) -> Option<Note>
pub fn clockwise(&self) -> Option<Note>
Returns the note obtained by moving clockwise through the circle of fifths.
Sourcepub fn counter_clockwise(&self) -> Option<Note>
pub fn counter_clockwise(&self) -> Option<Note>
Returns the note obtained by moving counter-clockwise through the circle of fifths.
Sourcepub fn previous_key_in_circle(&self) -> Option<Note>
pub fn previous_key_in_circle(&self) -> Option<Note>
Returns the previous key in the circle of fifths, that is, the key with one fewer sharp or flat.
Sourcepub fn last_keys_in_circle(include_enharmonic: bool) -> Vec<Note>
pub fn last_keys_in_circle(include_enharmonic: bool) -> Vec<Note>
Returns the last keys accessible by traversing the circle of fifths in clockwise and counter-clockwise directions.
Source§impl Note
impl Note
pub const A: Note
pub const A_FLAT: Note
pub const A_SHARP: Note
pub const B: Note
pub const B_FLAT: Note
pub const B_SHARP: Note
pub const C: Note
pub const C_FLAT: Note
pub const C_SHARP: Note
pub const D: Note
pub const D_FLAT: Note
pub const D_SHARP: Note
pub const E: Note
pub const E_FLAT: Note
pub const E_SHARP: Note
pub const F: Note
pub const F_FLAT: Note
pub const F_SHARP: Note
pub const G: Note
pub const G_FLAT: Note
pub const G_SHARP: Note
Sourcepub fn to_ascii_string(&self) -> String
pub fn to_ascii_string(&self) -> String
Returns a representation of the note without Unicode characters for use in directory names and other contexts where Unicode is harder or impossible to use.
Trait Implementations§
impl Copy for Note
impl Eq for Note
impl StructuralPartialEq for Note
Auto Trait Implementations§
impl Freeze for Note
impl RefUnwindSafe for Note
impl Send for Note
impl Sync for Note
impl Unpin for Note
impl UnsafeUnpin for Note
impl UnwindSafe for Note
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more