10个版本

0.5.0 2023年3月2日
0.4.5 2023年2月28日
0.4.4 2020年11月11日
0.4.3 2019年11月10日
0.1.0 2019年5月4日

#329 in 音频

每月50次下载
gnudb中使用

LGPL-3.0-or-later

35KB
540

MusicBrainz libdiscid的Rust绑定

crates.io Documentation License builds.sr.ht status

关于

discid为MusicBrainz DiscID库提供Rust绑定libdiscid。它可以计算音频CD的DiscID(MusicBrainz和freedb)。此外,该库可以从光盘提取MCN/UPC/EAN和ISRC。

要求

  • libdiscid >= 0.6.0

使用

只读取TOC

use discid::DiscId;

fn main() {
  // Specifying the device is optional. If set to `None` a platform
  // specific default will be used.
  let device = Some("/dev/cdrom");
  let disc = DiscId::read(device).expect("Reading disc failed");
  println!("ID: {}", disc.id());
}

读取TOC和ISRC

use discid::{DiscId, Features};

fn main() {
  let disc = DiscId::read_features(None, Features::ISRC).expect("Reading disc failed");
  println!("Disc ID: {}", disc.id());

  for track in disc.tracks() {
    println!("Track #{} ISRC: {}", track.number, track.isrc);
  }
}

有关详细信息,请参阅API文档。更多示例可在examples/目录中找到。

贡献

rust-discid的源代码可在SourceHut上获取。

请在问题跟踪器上报告任何问题。

补丁可以提交到邮件列表。您可以直接在SourceHut上克隆仓库,并通过“准备补丁集”按钮提交更改。有关将补丁提交到上游的详细信息,请参阅SourceHut的文档

许可协议

rust-discid版权所有(c)2019-2023 by Philipp Wolfer [email protected]

rust-discid是自由软件:您可以重新分配它并/或修改它,前提是您遵守自由软件基金会发布的GNU通用公共许可证的条款,无论是许可证的第3版,还是(根据您的选择)任何后续版本。

本程序的分发是希望它会是有用的,但没有提供任何保证;甚至没有隐含的适销性保证或特定用途适用性保证。有关更多信息,请参阅GNU通用公共许可证。

有关详细信息,请参阅LICENSE

依赖关系

~0–2MB
~39K SLoC