Add build instructions for Windows.
[mandelwow.git] / sound.rs
index d7dae929fa75cf9df80097d8db954338662f5464..ca313b875e03e6dbe528b6fb5625fb7b5daa8447 100644 (file)
--- a/sound.rs
+++ b/sound.rs
@@ -29,8 +29,8 @@ fn play_xm(raw_xm: &[u8]) -> SoundPlayer {
 
     let desired_spec = AudioSpecDesired {
         freq: Some(SAMPLE_RATE),
-        channels: Some(2u8),
-        samples: None,
+        channels: Some(2),
+        samples: Some(4096),  // 85ms
     };
     let device = sdl_audio.open_playback(None, &desired_spec, |actual_spec| {
         let xm = XMContext::new(&raw_xm, actual_spec.freq as u32).unwrap();
@@ -64,9 +64,7 @@ pub fn start() -> SoundPlayer {
 
 pub fn hit_event(player: &mut SoundPlayer) -> f32 {
     use std::ops::Deref;
-    let maybe_audio_device = &mut player.device;
-    let audio_device = &mut maybe_audio_device.as_mut().unwrap();
-    let audio_device_lock = audio_device.lock();
+    let audio_device_lock = player.device.as_mut().unwrap().lock();
     let xm_callback = audio_device_lock.deref();
     let xm = &xm_callback.xm;
     let n_samples = xm.latest_trigger_of_instrument(0x1D);