1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
//! A library for reading and writing APEv2 tags.
//!
//! An APE tag is a tag used to add metadata (title, artist, album, etc...) to digital audio files.
//!
//! Read the [specification][1] for more information.
//!
//! # Examples
//!
//! ## Creating a tag
//!
//! ```no_run
//! use ape::{Item, Tag, write_to_path};
//!
//! let mut tag = Tag::new();
//! let item = Item::from_text("artist", "Artist Name").unwrap();
//! tag.set_item(item);
//! write_to_path(&tag, "path/to/file").unwrap();
//! ```
//!
//! ## Reading a tag
//!
//! ```no_run
//! use ape::read_from_path;
//!
//! let tag = read_from_path("path/to/file").unwrap();
//! let item = tag.item("artist").unwrap();
//! println!("{:?}", item.value);
//! ```
//!
//! ## Updating a tag
//!
//! ```no_run
//! use ape::{Item, write_to_path, read_from_path};
//!
//! let path = "path/to/file";
//! let mut tag = read_from_path(path).unwrap();
//! let item = Item::from_text("album", "Album Name").unwrap();
//! tag.set_item(item);
//! tag.remove_items("cover");
//! write_to_path(&tag, path).unwrap();
//! ```
//!
//! ## Deleting a tag
//!
//! ```no_run
//! use ape::remove_from_path;
//!
//! remove_from_path("path/to/file").unwrap();
//! ```
//!
//! [1]: http://wiki.hydrogenaud.io/index.php?title=APEv2_specification
//!
#![warn(missing_docs)]
pub use self::{
error::{Error, Result},
item::{Item, ItemValue},
tag::{read_from, read_from_path, remove_from, remove_from_path, write_to, write_to_path, Tag},
};
mod error;
mod item;
mod meta;
mod tag;
mod util;