25 releases (8 stable)

new 1.1.1 May 12, 2025
1.0.5 Aug 7, 2023
1.0.3 Jul 30, 2023
1.0.2 Feb 17, 2022
0.2.2 Nov 22, 2020

#1026 in Audio

Download history 262/week @ 2025-01-20 109/week @ 2025-01-27 238/week @ 2025-02-03 260/week @ 2025-02-10 127/week @ 2025-02-17 224/week @ 2025-02-24 145/week @ 2025-03-03 255/week @ 2025-03-10 225/week @ 2025-03-17 253/week @ 2025-03-24 286/week @ 2025-03-31 164/week @ 2025-04-07 138/week @ 2025-04-14 282/week @ 2025-04-21 269/week @ 2025-04-28 129/week @ 2025-05-05

834 downloads per month
Used in 11 crates (via soloud)

MIT license

7MB
73K SLoC

C++ 45K SLoC // 0.1% comments C 22K SLoC // 0.0% comments Rust 3K SLoC // 0.0% comments Python 2K SLoC // 0.5% comments Lua 871 SLoC // 0.0% comments Ruby 102 SLoC // 0.1% comments C# 20 SLoC // 0.2% comments Batch 12 SLoC Shell 1 SLoC JavaScript 1 SLoC

soloud-sys

Raw bindings to soloud. These are generated using bindgen on the soloud C headers.

Usage

[dependencies]
soloud-sys = { version = "1", features = ["miniaudio"] }

Example code:

use soloud_sys::soloud::*;

fn main() {
    unsafe {
        let sl = Soloud_create();
        Soloud_init(sl);
        std::thread::sleep(std::time::Duration::from_millis(100));
        Soloud_setGlobalVolume(sl, 3.0);
    
        let speech = Speech_create();
    
        let ret = Speech_setText(speech, "Hello World\0".as_ptr() as _);
    
        dbg!(ret);

        Soloud_play(sl, speech);
        while Soloud_getVoiceCount(sl) > 0 {
            // calls to play are non-blocking, so we put the thread to sleep
            std::thread::sleep(std::time::Duration::from_millis(100));
        }
    }
}

Dependencies