#[non_exhaustive]
pub enum ItemKey {
Show 90 variants AlbumTitle, SetSubtitle, ShowName, ContentGroup, TrackTitle, TrackSubtitle, OriginalAlbumTitle, OriginalArtist, OriginalLyricist, AlbumTitleSortOrder, AlbumArtistSortOrder, TrackTitleSortOrder, TrackArtistSortOrder, ShowNameSortOrder, ComposerSortOrder, AlbumArtist, TrackArtist, Arranger, Writer, Composer, Conductor, Engineer, InvolvedPeople, Lyricist, MixDj, MixEngineer, MusicianCredits, Performer, Producer, Publisher, Label, InternetRadioStationName, InternetRadioStationOwner, Remixer, DiscNumber, DiscTotal, TrackNumber, TrackTotal, Popularimeter, ParentalAdvisory, RecordingDate, Year, OriginalReleaseDate, ISRC, Barcode, CatalogNumber, Movement, MovementIndex, FlagCompilation, FlagPodcast, FileType, FileOwner, TaggingTime, Length, OriginalFileName, OriginalMediaType, EncodedBy, EncoderSoftware, EncoderSettings, EncodingTime, ReplayGainAlbumGain, ReplayGainAlbumPeak, ReplayGainTrackGain, ReplayGainTrackPeak, AudioFileURL, AudioSourceURL, CommercialInformationURL, CopyrightURL, TrackArtistURL, RadioStationURL, PaymentURL, PublisherURL, Genre, InitialKey, Mood, BPM, CopyrightMessage, License, PodcastDescription, PodcastSeriesCategory, PodcastURL, PodcastReleaseDate, PodcastGlobalUniqueID, PodcastKeywords, Comment, Description, Language, Script, Lyrics, Unknown(String),
}
Expand description

A generic representation of a tag’s key

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

AlbumTitle

SetSubtitle

ShowName

ContentGroup

TrackTitle

TrackSubtitle

OriginalAlbumTitle

OriginalArtist

OriginalLyricist

AlbumTitleSortOrder

AlbumArtistSortOrder

TrackTitleSortOrder

TrackArtistSortOrder

ShowNameSortOrder

ComposerSortOrder

AlbumArtist

TrackArtist

Arranger

Writer

Composer

Conductor

Engineer

InvolvedPeople

Lyricist

MixDj

MixEngineer

MusicianCredits

Performer

Producer

Publisher

Label

InternetRadioStationName

InternetRadioStationOwner

Remixer

DiscNumber

DiscTotal

TrackNumber

TrackTotal

Popularimeter

ParentalAdvisory

RecordingDate

Year

OriginalReleaseDate

ISRC

Barcode

CatalogNumber

Movement

MovementIndex

FlagCompilation

FlagPodcast

FileType

FileOwner

TaggingTime

Length

OriginalFileName

OriginalMediaType

EncodedBy

EncoderSoftware

EncoderSettings

EncodingTime

ReplayGainAlbumGain

ReplayGainAlbumPeak

ReplayGainTrackGain

ReplayGainTrackPeak

AudioFileURL

AudioSourceURL

CommercialInformationURL

CopyrightURL

TrackArtistURL

RadioStationURL

PaymentURL

PublisherURL

Genre

InitialKey

Mood

BPM

CopyrightMessage

License

PodcastDescription

PodcastSeriesCategory

PodcastURL

PodcastReleaseDate

PodcastGlobalUniqueID

PodcastKeywords

Comment

Description

Language

Script

Lyrics

Unknown(String)

When a key couldn’t be mapped to another variant

This will not allow writing keys that are out of spec (Eg. ID3v2.4 frame IDs must be 4 characters)

Implementations

Map a format specific key to an ItemKey

NOTE: If used with ID3v2, this will only check against the ID3v2.4 keys. If you wish to use a V2 or V3 key, see upgrade_v2 and upgrade_v3

Maps the variant to a format-specific key

Use allow_unknown to include ItemKey::Unknown. It is up to the caller to determine if the unknown key actually fits the format’s specifications.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.