Enum ukebox::pitch_class::PitchClass
source · [−]pub enum PitchClass {
C,
CSharp,
D,
DSharp,
E,
F,
FSharp,
G,
GSharp,
A,
ASharp,
B,
}
Expand description
A pitch class is “a set of all pitches that are a whole number of octaves apart, e.g., the pitch class C consists of the Cs in all octaves.” https://en.wikipedia.org/wiki/Pitch_class
Our 12 pitch classes are represented with integers from 0 to 11. Values > 11 will be used to model retrieval of the same pitch class in a higher octave. For example, pitch class 12 is the same as pitch class 0 and corresponds to the pitch class of C.
Variants
C
CSharp
D
DSharp
E
F
FSharp
G
GSharp
A
ASharp
B
Trait Implementations
sourceimpl Add<u8> for PitchClass
impl Add<u8> for PitchClass
sourcefn add(self, n: Semitones) -> Self
fn add(self, n: Semitones) -> Self
Get the pitch class that is n
semitones higher than the current
pitch class.
type Output = PitchClass
type Output = PitchClass
The resulting type after applying the +
operator.
sourceimpl Clone for PitchClass
impl Clone for PitchClass
sourcefn clone(&self) -> PitchClass
fn clone(&self) -> PitchClass
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for PitchClass
impl Debug for PitchClass
sourceimpl From<PitchClass> for Note
impl From<PitchClass> for Note
sourcefn from(pitch_class: PitchClass) -> Self
fn from(pitch_class: PitchClass) -> Self
Convert a pitch class into a note. For notes that can be sharp or flat use the sharp version.
sourceimpl From<u8> for PitchClass
impl From<u8> for PitchClass
sourcefn from(n: Semitones) -> Self
fn from(n: Semitones) -> Self
Convert an integer into a pitch class.
To model the fact that e.g. all instances of the note C
in different
octaves belong to the same pitch class, each integer is placed in the
range of potential pitch classes (between 0 and 11).
For example, 12, 24, 36, etc. all correspond to pitch class 0.
sourceimpl Ord for PitchClass
impl Ord for PitchClass
sourceimpl PartialEq<PitchClass> for PitchClass
impl PartialEq<PitchClass> for PitchClass
sourceimpl PartialOrd<PitchClass> for PitchClass
impl PartialOrd<PitchClass> for PitchClass
sourcefn partial_cmp(&self, other: &PitchClass) -> Option<Ordering>
fn partial_cmp(&self, other: &PitchClass) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Sub<PitchClass> for PitchClass
impl Sub<PitchClass> for PitchClass
sourcefn sub(self, other: Self) -> Semitones
fn sub(self, other: Self) -> Semitones
Get the difference between two pitch classes in number of frets or semitones.
self
is assumed to always be higher as other
with a difference
of at most one octave.
Examples:
- D - C: both pitch classes are assumed to be in the same octave, D being higher than C. The difference is 2.
- D - A: D is higher than A, the difference is 5.
sourceimpl Sub<u8> for PitchClass
impl Sub<u8> for PitchClass
sourcefn sub(self, n: Semitones) -> Self
fn sub(self, n: Semitones) -> Self
Get the pitch class that is n
semitones lower than the current
pitch class.
type Output = PitchClass
type Output = PitchClass
The resulting type after applying the -
operator.
impl Copy for PitchClass
impl Eq for PitchClass
impl StructuralEq for PitchClass
impl StructuralPartialEq for PitchClass
Auto Trait Implementations
impl RefUnwindSafe for PitchClass
impl Send for PitchClass
impl Sync for PitchClass
impl Unpin for PitchClass
impl UnwindSafe for PitchClass
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.