20个版本
0.4.0 | 2024年7月29日 |
---|---|
0.3.5 | 2024年2月8日 |
0.3.4 | 2023年11月25日 |
0.2.1 | 2023年6月26日 |
0.1.0 | 2022年12月26日 |
#169 在 数据库接口
每月253次下载
120KB
2K SLoC
CDTOC
CDTOC是一个简单的Rust库,用于解析和处理音频CD目录表,即以CDTOC-style元数据值的形式。
默认情况下,它还可以为像AccurateRip、CDDB、CUETools 数据库和MusicBrainz这样的服务生成盘ID,但您可以通过禁用相应的crate功能(分别禁用accuraterip
、cddb
、ctdb
和musicbrainz
)来缩小依赖树,如果您不需要这些功能的话。
示例
use cdtoc::Toc;
// From a CDTOC string.
let toc1 = Toc::from_cdtoc("4+96+2D2B+6256+B327+D84A").unwrap();
// From the raw parts.
let toc2 = Toc::from_parts(
vec![150, 11563, 25174, 45863],
None,
55370,
).unwrap();
// Either way gets you to the same place.
assert_eq!(toc1, toc2);
// You can also get a CDTOC-style string back at any time:
assert_eq!(toc1.to_string(), "4+96+2D2B+6256+B327+D84A");
序列化和反序列化
可以通过启用可选的serde
crate功能来公开此库类型的序列化和反序列化实现
类型 | 格式 | 备注 |
---|---|---|
AccurateRip |
字符串 |
|
Cddb |
字符串 |
|
持续时间 |
u64 |
|
ShaB64 |
字符串 |
MusicBrainz和CTDB ID。 |
Toc |
字符串 |
|
轨道 |
映射 |
|
轨道位置 |
字符串 |
安装
在Cargo.toml
中的dependencies
中添加cdtoc
,如下所示
[dependencies]
cdtoc = "0.4.*"
磁盘ID辅助工具需要额外的依赖项,因此如果您不使用它们,请确保禁用默认功能(添加您确实想要的功能)以跳过开销。
[dependencies.cdtoc]
version = "0.4.*"
default-features = false
许可证
版权 © 2024 Blobfolio, LLC <[email protected]>
本作品是免费的。您可以在Do What The Fuck You Want To Public License,版本2的条款下重新分发或修改它。
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
依赖项
~275–530KB
~11K SLoC