portable_audio_library/lib.rs
1//! This is an API for creation and manipulation of Portable Audio Library (PAL) files.
2//!
3//! # Usage
4//!
5//! ## Create a new PAL file from an audio library directory
6//!
7//! ```
8//! use portable_audio_library::builder::directory::build_metadata_from_directory;
9//!
10//! let metadata = build_metadata_from_directory("doc-tests/example-library").unwrap();
11//! ```
12//!
13//! ## Create a new PAL file from a metadata
14//!
15//! ```
16//! use portable_audio_library::builder::directory::build_metadata_from_directory;
17//!
18//! let mut metadata = build_metadata_from_directory("doc-tests/example-library").unwrap();
19//! metadata.write_to_file("doc-tests/example-library.pal").unwrap();
20//! ```
21//!
22//! ## Create an audio library directory from a PAL file
23//!
24//! ```
25//! use portable_audio_library::{tempfile, serialization::Metadata};
26//! use portable_audio_library::builder::directory::build_directory_from_metadata;
27//!
28//! let temporary_directory = tempfile::tempdir().unwrap();
29//! let metadata = Metadata::read_from_file("doc-tests/example-library.pal", temporary_directory.path()).unwrap();
30//!
31//! build_directory_from_metadata("doc-tests/out-library", &metadata).unwrap();
32//! ```
33//
34
35pub use tempfile;
36
37pub mod builder;
38pub mod compression;
39pub mod error;
40pub mod serialization;