aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs51
1 files changed, 29 insertions, 22 deletions
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();