1pub mod interleave;
2
3#[cfg(feature = "resampler")]
4mod resampler;
5#[cfg(feature = "resampler")]
6mod resampler_type;
7
8#[cfg(feature = "resampler")]
9pub use resampler::*;
10#[cfg(feature = "resampler")]
11pub use resampler_type::*;
12
13#[cfg(feature = "channel")]
14mod channel;
15#[cfg(feature = "channel")]
16pub use channel::*;
17
18#[cfg(feature = "resampler")]
19pub use rubato;
20
21#[cfg(feature = "resampler")]
22pub use rubato::Sample;
23
24#[cfg(not(feature = "resampler"))]
30pub trait Sample
31where
32 Self: Copy + Send,
33{
34 fn zero() -> Self;
35}
36
37#[cfg(not(feature = "resampler"))]
38impl Sample for f32 {
39 fn zero() -> Self {
40 0.0
41 }
42}
43
44#[cfg(not(feature = "resampler"))]
45impl Sample for f64 {
46 fn zero() -> Self {
47 0.0
48 }
49}