Trait audio::ResizableBuf[][src]

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

Trait implemented for buffers that can be resized.

Required methods

pub 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);

pub 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<T> ResizableBuf for Vec<Vec<T, Global>, Global> where
    T: Sample
[src]

impl<'_, B> ResizableBuf for &'_ mut B where
    B: ResizableBuf + ?Sized
[src]

Loading content...

Implementors

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

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

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

Loading content...