2个稳定版本

2.1.0 2024年4月17日
2.0.3 2023年8月13日

#164 in 音频

每月31次下载

GPL-3.0许可证

20KB
417

BinChunker在Rust中

如标题所示,这基本上是使用Rust编写的bchunk,它具有与原始版本相同的功能以及一些改进。主要是在某些情况下使用起来更方便,并且它稍微快一些(只有在RAM磁盘或快速的SSD作为存储介质时才能明显感受到,因为存储仍然是最大的瓶颈)。

这为rbchunk添加了作为库的支持,可以被其他项目导入,基于https://gitlab.com/TheMaxus/rbchunk.git。一个示例CLI工具可以在examples/cli.rs中看到。

如何使用

基本使用(构建示例之后)

rbchunk [-w] [-s] foo.cue

如果只提供了一个文件,程序将将其视为CUE文件。

这将从CUE表中指定的.bin文件中提取曲目到当前目录,文件名为foo01.cdr等。 -w 开关将以.wav格式提取文件,而 -s 标志将切换字节顺序(如果您在输出文件中得到白噪声或其他损坏的音频,请使用此选项)。

rbchunk [-ws] foo.bin foo.cue [something]

这将执行与上面相同的操作,但您可以指定BIN文件和输出名称。

如果提供了两个或三个文件,第一个始终被视为BIN文件,第二个作为CUE文件,第三个作为输出文件名。任何其他参数都将被忽略。

作为库的基本使用

let args = read_args(); // Providing your own rbchunk::Args here
match rbchunk::convert(args) {
    Ok(()) => println!("Conversion complete!"),
    Err(err) => {
        println!("Error on conversion: {}", err);
        process::exit(1);
    }
}

贡献

请随意为该项目做出贡献,但请尽量避免任何外部依赖,因为我试图保持此程序相对较小。

编译

  • gitclone https://github.com/luxtorpeda-dev/rbchunk
  • cargobuild -r

发布新版本

  • 首先确保合并了所有想要用于发布的pull请求。然后,在master分支上执行 git pull
  • 请确保已在本地上安装cargo-release cargo install cargo-release (https://github.com/crate-ci/cargo-release)
  • 运行 cargo release version major 以进行版本更新的试运行。也可以使用 minor、patch 等等。
  • 如果试运行成功,请再次运行:cargo release version major --execute。如果需要,请确保提交并推送到 git。
  • 运行 cargo release 以进行发布版本的试运行。
  • 如果试运行成功,请运行 cargo release --execute。这一步将推送 git 标签,并触发 GitHub Action 将新版本发布到 crate。

致谢

本程序主要基于 Heikki Hannikainen 的 bchunk,[email protected]
该程序又是基于 Bob Marietta 的 BinChunker,[email protected]

bchunk 的其他贡献者

无运行时依赖