use std::time::Instant;
use crate::FileLoader;
use crate::Music;
use crate::SoundBank;
#[derive(Debug)]
pub struct AudioStub {
last_now: Instant,
capture_buffer: Vec<f32>,
sound_bank: SoundBank,
}
impl AudioStub {
pub fn new() -> Self {
eprintln!("Warning: Using STUB for all oml-audio!\nSelect a backend via a feature.");
Self {
last_now: Instant::now(),
capture_buffer: Vec::new(),
sound_bank: SoundBank::new(),
}
}
pub fn start(&mut self) {}
pub fn get_sound_bank_mut(&mut self) -> &mut SoundBank {
&mut self.sound_bank
}
pub fn fill_buffer(
_sound_bank: &mut SoundBank,
_producer: &mut ringbuf::Producer<f32>,
) -> usize {
0
}
pub fn drain_buffer(_consumer: &mut ringbuf::Consumer<f32>) -> usize {
0
}
pub fn update(&mut self) -> f64 {
let timestep = self.last_now.elapsed().as_secs_f64();
self.last_now = Instant::now();
timestep
}
pub fn load_music(&mut self, fileloader: &mut impl FileLoader, filename: &str) -> bool {
true
}
pub fn load_music_native(&mut self, fileloader: &mut impl FileLoader, filename: &str) -> bool {
true
}
pub fn play_music(&mut self) {
}
pub fn pause_music(&mut self) {
}
pub fn load_sound_bank(&mut self, fileloader: &mut impl FileLoader, filename: &str) {
}
pub fn play_sound(&mut self, name: &str) {
}
pub fn is_any_sound_playing(&self) -> bool {
false
}
pub fn capture(&mut self, size: usize) {}
pub fn capture_buffer_slice(&self) -> &[f32] {
self.capture_buffer.as_slice()
}
}