320 lines
5.6 KiB
V
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)]
|
|
}
|
|
}
|
|
}
|