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