2个稳定版本
2.1.0 | 2024年4月17日 |
---|---|
2.0.3 | 2023年8月13日 |
#164 in 音频
每月31次下载
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 的其他贡献者
- Colas Nahaboo [email protected],1999
- Godmar Back [email protected],2001
- Matthew Green [email protected],2003
- Piotr Kaczuba [email protected],2009
- Reuben Thomas [email protected],2008
- Yegor Timoshenko [email protected],2017