proteus_audio 0.3.1

A command line utility and library for playing .prot audio files.
Documentation
use dasp_ring_buffer::Bounded;
use std::{
    collections::HashMap,
    sync::{Arc, Mutex},
};

pub fn init_buffer_map() -> Arc<Mutex<HashMap<u16, Bounded<Vec<f32>>>>> {
    let track_buffers: Arc<Mutex<HashMap<u16, Bounded<Vec<f32>>>>> =
        Arc::new(Mutex::new(HashMap::new()));
    track_buffers
}

pub fn buffer_remaining_space(
    track_buffers: &Arc<Mutex<HashMap<u16, Bounded<Vec<f32>>>>>,
    track_key: u16,
) -> usize {
    let track_buffers = track_buffers.lock().unwrap();
    let remaining_space: usize;
    match track_buffers.get(&track_key) {
        Some(track_buffer) => {
            remaining_space = track_buffer.max_len() - track_buffer.len();
        }
        None => remaining_space = 0,
    };
    drop(track_buffers);
    remaining_space
}