#audio #gamedev #bindings #effect #version #buffer #don't

synthizer

绑定到Synthizer库,一个用于3D音频和效果的库

23个版本

0.5.6 2023年3月4日
0.5.4 2022年12月17日
0.5.3 2022年11月12日
0.5.1 2022年5月28日
0.2.0 2020年9月21日

#255 in 游戏开发

Download history 10/week @ 2024-03-13 5/week @ 2024-03-27 44/week @ 2024-04-03 2/week @ 2024-04-10

每月 121 次下载
bevy_synthizer中使用

Unlicense

12MB
266K SLoC

C 161K SLoC // 0.1% comments C++ 101K SLoC // 0.1% comments Rust 4K SLoC // 0.0% comments Shell 2 SLoC

合成器

CI状态 GitHub Sponsors

当前目标Synthizer版本:0.10.0

官方、高级绑定到Synthizer,一个用于3D音频和效果的库。

Synthizer本身有一份语言无关的C手动,通常涵盖了Synthizer的概念。这些绑定通常以一对一的方式明显映射。请参阅Rustdoc(docs.rs构建待定)或此存储库以获取Rust特定的示例和使用说明;我们不在此readme中放置很多示例,以便从doctests中受益。但它就像

//! Play a file by loading it into a buffer.
use synthizer as syz;

fn main() -> syz::Result<()> {
    let args = std::env::args().collect::<Vec<_>>();
    if args.len() != 2 {
        panic!("Usage: example <file>");
    }

    let _init_guard = syz::initialize()?;
    let context = syz::Context::new()?;
    let src = syz::DirectSource::new(&context)?;
    let generator = syz::BufferGenerator::new(&context)?;
    let buffer = syz::Buffer::from_file(args[1].as_str())?;
    generator.set_buffer(&buffer)?;
    src.add_generator(&generator)?;

    println!("Press enter to exit");
    std::io::stdin().read_line(&mut String::new()).unwrap();
    Ok(())
}

通过诸如每个源多个生成器、能够重用缓冲区等东西的额外复杂性来证明。

构建

这应该在大多数平台上直接构建,但Windows可能存在问题。如果您无法在Windows上构建,请尝试在MSVC外壳下构建,如果不起作用,请打开一个问题。

依赖项