id3dev 26.01 An ID3 metadata library

Loading...
Searching...
No Matches
id3v1Types.h File Reference

Definitions for ID3v1 tag structure, constants, and genre enumeration. More...

`#include <stdbool.h>`
`#include <stdint.h>`
Include dependency graph for id3v1Types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | _Id3v1Tag
| ID3v1/ID3v1.1 tag structure containing all metadata fields. More...

## Macros
#define | ID3V1_TAG_ID_SIZE 3
| Size in bytes of the ID3v1 tag identifier "TAG" (3 bytes)
#define | ID3V1_YEAR_SIZE 4
| Size in bytes of the year field in ID3v1 tags (4 bytes)
#define | ID3V1_FIELD_SIZE 30
| Size in bytes of text fields (title, artist, album, comment) in ID3v1 tags (30 bytes)
#define | ID3V1_MAX_SIZE 128
| Total size in bytes of a complete ID3v1/ID3v1.1 tag on disk (128 bytes)
#define | ID3V1_TAG_VERSION 1
| Major version number for ID3v1 and ID3v1.1 specification (always 1)

## Typedefs
typedef enum _Genre | Genre
| ID3v1 genre enumeration with Winamp extensions (genres 0-191).
typedef struct _Id3v1Tag | Id3v1Tag
| ID3v1/ID3v1.1 tag structure containing all metadata fields.

