[][src]Function dasp_signal::from_interleaved_samples_iter

pub fn from_interleaved_samples_iter<I, F>(
    samples: I
) -> FromInterleavedSamplesIterator<I::IntoIter, F> where
    I: IntoIterator,
    I::Item: Sample,
    F: Frame<Sample = I::Item>, 

Create a new Signal from the given Frame-yielding Iterator.

When the Iterator is exhausted, the new Signal will yield F::equilibrium.

Example

use dasp_signal::{self as signal, Signal};

fn main() {
    let foo = [0, 1, 2, 3];
    let mut signal = signal::from_interleaved_samples_iter::<_, [i32; 2]>(foo.iter().cloned());
    assert_eq!(signal.next(), [0, 1]);
    assert_eq!(signal.next(), [2, 3]);
    assert_eq!(signal.next(), [0, 0]);

    let bar = [0, 1, 2];
    let mut signal = signal::from_interleaved_samples_iter::<_, [i32; 2]>(bar.iter().cloned());
    assert_eq!(signal.next(), [0, 1]);
    assert_eq!(signal.next(), [0, 0]);
}