INNER CODE UNIT · Rust

amplitude_to_decibels

PistonDevelopers/piston_window · src/piston_script.rs:412

    fn amplitude_to_decibels(amplitude: f32) -> kira::Decibels {
        if amplitude <= 0.0 {return kira::Decibels::SILENCE};
        (20.0 * amplitude.log10()).into()
    }

    dyon_fn!{fn play_sound_forever__name_volume(name: Arc<String>, volume: f64) {
        use crate::piston_script::Sounds;
        use crate::piston_script::AudioManager;
        use kira::sound::static_sound::StaticSoundData;
        use std::path::Path;

        let f = |x| amplitude_to_decibels(x);

        let audio_manager = unsafe { &mut *Current::<AudioManager>::new() };
        let sounds = unsafe { &mut *Current::<Sounds>::new() };
        let sound_track = audio_manager.main_track();
        if let Some((file, sound_data)) = sounds.get_mut(&name) {
            if let Some(sound_data) = sound_data {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…