Struct PitchBend

Source
pub struct PitchBend { /* private fields */ }
Expand description

The value of a pitch bend, represented as 14 bits.

A value of 0x0000 indicates full bend downwards. A value of 0x2000 indicates no bend. A value of 0x3FFF indicates full bend upwards.

This value is available via PitchBend::value

Implementations§

Source§

impl PitchBend

Source

pub fn new(lsb: u8, msb: u8) -> Result<Self, Error>

Creates a new pitch bend given the least significant and most significant bytes.

Checks for byte correctness (leading 0 bit)

Source

pub const fn new_unchecked(lsb: u8, msb: u8) -> Self

Creates a new pitch bend given the least significant and most significant bytes.

Does not check for correctness

Source

pub fn lsb(&self) -> u8

Returns a reference to the pitch bend’s least significant byte.

Source

pub fn msb(&self) -> u8

Returns a reference to the pitch bend’s most significant byte.

Source

pub fn value(&self) -> u16

Represents a pitch bend

Source

pub fn from_bits(rep: u16) -> Result<Self, Error>

Represents a u16, lsb then msb, as a pitch bend

Source§

impl PitchBend

Source

pub const MIN_BYTES: u16 = 0u16

The minimum value of 0x0000, indicating full bend downwards.

Source

pub const MID_BYTES: u16 = 8_192u16

The middle value of 0x2000, indicating no bend.

Source

pub const MAX_VALUE: u16 = 16_383u16

The maximum value of 0x3FFF, indicating full bend upwards.

Source

pub fn from_int(int: i16) -> Self

Create a PitchBend value from an int in the range [-0x2000, 0x1FFF].

Integers outside this range will be clamped.

Source

pub fn from_f32(float: f32) -> Self

Create a PitchBend value from a number in the range [-1.0, 1.0).

Floats outside this range will be clamped.

Source

pub fn from_f64(float: f64) -> Self

Create a PitchBend value from a number in the range [-1.0, 1.0).

Floats outside this range will be clamped.

Source

pub fn as_int(self) -> i16

Returns an int in the range [-0x2000, 0x1FFF].

Do not use this when writing to a midi file.

Source

pub fn as_f32(self) -> f32

Returns an f32 in the range [-1.0, 1.0).

Source

pub fn as_f64(self) -> f64

Returns an f64 in the range [-1.0, 1.0).

Trait Implementations§

Source§

impl Clone for PitchBend

Source§

fn clone(&self) -> PitchBend

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PitchBend

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for PitchBend

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PitchBend

Source§

fn eq(&self, other: &PitchBend) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PitchBend

Source§

impl Eq for PitchBend

Source§

impl StructuralPartialEq for PitchBend

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.