Another simple cue parser for Rust with nom.
Supports cue files in UTF-8 and UTF-8 with BOM.
Current document is not complete and the api is a bit complex, so rcue or libcue.rs (though I can't compile this) may be a better choice.
cuna 0.5.0 has introduced some incompatible changes, see the documention before you upgrade (if you actually wanted).
If you find something not follow the cue standard or confusing, please open an issue.
```rust use cuna::Cuna; use cuna::error::Error;
fn main() -> Result<(), Error> { let file = "tests/EGOIST - Departures ~あなたにおくるアイの歌~.cue"; let cue = Cuna::open(file)?; asserteq!(cue.comments[0], "GENRE Pop"); asserteq!(cue.header.title, Some(vec!["Departures ~あなたにおくるアイの歌~".toowned()])); asserteq!(cue[0].name, "EGOIST - Departures ~あなたにおくるアイの歌~.flac"); asserteq!(cue[0][0].performer(), Some(&vec!["EGOIST".toowned()])); Ok(()) } ```
Here's a benchmark with a 42-line cue file (may be outdated).
Only test Cuna::fromutf8with_bom() with i5-7300HQ.
cuna time: [21.899 us 21.962 us 22.033 us]
change: [-1.1745% -0.3960% +0.3489%] (p = 0.31 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
You can run cargo bench
for more exact data.