## Enumerations
enum | _Genre { BLUES_GENRE , CLASSIC_ROCK_GENRE , COUNTRY_GENRE , DANCE_GENRE , DISCO_GENRE , FUNK_GENRE , GRUNGE_GENRE , HIP_HOP_GENRE , JAZZ_GENRE , METAL_GENRE , NEW_AGE_GENRE , OLDIES_GENRE , OTHER_GENRE , POP_GENRE , RHYTHM_AND_BLUES_GENRE , RAP_GENRE , REGGAE_GENRE , ROCK_GENRE , TECHNO_GENRE , INDUSTRIAL_GENRE , ALTERNATIVE_GENRE , SKA_GENRE , DEATH_METAL_GENRE , PRANKS_GENRE , SOUNDTRACK_GENRE , EURO_TECHNO_GENRE , AMBIENT_GENRE , TRIP_HOP_GENRE , VOCAL_GENRE , JAZZ_AND_FUNK_GENRE , FUSION_GENRE , TRANCE_GENRE , CLASSICAL_GENRE , INSTRUMENTAL_GENRE , ACID_GENRE , HOUSE_GENRE , GAME_GENRE , SOUND_CLIP_GENRE , GOSPEL_GENRE , NOISE_GENRE , ALTERNATIVE_ROCK_GENRE , BASS_GENRE , SOUL_GENRE , PUNK_GENRE , SPACE_GENRE , MEDITATIVE_GENRE , INSTRUMENTAL_POP_GENRE , INSTRUMENTAL_ROCK_GENRE , ETHNIC_GENRE , GOTHIC_GENRE , DARKWAVE_GENRE , TECHNO_INDUSTRIAL_GENRE , ELECTRONIC_GENRE , POP_FOLK_GENRE , EURODANCE_GENRE , DREAM_GENRE , SOUTHERN_ROCK_GENRE , COMEDY_GENRE , CULT_GENRE , GANGSTA_GENRE , TOP_40_GENRE , CHRISTIAN_RAP_GENRE , POP_FUNK_GENRE , JUNGLE_MUSIC_GENRE , NATIVE_US_GENRE , CABARET_GENRE , NEW_WAVE_GENRE , PSYCHEDELIC_GENRE , RAVE_GENRE , SHOWTUNES_GENRE , TRAILER_GENRE , LO_FI_GENRE , TRIBAL_GENRE , ACID_PUNK_GENRE , ACID_JAZZ_GENRE , POLKA_GENRE , RETRO_GENRE , MUSICAL_GENRE , ROCKNROLL_GENRE , HARD_ROCK_GENRE , FOLK_GENRE , FOLK_ROCK_GENRE , NATIONAL_FOLK_GENRE , SWING_GENRE , FAST_FUSION_GENRE , BEBOP_GENRE , LATIN_GENRE , REVIVAL_GENRE , CELTIC_GENRE , BLUEGRASS_GENRE , AVANTGARDE_GENRE , GOTHIC_ROCK_GENRE , PROGRESSIVE_ROCK_GENRE , PSYCHEDELIC_ROCK_GENRE , SYMPHONIC_ROCK_GENRE , SLOW_ROCK_GENRE , BIG_BAND_GENRE , CHORUS_GENRE , EASY_LISTENING_GENRE , ACOUSTIC_GENRE , HUMOUR_GENRE , SPEECH_GENRE , CHANSON_GENRE , OPERA_GENRE , CHAMBER_MUSIC_GENRE , SONATA_GENRE , SYMPHONY_GENRE , BOOTY_BASS_GENRE , PRIMUS_GENRE , PORN_GROOVE_GENRE , SATIRE_GENRE , SLOW_JAM_GENRE , CLUB_GENRE , TANGO_GENRE , SAMBA_GENRE , FOLKLORE_GENRE , BALLAD_GENRE , POWER_BALLAD_GENRE , RHYTHMIC_SOUL_GENRE , FREESTYLE_GENRE , DUET_GENRE , PUNK_ROCK_GENRE , DRUM_SOLO_GENRE , A_CAPPELLA_GENRE , EURO_HOUSE_GENRE , DANCE_HALL_GENRE , GOA_MUSIC_GENRE , DRUM_AND_BASS_GENRE , CLUB_HOUSE_GENRE , HARDCORE_TECHNO_GENRE , TERROR_GENRE , INDIE_GENRE , BRITPOP_GENRE , NEGERPUNK_GENRE , POLSK_PUNK_GENRE , BEAT_GENRE , CHRISTIAN_GANGSTA_RAP_GENRE , HEAVY_METAL_GENRE , BLACK_METAL_GENRE , CROSSOVER_GENRE , CONTEMPORARY_CHRISTIAN_GENRE , CHRISTIAN_ROCK_GENRE , MERENGUE_GENRE , SALSA_GENRE , THRASH_METAL_GENRE , ANIME_GENRE , JPOP_GENRE , SYNTHPOP_GENRE , CHRISTMAS_GENRE , ABSTRACT_GENRE , ART_ROCK_GENRE , BAROQUE_GENRE , BHANGRA_GENRE , BIG_BEAT_GENRE , BREAKBEAT_GENRE , CHILLOUT_GENRE , DOWNTEMPO_GENRE , DUB_GENRE , EBM_GENRE , ECLECTIC_GENRE , ELECTRO_GENRE , ELECTROCLASH_GENRE , EMO_GENRE , EXPERIMENTAL_GENRE , GARAGE_GENRE , GLOBAL_GENRE , IDM_GENRE , ILLBIENT_GENRE , INDUSTRO_GOTH_GENRE , JAM_BAND_GENRE , KRAUTROCK_GENRE , LEFTFIELD_GENRE , LOUNGE_GENRE , MATH_ROCK_GENRE , NEW_ROMANTIC_GENRE , NU_BREAKZ_GENRE , POST_PUNK_GENRE , POST_ROCK_GENRE , PSYTRANCE_GENRE , SHOEGAZE_GENRE , SPACE_ROCK_GENRE , TROP_ROCK_GENRE , WORLD_MUSIC_GENRE , NEOCLASSICAL_GENRE , AUDIOBOOK_GENRE , AUDIO_THEATRE_GENRE , NEUE_DEUTSCHE_WELLE_GENRE , PODCAST_GENRE , INDIE_ROCK_GENRE , G_FUNK_GENRE , DUBSTEP_GENRE , GARAGE_ROCK_GENRE , PSYBIENT_GENRE }
| ID3v1 genre enumeration with Winamp extensions (genres 0-191). More...

## Detailed Description

Definitions for ID3v1 tag structure, constants, and genre enumeration.

Author
  Ewan Jones

Version
  26.01

Date
  2023-10-02 - 2026-01-11

Copyright
  Copyright (c) 2023 - 2026

Definition in file id3v1Types.h.

## Macro Definition Documentation

## ◆ ID3V1_FIELD_SIZE

#define ID3V1_FIELD_SIZE 30

Size in bytes of text fields (title, artist, album, comment) in ID3v1 tags (30 bytes)

Definition at line 28 of file id3v1Types.h.

## ◆ ID3V1_MAX_SIZE

#define ID3V1_MAX_SIZE 128

Total size in bytes of a complete ID3v1/ID3v1.1 tag on disk (128 bytes)

Definition at line 31 of file id3v1Types.h.

