From 612349572f728c82dec3983d71020f98eb09d648 Mon Sep 17 00:00:00 2001 From: /dev/urandom Date: Sat, 15 Feb 2025 04:43:43 +0100 Subject: feat: 32k no music --- src/main.rs | 51 +++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 82ec725..83b2929 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,12 +4,14 @@ mod font; pub mod generated; mod interpolation; +#[cfg(all(feature = "music", not(feature = "32k")))] mod music; mod render; pub mod vendored; use std::time::{Duration, SystemTime}; +#[cfg(all(feature = "music", not(feature = "32k")))] use music::{mmc2r_to_pcm, Music}; use sdl2::{event::Event, keyboard::Keycode}; @@ -17,33 +19,38 @@ use sdl2::{event::Event, keyboard::Keycode}; const TIMEOUT_DEATH: f64 = render::JUST_DVD + 20.0; use sdl2::audio::AudioSpecDesired; + +#[cfg(all(feature = "music", not(feature = "32k")))] use vendored::micromod::MmC2r; pub fn main() { let sdl_context = sdl2::init().unwrap(); - let audio_subsystem = sdl_context.audio().unwrap(); - - let desired_spec = AudioSpecDesired { - freq: Some(48_000), - channels: Some(2), - samples: Some(8192 as u16), - }; - - let device = audio_subsystem - .open_playback(None, &desired_spec, |spec| { - // initialize the audio callback - Music { - offset: 0, - pcm: mmc2r_to_pcm( - &mut MmC2r::new(include_bytes!("../uwudhd.mod"), spec.freq as isize).unwrap(), - ), - } - }) - .unwrap(); - - // Start playback - device.resume(); + #[cfg(all(feature = "music", not(feature = "32k")))] + { + let audio_subsystem = sdl_context.audio().unwrap(); + + let desired_spec = AudioSpecDesired { + freq: Some(48_000), + channels: Some(2), + samples: Some(8192 as u16), + }; + + let device = audio_subsystem + .open_playback(None, &desired_spec, |spec| { + // initialize the audio callback + Music { + offset: 0, + pcm: mmc2r_to_pcm( + &mut MmC2r::new(include_bytes!("../uwudhd.mod"), spec.freq as isize).unwrap(), + ), + } + }) + .unwrap(); + + // Start playback + device.resume(); + } let video_subsystem = sdl_context.video().unwrap(); -- cgit v1.2.3