Struct id3::v1::Tag[][src]

pub struct Tag {
    pub title: String,
    pub artist: String,
    pub album: String,
    pub year: String,
    pub comment: String,
    pub track: Option<u8>,
    pub genre_id: u8,
    pub speed: Option<u8>,
    pub genre_str: Option<String>,
    pub start_time: Option<String>,
    pub end_time: Option<String>,
}

A structure containing ID3v1 metadata.

Fields

title: String

The full title (ID3v1 + extension if present).

artist: String

The full artist (ID3v1 + extension if present).

album: String

The full album (ID3v1 + extension if present).

year: String

The release year as four digits.

The ID3v1 format can only represent values between 0 and 9999 inclusive.

comment: String

A free-form comment.

track: Option<u8>

Number of the track. ID3v1.1 data.

genre_id: u8

The genre mapping is standardized up to 79, altough this implementation uses the Winamp extended genre list: https://de.wikipedia.org/wiki/Liste_der_ID3v1-Genres

speed: Option<u8>

1 (slow), 2, 3, 4 (fast) or None when not set. ID3v1 extended data.

genre_str: Option<String>

Free-form genre string. ID3v1 extended data.

start_time: Option<String>

The real start of the track, mmm:ss. ID3v1 extended data.

end_time: Option<String>

The real end of the track, mmm:ss. ID3v1 extended data.

Implementations

impl Tag[src]

pub fn new() -> Tag[src]

Creates a new empty ID3v1 tag.

pub fn is_candidate(reader: impl Read + Seek) -> Result<bool>[src]

Checks whether the reader contains an ID3v1 tag.

The reader position will be reset back to the previous position before returning.

pub fn read_from(reader: impl Read + Seek) -> Result<Tag>[src]

Seeks to and reads a ID3v1 tag from the reader.

pub fn read_from_path(path: impl AsRef<Path>) -> Result<Tag>[src]

Attempts to read an ID3v1 tag from the file at the indicated path.

pub fn remove(file: &mut File) -> Result<bool>[src]

Removes an ID3v1 tag plus possible extended data if any.

The file cursor position will be reset back to the previous position before returning.

Returns true if the file initially contained a tag.

pub fn genre(&self) -> Option<&str>[src]

Returns genre_str, falling back to translating genre_id to a string.

Trait Implementations

impl Clone for Tag[src]

impl Debug for Tag[src]

impl Default for Tag[src]

impl Eq for Tag[src]

impl From<Tag> for Tag[src]

impl Hash for Tag[src]

impl PartialEq<Tag> for Tag[src]

impl StructuralEq for Tag[src]

impl StructuralPartialEq for Tag[src]

Auto Trait Implementations

impl RefUnwindSafe for Tag

impl Send for Tag

impl Sync for Tag

impl Unpin for Tag

impl UnwindSafe for Tag

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.