## ◆ ID3V1_TAG_ID_SIZE

#define ID3V1_TAG_ID_SIZE 3

Size in bytes of the ID3v1 tag identifier "TAG" (3 bytes)

Definition at line 22 of file id3v1Types.h.

## ◆ ID3V1_TAG_VERSION

#define ID3V1_TAG_VERSION 1

Major version number for ID3v1 and ID3v1.1 specification (always 1)

Definition at line 34 of file id3v1Types.h.

## ◆ ID3V1_YEAR_SIZE

#define ID3V1_YEAR_SIZE 4

Size in bytes of the year field in ID3v1 tags (4 bytes)

Definition at line 25 of file id3v1Types.h.

## Typedef Documentation

## ◆ Genre

typedef enum _Genre Genre

ID3v1 genre enumeration with Winamp extensions (genres 0-191).

Complete list of standard ID3v1 genres (0-79) and Winamp extension genres (80-191). Enum values map directly to byte values stored in ID3v1 tags. OTHER_GENRE serves as the default for unknown genres.

See also
  https://en.wikipedia.org/wiki/List_of_ID3v1_Genres

## ◆ Id3v1Tag

typedef struct _Id3v1Tag Id3v1Tag

ID3v1/ID3v1.1 tag structure containing all metadata fields.

Holds fixed-size string buffers (ID3V1_FIELD_SIZE bytes each) for title, artist, album, and comment, plus numeric values for year, track number, and genre byte. Represents both ID3v1 and ID3v1.1 formats.

## Enumeration Type Documentation

## ◆ _Genre

enum _Genre

ID3v1 genre enumeration with Winamp extensions (genres 0-191).

Complete list of standard ID3v1 genres (0-79) and Winamp extension genres (80-191). Enum values map directly to byte values stored in ID3v1 tags. OTHER_GENRE serves as the default for unknown genres.

See also
  https://en.wikipedia.org/wiki/List_of_ID3v1_Genres

