VB Code:
'This module is used to read and write to ID3v1.1 tags.
Public Type ID3info
filename As String
Hastag As Boolean
Tag As String * 3
songname As String * 30
artist As String * 30
album As String * 30
year As String * 4
comment As String * 28
Null As Byte
track As Byte
genre As Byte
End Type
Public Matrix
Public Function GetID3info()
Open filename For Binary Access Read As #1
Get #1, FileLen(filename) - 127, Tag
If Not Tag = "TAG" Then
Close #1
Hastag = False
Exit Function
End If
Hastag = True
filename = filename
Get #1, , songname
Get #1, , artist
Get #1, , album
Get #1, , year
Get #1, , comment
Get #1, , track
Get #1, , genre
Close #1
End Function
Public Function WriteID3info()
Open filename For Binary Access Write As #1
Seek #1, FileLen(filename) - 127
Put #1, , Tag
Put #1, , songname
Put #1, , artist
Put #1, , album
Put #1, , year
Put #1, , comment
Put #1, , Null
Put #1, , track
Put #1, , genre
Close #1
End Function
With GetID3info
songname = .songname
artist = .artist
album = .album
year = .year
comment = .comment
track = .track
genre = .genre
End With
Matrix = Array("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", "Folk", "Folk/Rock", "National Folk", _
"Swing", "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")