7个版本
0.2.2 | 2022年5月21日 |
---|---|
0.2.1 | 2022年5月21日 |
0.1.4 | 2022年5月20日 |
#500 in 认证
19KB
426 代码行
用于从gnudb.org获取CDDB信息(类似于过去的cddb.com和freedb.org)的Crate。
它使用discid crate从CDROM/DVDROM驱动器查询discid。
目前仅实现了登录、查询和读取,并且仅在CDDBP(而非HTTP)上实现。
代码现在是完全异步的。
使用方法
// get a disc id by querying the disc in the default CD/DVD ROM drive
let discid = DiscId::read(Some(DiscId::default_device().as_str())).unwrap();
// open a connection
let mut con = Connection::new().await.unwrap();
// find a list of matches (could be multiple)
let matches: Vec<Match> = con.query(&discid).await.unwrap();
// select the right match
let ref m: Match = matches[2];
// read all the metadata
let _disc = con.read(&m).await.unwrap();
// close the connection (Drop trait is implemented, so not strictly necessary)
con.close();
lib.rs
:
用于从gnudb.org获取CDDB信息(类似于过去的cddb.com和freedb.org)的Crate。
目前仅实现了登录、查询和读取,并且仅在CDDBP(而非HTTP)上实现。所有I/O现在都是异步的。
依赖项
~6–20MB
~257K SLoC