Enumerator
BLUES_GENRE | Blues Audio.
CLASSIC_ROCK_GENRE | Classic Rock.
COUNTRY_GENRE | Country Audio.
DANCE_GENRE | Dance Audio.
DISCO_GENRE | Disco Audio.
FUNK_GENRE | Funk Audio.
GRUNGE_GENRE | Grunge Audio.
HIP_HOP_GENRE | Hip-Hop Audio.
JAZZ_GENRE | Jazz Audio.
METAL_GENRE | Metal Audio.
NEW_AGE_GENRE | New Age Audio.
OLDIES_GENRE | Oldies Music, pre-1950s.
OTHER_GENRE | Other Music Genres not Defined.
POP_GENRE | Pop Audio.
RHYTHM_AND_BLUES_GENRE | Rythem and Blues Audio.
RAP_GENRE | Rap Audio.
REGGAE_GENRE | Reggae Audio.
ROCK_GENRE | Rock Audio.
TECHNO_GENRE | Techno Audio.
INDUSTRIAL_GENRE | Industrial Audio.
ALTERNATIVE_GENRE | Alternative Audio.
SKA_GENRE | Ska Audio.
DEATH_METAL_GENRE | Death Metal Audio.
PRANKS_GENRE | Pranks Audio.
SOUNDTRACK_GENRE | Soundtracks and OSTs from other media.
EURO_TECHNO_GENRE | European Techno Audio.
AMBIENT_GENRE | Ambient Audio.
TRIP_HOP_GENRE | Trip Audio.
VOCAL_GENRE | Vocal Audio.
JAZZ_AND_FUNK_GENRE | Jazz and Funk Audio.
FUSION_GENRE | Fusion of Genres.
TRANCE_GENRE | Trance Audio.
CLASSICAL_GENRE | Classical Audio.
INSTRUMENTAL_GENRE | Instrumental Audio.
ACID_GENRE | Acid Audio.
HOUSE_GENRE | House Audio.
GAME_GENRE | Video Game Audio.
SOUND_CLIP_GENRE | Sound Clip Audio.
GOSPEL_GENRE | Gospel Audio.
NOISE_GENRE | Noise Audio.
ALTERNATIVE_ROCK_GENRE | Alternative Rock Audio.
BASS_GENRE | Bass Audio.
SOUL_GENRE | Soul Audio.
PUNK_GENRE | Punk Audio.
SPACE_GENRE | Space Audio.
MEDITATIVE_GENRE | Meditative Audio.
INSTRUMENTAL_POP_GENRE | Instrumental Pop Audio.
INSTRUMENTAL_ROCK_GENRE | Instrumental Rock Audio.
ETHNIC_GENRE | Ethnic Audio.
GOTHIC_GENRE | Gothic Audio.
DARKWAVE_GENRE | Darkwave Audio.
TECHNO_INDUSTRIAL_GENRE | Techno Industrial Audio.
ELECTRONIC_GENRE | Electronic Audio.
POP_FOLK_GENRE | Pop Folk Audio.
EURODANCE_GENRE | European Dance Audio.
DREAM_GENRE | Dream Audio.
SOUTHERN_ROCK_GENRE | Southern Rock Audio.
COMEDY_GENRE | Comedy Audio.
CULT_GENRE | Cult Audio.
GANGSTA_GENRE | Gangsta Audio.
TOP_40_GENRE | Top 40 Chart Hits.
CHRISTIAN_RAP_GENRE | Christian Rap Audio.
POP_FUNK_GENRE | Funk Pop Audio.
JUNGLE_MUSIC_GENRE | Jungle Audio.
NATIVE_US_GENRE | Native Audio.
CABARET_GENRE | Cabaret Audio.
NEW_WAVE_GENRE | New Wave Audio.
PSYCHEDELIC_GENRE | Psychedelic Audio.
RAVE_GENRE | Rave Audio.
SHOWTUNES_GENRE | Theatre Show Tunes Audio.
TRAILER_GENRE | Audio From Media Trailers.
LO_FI_GENRE | Lo-Fi Audio.
TRIBAL_GENRE | Tribal Audio.
ACID_PUNK_GENRE | Acid Punk Audio.
ACID_JAZZ_GENRE | Acid Jazz Audio.
POLKA_GENRE | Polka Audio.
RETRO_GENRE | Retro Audio.
MUSICAL_GENRE | Audio from Musicals.
ROCKNROLL_GENRE | Rock and Roll Audio.
HARD_ROCK_GENRE | Hard Rock Audio.
FOLK_GENRE | Folk Audio.
FOLK_ROCK_GENRE | Folk Rock Audio.
NATIONAL_FOLK_GENRE | National Folk Audio.
SWING_GENRE | Swing Audio.
FAST_FUSION_GENRE | Fast Fusion Audio.
BEBOP_GENRE | Bebop Audio.
LATIN_GENRE | Latin Audio.
REVIVAL_GENRE | Revival Audio.
CELTIC_GENRE | Celtic Audio.
BLUEGRASS_GENRE | Blue Grass Audio.
AVANTGARDE_GENRE | Avantgarde Audio.
GOTHIC_ROCK_GENRE | Gothic Rock Audio.
PROGRESSIVE_ROCK_GENRE | Progressive Audio.
PSYCHEDELIC_ROCK_GENRE | Psychedelic Audio.
SYMPHONIC_ROCK_GENRE | Symphonic Rock Audio.
SLOW_ROCK_GENRE | Slow Rock Audio.
BIG_BAND_GENRE | Big Band Audio.
CHORUS_GENRE | Chorus Audio.
EASY_LISTENING_GENRE | Easy Listening Audio.
ACOUSTIC_GENRE | Acoustic Audio.
HUMOUR_GENRE | Humour Audio.
SPEECH_GENRE | Speech Audio.
CHANSON_GENRE | Chanson Audio.
OPERA_GENRE | Opera Audio.
CHAMBER_MUSIC_GENRE | Chamber Audio.
SONATA_GENRE | Sonata Audio.
SYMPHONY_GENRE | Symphony Audio.
BOOTY_BASS_GENRE | Booty Bass Audio.
PRIMUS_GENRE | Primus Audio.
PORN_GROOVE_GENRE | Porn Groove Audio.
SATIRE_GENRE | Satire Audio.
SLOW_JAM_GENRE | Slow Jam Audio.
CLUB_GENRE | Club Audio.
TANGO_GENRE | Tangp Audio.
SAMBA_GENRE | Samba Audio.
FOLKLORE_GENRE | Folklore Audio.
BALLAD_GENRE | Ballad Audio.
POWER_BALLAD_GENRE | Power Ballad Audio.
RHYTHMIC_SOUL_GENRE | Rhythmic Soul Audio.
FREESTYLE_GENRE | Free Style Audio.
DUET_GENRE | Duet Audio.
PUNK_ROCK_GENRE | Punk Rock Audio.
DRUM_SOLO_GENRE | Drum Solo Audio.
A_CAPPELLA_GENRE | Acappella Audio.
EURO_HOUSE_GENRE | European House Audio.
DANCE_HALL_GENRE | Dance Hall Audio.
GOA_MUSIC_GENRE | GOA Audio.
DRUM_AND_BASS_GENRE | Drum and Bass Audio.
CLUB_HOUSE_GENRE | Club House Audio.
HARDCORE_TECHNO_GENRE | Hardcore Techno Audio.
TERROR_GENRE | Terror Audio.
INDIE_GENRE | Indie Audio.
BRITPOP_GENRE | Britpop Audio.
NEGERPUNK_GENRE | Neger Punk Audio.
POLSK_PUNK_GENRE | Polsk Punk Audio.
BEAT_GENRE | Beat Audio.
CHRISTIAN_GANGSTA_RAP_GENRE | Christian Gangsta Rap Audio.
HEAVY_METAL_GENRE | Heavy Metal Audio.
BLACK_METAL_GENRE | Black Metal Audio.
CROSSOVER_GENRE | Crossover Audio.
CONTEMPORARY_CHRISTIAN_GENRE | Contemporary Christian Audio.
CHRISTIAN_ROCK_GENRE | Christian Rock Audio.
MERENGUE_GENRE | Merengue Audio.
SALSA_GENRE | Salsa Audio.
THRASH_METAL_GENRE | Thrash Metal Audio.
ANIME_GENRE | Anime Audio.
JPOP_GENRE | Japanese Pop Audio.
SYNTHPOP_GENRE | Synth Pop Audio.
CHRISTMAS_GENRE | Christmas Audio.
ABSTRACT_GENRE | Abstract Audio.
ART_ROCK_GENRE | Art Rock Audio.
BAROQUE_GENRE | Baroque Audio.
BHANGRA_GENRE | Bhangra Audio.
BIG_BEAT_GENRE | Big Beat Audio.
BREAKBEAT_GENRE | Beark Beat Audio.
CHILLOUT_GENRE | Chillout Audio.
DOWNTEMPO_GENRE | Down tempo Audio.
DUB_GENRE | Dub Audio.
EBM_GENRE | EBM Audio.
ECLECTIC_GENRE | Eclectic Audio.
ELECTRO_GENRE | Electro Audio.
ELECTROCLASH_GENRE | Electro Clash Audio.
EMO_GENRE | EMO Audio.
EXPERIMENTAL_GENRE | Experimental Audio.
GARAGE_GENRE | Garage Audio.
GLOBAL_GENRE | Global Audio.
IDM_GENRE | IDM Audio.
ILLBIENT_GENRE | Illbient Audio.
INDUSTRO_GOTH_GENRE | Industro Goth Audio.
JAM_BAND_GENRE | Jam Band Audio.
KRAUTROCK_GENRE | Krautrock Audio.
LEFTFIELD_GENRE | LeftField Audio.
LOUNGE_GENRE | Lounge Audio.
MATH_ROCK_GENRE | Math Rock Audio.
NEW_ROMANTIC_GENRE | New Romantic Audio.
NU_BREAKZ_GENRE | Nu-Breakz Audio.
POST_PUNK_GENRE | Post Punk Audio.
POST_ROCK_GENRE | Post Rock Audio.
PSYTRANCE_GENRE | Psytrance Audio.
SHOEGAZE_GENRE | Shoegaze Audio.
SPACE_ROCK_GENRE | Space Rock Audio.
TROP_ROCK_GENRE | Trop Rock Audio.
WORLD_MUSIC_GENRE | World Music Audio.
NEOCLASSICAL_GENRE | Neo Classical Audio.
AUDIOBOOK_GENRE | Audio Book.
AUDIO_THEATRE_GENRE | Audio Theatre.
NEUE_DEUTSCHE_WELLE_GENRE | Neue Deutsche Welle Audio.
PODCAST_GENRE | Podcast Audio.
INDIE_ROCK_GENRE | Indie Rock Audio.
G_FUNK_GENRE | G-Funk Audio.
DUBSTEP_GENRE | Dubstep Audio.
GARAGE_ROCK_GENRE | Garage Rock Audio.
PSYBIENT_GENRE | Psybient Audio.

Definition at line 42 of file id3v1Types.h.