rcue/
lib.rs

1#![deny(
2    missing_docs,
3    missing_debug_implementations,
4    missing_copy_implementations,
5    trivial_casts,
6    trivial_numeric_casts,
7    unsafe_code,
8    unstable_features,
9    unused_import_braces,
10    unused_qualifications
11)]
12
13//! rcue is a simple CUE sheet reader.
14//!
15//! This library reads some CUE files fine, but is missing one important feature.
16//!
17//! Right now, indentation is treated as insignificant (= no proper contextual support).
18//! This means if `REM` fields appear after a `TRACK` field (but are indented to the `FILE`'s level,
19//! it will be wrongly assigned to the `TRACK` instead.
20//!
21//! ## Usage
22//!
23//! ```rust
24//! extern crate rcue;
25//!
26//! use rcue::parser::parse_from_file;
27//! use rcue::parser::parse;
28//!
29//! fn main() {
30//!     let cue = parse_from_file("test/fixtures/unicode.cue", true).unwrap();
31//!     assert_eq!(cue.title, Some("マジコカタストロフィ".to_string()));
32//!
33//!     let file = std::fs::File::open("test/fixtures/unicode.cue").unwrap();
34//!     let mut buf_reader = std::io::BufReader::new(file);
35//!     let cue = parse(&mut buf_reader, true).unwrap();
36//!     assert_eq!(cue.title, Some("マジコカタストロフィ".to_string()));
37//! }
38//! ```
39//!
40//! See [`rcue::parser::parse`](parser/fn.parse.html) or
41//! [`rcue::parser::parse_from_file`](parser/fn.parse_from_file.html) for usage.
42//!
43//! [GitHub repository](https://github.com/gyng/rcue)
44
45/// Structs and types
46pub mod cue;
47/// Errors module
48pub mod errors;
49/// Parser implementation
50pub mod parser;
51/// Utility functions
52pub mod util;