mod constants;
pub(crate) mod header;
mod properties;
mod read;
pub use header::{ChannelMode, Emphasis, Layer, MpegVersion};
pub use properties::MPEGProperties;
use crate::ape::tag::ApeTag;
use crate::id3::v1::tag::ID3v1Tag;
use crate::id3::v2::tag::ID3v2Tag;
use lofty_attr::LoftyFile;
#[derive(LoftyFile, Default)]
#[lofty(read_fn = "read::read_from")]
#[lofty(internal_write_module_do_not_use_anywhere_else)]
pub struct MPEGFile {
#[lofty(tag_type = "ID3v2")]
pub(crate) id3v2_tag: Option<ID3v2Tag>,
#[lofty(tag_type = "ID3v1")]
pub(crate) id3v1_tag: Option<ID3v1Tag>,
#[lofty(tag_type = "APE")]
pub(crate) ape_tag: Option<ApeTag>,
pub(crate) properties: MPEGProperties,
}