diff options
chore: temp
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/main.rs | 3 | ||||
-rw-r--r-- | src/music.rs | 16 |
3 files changed, 21 insertions, 0 deletions
@@ -30,3 +30,5 @@ resizable = [] music = [] # Compiles to <=32k on linux after UPX with --brute 32k = [] +# Use Stereo Audio +stereo = ["music"] diff --git a/src/main.rs b/src/main.rs index d12447d..714d540 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,7 +32,10 @@ pub fn main() { let desired_spec = AudioSpecDesired { freq: Some(48_000), + #[cfg(feature = "stereo")] channels: Some(2), + #[cfg(not(feature = "stereo"))] + channels: Some(1), samples: Some(8192 as u16), }; diff --git a/src/music.rs b/src/music.rs index fe48989..5a33d84 100644 --- a/src/music.rs +++ b/src/music.rs @@ -38,6 +38,22 @@ pub fn mmc2r_to_pcm(state: &mut MmC2r) -> Vec<i16> { destination.push(sample); } } + // #[cfg(not(feature = "stereo"))] + // let destination = { + // let stereo = destination; + // let mut mono = Vec::<i16>::new(); + // let mut is_first_stereo_pair = true; + // let mut stereo_pair_val = 0 as i16; + // for sample in stereo { + // if is_first_stereo_pair { + // stereo_pair_val = sample; + // } else { + // mono.push(((sample as i32 + stereo_pair_val as i32) / 2) as i16); + // } + // is_first_stereo_pair = !is_first_stereo_pair; + // } + // mono + // }; destination } |