7 releases
0.2.2 | May 21, 2022 |
---|---|
0.2.1 | May 21, 2022 |
0.1.4 | May 20, 2022 |
#588 in Authentication
19KB
426 lines
Crate to get CDDB information from gnudb.org (like cddb.com and freedb.org in the past).
It uses the discid crate to query the discid from the CDROM/DVDROM drive.
Right now only login, query and read are implemented, and only over CDDBP (not HTTP).
The code is now fully async.
Usage:
// 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
:
Crate to get CDDB information from gnudb.org (like cddb.com and freedb.org in the past)
Right now only login, query and read are implemented, and only over CDDBP (not HTTP) All I/O is now done async
Dependencies
~5–16MB
~235K SLoC