Skip to main content

Loop

Struct Loop 

Source
pub struct Loop {
    pub start: usize,
    pub end: usize,
    pub crossfade: f64,
}
Expand description

A sustain loop, in source frames.

The container stores a loop as two things and nothing else: the stroke stops at end, and the record the loop starts at carries the mark bit. Loop detune, loop decay, and whether the editor called this a short loop or a long one are not stored anywhere, so a caller that needs them cannot have them.

Fields§

§start: usize

First frame of the loop.

§end: usize

One past its last frame. Audio after it is not encoded.

§crossfade: f64

Frames of the loop’s tail that fade into the frames before start. The fade is applied to the samples here, because that is where the instrument reads it from. Fractional, because a project can state it as a percentage of the loop rather than a frame count, and dropping the fraction moves the fade a field. Inferred from specimens; not confirmed on hardware.

Implementations§

Source§

impl Loop

Source

pub fn new(start: usize, end: usize) -> Loop

A loop over start..end with no crossfade.

Source

pub fn crossfade(self, frames: f64) -> Loop

Trait Implementations§

Source§

impl Clone for Loop

Source§

fn clone(&self) -> Loop

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Loop

Source§

impl Debug for Loop

Source§

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

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

impl PartialEq for Loop

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Loop

Auto Trait Implementations§

§

impl Freeze for Loop

§

impl RefUnwindSafe for Loop

§

impl Send for Loop

§

impl Sync for Loop

§

impl Unpin for Loop

§

impl UnsafeUnpin for Loop

§

impl UnwindSafe for Loop

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.