Files
id3_editor/metadata/genres.v
T

320 lines
5.6 KiB
V

module metadata
@[heap]
enum Genre as u8 {
blues = 0
classic_rock = 1
country = 2
dance = 3
disco = 4
funk = 5
grunge = 6
hip_hop = 7
jazz = 8
metal = 9
new_age = 10
oldies = 11
other = 12
pop = 13
r_and_b = 14
rap = 15
reggae = 16
rock = 17
techno = 18
industrial = 19
alternative = 20
ska = 21
death_metal = 22
pranks = 23
soundtrack = 24
euro_techno = 25
ambient = 26
trip_hop = 27
vocal = 28
jazz_funk = 29
fusion = 30
trance = 31
classical = 32
instrumental = 33
acid = 34
house = 35
game = 36
sound_clip = 37
gospel = 38
noise = 39
alternrock = 40
bass = 41
soul = 42
punk = 43
space = 44
meditative = 45
instrumental_pop = 46
instrumental_rock = 47
ethnic = 48
gothic = 49
darkwave = 50
techno_industrial = 51
electronic = 52
pop_folk = 53
eurodance = 54
dream = 55
southern_rock = 56
comedy = 57
cult = 58
gangsta = 59
top_40 = 60
christian_rap = 61
pop_funk = 62
jungle = 63
native_american = 64
cabaret = 65
new_wave = 66
psychadelic = 67
rave = 68
showtunes = 69
trailer = 70
lo_fi = 71
tribal = 72
acid_punk = 73
acid_jazz = 74
polka = 75
retro = 76
musical = 77
rock_and_roll = 78
hard_rock = 79
// Winamp Extended Genres
folk = 80
folk_rock = 81
national_folk = 82
swing = 83
fast_fusion = 84
bebob = 85
latin = 86
revival = 87
celtic = 88
bluegrass = 89
avantgarde = 90
gothic_rock = 91
progressive_rock = 92
psychedelic_rock = 93
symphonic_rock = 94
slow_rock = 95
big_band = 96
chorus = 97
easy_listening = 98
acoustic = 99
humour = 100
speech = 101
chanson = 102
opera = 103
chamber_music = 104
sonata = 105
symphony = 106
booty_bass = 107
primus = 108
porn_groove = 109
satire = 110
slow_jam = 111
club = 112
tango = 113
samba = 114
folklore = 115
ballad = 116
power_ballad = 117
rhythmic_soul = 118
freestyle = 119
duet = 120
punk_ballad = 121
drum_solo = 122
a_cappella = 123
euro_house = 124
dance_hall = 125
goa = 126
drum_and_bass = 127
club_house = 128
hardcore = 129
terror = 130
indie = 131
brit_pop = 132
negerpunk = 133
polsk_punk = 134
beat = 135
christian_gangsta = 136
heavy_metal = 137
black_metal = 138
crossover = 139
contemporary_c = 140
christian_rock = 141
merengue = 142
salsa = 143
thrash_metal = 144
anime = 145
jpop = 146
synthpop = 147
unknown = 255
}
const genres_name = [
'Blues',
'Classic Rock',
'Country',
'Dance',
'Disco',
'Funk',
'Grunge',
'Hip-Hop',
'Jazz',
'Metal',
'New Age',
'Oldies',
'Other',
'Pop',
'R&B',
'Rap',
'Reggae',
'Rock',
'Techno',
'Industrial',
'Alternative',
'Ska',
'Death Metal',
'Pranks',
'Soundtrack',
'Euro-Techno',
'Ambient',
'Trip-Hop',
'Vocal',
'Jazz+Funk',
'Fusion',
'Trance',
'Classical',
'Instrumental',
'Acid',
'House',
'Game',
'Sound Clip',
'Gospel',
'Noise',
'AlternRock',
'Bass',
'Soul',
'Punk',
'Space',
'Meditative',
'Instrumental Pop',
'Instrumental Rock',
'Ethnic',
'Gothic',
'Darkwave',
'Techno-Industrial',
'Electronic',
'Pop-Folk',
'Eurodance',
'Dream',
'Southern Rock',
'Comedy',
'Cult',
'Gangsta',
'Top 40',
'Christian Rap',
'Pop/Funk',
'Jungle',
'Native American',
'Cabaret',
'New Wave',
'Psychadelic',
'Rave',
'Showtunes',
'Trailer',
'Lo-Fi',
'Tribal',
'Acid Punk',
'Acid Jazz',
'Polka',
'Retro',
'Musical',
'Rock & Roll',
'Hard Rock',
// Winamp
'Folk',
'Folk-Rock',
'National Folk',
'Swing',
'Fast Fusion',
'Bebob',
'Latin',
'Revival',
'Celtic',
'Bluegrass',
'Avantgarde',
'Gothic Rock',
'Progressive Rock',
'Psychedelic Rock',
'Symphonic Rock',
'Slow Rock',
'Big Band',
'Chorus',
'Easy Listening',
'Acoustic',
'Humour',
'Speech',
'Chanson',
'Opera',
'Chamber Music',
'Sonata',
'Symphony',
'Booty Bass',
'Primus',
'Porn Groove',
'Satire',
'Slow Jam',
'Club',
'Tango',
'Samba',
'Folklore',
'Ballad',
'Power Ballad',
'Rhythmic Soul',
'Freestyle',
'Duet',
'Punk Ballad',
'Drum Solo',
'A Cappella',
'Euro-House',
'Dance Hall',
'Goa',
'Drum & Bass',
'Club-House',
'Hardcore',
'Terror',
'Indie',
'BritPop',
'Negerpunk',
'Polsk Punk',
'Beat',
'Christian Gangsta',
'Heavy Metal',
'Black Metal',
'Crossover',
'Contemporary Christian',
'Christian Rock',
'Merengue',
'Salsa',
'Thrash Metal',
'Anime',
'JPop',
'Synthpop',
]
pub fn (genre Genre) str() string {
match genre {
.unknown {
return 'Unknown'
}
else {
return genres_name[u8(genre)]
}
}
}