3 个版本 (破坏性更改)
0.3.0 | 2021 年 8 月 21 日 |
---|---|
0.2.0 | 2021 年 2 月 18 日 |
0.1.1 | 2021 年 2 月 15 日 |
#2 in #however
130KB
2K SLoC
ittech
Impulse Tracker 模块文件解析器和写入器。目前仍处于开发中,解析器已经可以实际使用,但是 API 仍然不稳定,可能会频繁更改。写入器尚未实现。
可以使用 render 示例 来播放 IT 模块文件,但是该示例本身不实现效果,因此大多数曲目可能听起来真的很糟糕。《dump 示例》对于展示库的当前解析能力很有用。
可以使用 cargo 运行示例
cargo run --example dump -- module_file.it
cargo run --example render -- module_file.it out.wav
在调试模式下,render 示例可能有点慢,渲染器非常原始且未优化。
文档
文档可以在 docs.rs/ittech 查看。
该库的主要重点是尽可能详细地记录文件格式,并指出众多实现中的差异。主要用作参考的实现是 OpenMPT 和 Schism Tracker。Schism Tracker 努力实现 Impulse Tracker 的原始版本,而 OpenMPT 则做得更多。如果您想深入研究代码库,Schism Tracker 的源代码更易于阅读,因为它只支持一种模块格式;然而,我们认为 OpenMPT 的音质更好。
许可证
本软件根据 GPLv3 或更高版本许可。
依赖项
~1–1.3MB
~24K SLoC