Trait audio_core::ResizableBuf[][src]

pub trait ResizableBuf: Buf {
    fn resize(&mut self, frames: usize);
fn resize_topology(&mut self, channels: usize, frames: usize); }

Trait implemented for buffers that can be resized.

Required methods

fn resize(&mut self, frames: usize)[src]

Resize the number of per-channel frames in the buffer.

Examples

use audio::{ResizableBuf, ExactSizeBuf as _, Channels as _};

fn test<B>(mut buffer: B) where B: ResizableBuf {
    buffer.resize(4);
}

let mut buffer = audio::interleaved![[0; 0]; 2];

assert_eq!(buffer.channels(), 2);
assert_eq!(buffer.frames(), 0);

test(&mut buffer);

assert_eq!(buffer.channels(), 2);
assert_eq!(buffer.frames(), 4);

fn resize_topology(&mut self, channels: usize, frames: usize)[src]

Resize the buffer to match the given topology.

Examples

use audio::{ResizableBuf, ExactSizeBuf as _, Channels as _};

fn test<B>(mut buffer: B) where B: ResizableBuf {
    buffer.resize_topology(2, 4);
}

let mut buffer = audio::interleaved![[0; 0]; 4];

test(&mut buffer);

assert_eq!(buffer.channels(), 2);
assert_eq!(buffer.frames(), 4);
Loading content...

Implementations on Foreign Types

impl<B: ?Sized> ResizableBuf for &mut B where
    B: ResizableBuf
[src]

impl<T> ResizableBuf for Vec<Vec<T>> where
    T: Sample
[src]

Loading content...

Implementors

Loading content...