blob: 4d90f3b416c326640018c468699f6816953cf9a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
use std::mem;
use super::*;
use ::rand::{XorShiftRng, Rng};
#[derive(Debug)]
pub struct Noise {
pub rng: XorShiftRng,
pub buf: SampleBuffer,
}
impl Generator for Noise {
fn eval<'a>(&'a mut self, params: &Parameters) -> &'a SampleBuffer {
self.buf.rate = Rate::Sample;
for i in 0..self.buf.len() {
self.buf[i] = self.rng.next_f32();
}
&self.buf
}
fn set_buffer(&mut self, buf: SampleBuffer) -> SampleBuffer {
mem::replace(&mut self.buf, buf)
}
}
|