chore(main): add flag that enables audio

This commit is contained in:
Rekai Nyangadzayi Musuka 2021-08-18 16:34:26 -05:00
parent 4658a0d106
commit b10bc7b4fd
1 changed files with 12 additions and 9 deletions

View File

@ -12,6 +12,7 @@ use winit::window::{Window, WindowBuilder};
use winit_input_helper::WinitInputHelper; use winit_input_helper::WinitInputHelper;
const WINDOW_SCALE: f64 = 2.0; const WINDOW_SCALE: f64 = 2.0;
const AUDIO_ENABLED: bool = true;
fn main() -> Result<()> { fn main() -> Result<()> {
let app = App::new(crate_name!()) let app = App::new(crate_name!())
@ -63,16 +64,18 @@ fn main() -> Result<()> {
}; };
// Initialize Audio // Initialize Audio
let spsc: AudioSPSC<f32> = Default::default(); if AUDIO_ENABLED {
let (prod, cons) = spsc.init(); let spsc: AudioSPSC<f32> = Default::default();
let (_stream, stream_handle) = OutputStream::try_default().expect("Initialized Audio"); let (prod, cons) = spsc.init();
let sink = Sink::try_new(&stream_handle)?; let (_stream, stream_handle) = OutputStream::try_default().expect("Initialized Audio");
sink.append(cons); let sink = Sink::try_new(&stream_handle)?;
game_boy.apu_mut().attach_producer(prod); sink.append(cons);
game_boy.apu_mut().attach_producer(prod);
std::thread::spawn(move || { std::thread::spawn(move || {
sink.sleep_until_end(); sink.sleep_until_end();
}); });
}
let mut start = Instant::now(); let mut start = Instant::now();
let frame_time = Duration::from_secs_f64(1.0 / 59.73); // 59.73 Hz on Host let frame_time = Duration::from_secs_f64(1.0 / 59.73); // 59.73 Hz on Host