conformal_component::audio

Function slice_buffer

Source
pub fn slice_buffer<'a, B: Buffer, I: BufferIndex + 'a>(
    buffer: &'a B,
    index: I,
) -> impl Buffer
Expand description

Create a sub-buffer from a buffer using an index range.

§Examples

let buffer = BufferData::new_mono(vec![1.0, 2.0, 3.0]);
assert_eq!(slice_buffer(&buffer, 1..).channel(0), [2.0, 3.0]);
assert_eq!(slice_buffer(&buffer, 1..2).channel(0), [2.0]);
assert_eq!(slice_buffer(&buffer, ..=1).channel(0), [1.0, 2.0]);

§Panics

Will panic if the index range isn’t within the bounds of the buffer:

let buffer = BufferData::new_mono(vec![1.0, 2.0, 3.0]);
slice_buffer(&buffer, 4..);