FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
JavaScript-ID3-Reader/src/id3v1.js at gh-13_readAsBinaryString · dreamdeveloper/JavaScript-ID3-Reader · GitHub
dreamdeveloper
/
JavaScript-ID3-Reader
Public
forked from
aadsm/JavaScript-ID3-Reader
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
JavaScript-ID3-Reader
/
src
/
id3v1.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
84 lines (77 loc) · 3.23 KB
Breadcrumbs
JavaScript-ID3-Reader
/
src
/
id3v1.js
Copy path
File metadata and controls
84 lines (77 loc) · 3.23 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
* JavaScript ID3 Tag Reader 0.1.2
* Copyright (c) 2008 Jacob Seidelin, cupboy@gmail.com, http://blog.nihilogic.dk/
* MIT License [http://www.opensource.org/licenses/mit-license.php]
*
* Extended by António Afonso (antonio.afonso@opera.com), Opera Software ASA
* Modified by António Afonso (antonio.afonso gmail.com)
*/
(
function
(
ns
)
{
var
ID3v1
=
ns
.
ID3v1
=
{
}
;
var
genres
=
[
"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"
,
"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 Rock"
,
"Drum Solo"
,
"Acapella"
,
"Euro-House"
,
"Dance Hall"
]
;
ID3v1
.
loadData
=
function
(
data
,
callback
)
{
var
length
=
data
.
getLength
(
)
;
data
.
loadRange
(
[
length
-
128
-
1
,
length
]
,
callback
)
;
}
ID3v1
.
readTagsFromData
=
function
(
data
)
{
var
offset
=
data
.
getLength
(
)
-
128
;
var
header
=
data
.
getStringAt
(
offset
,
3
)
;
if
(
header
==
"TAG"
)
{
var
title
=
data
.
getStringAt
(
offset
+
3
,
30
)
.
replace
(
/
\0
/
g
,
""
)
;
var
artist
=
data
.
getStringAt
(
offset
+
33
,
30
)
.
replace
(
/
\0
/
g
,
""
)
;
var
album
=
data
.
getStringAt
(
offset
+
63
,
30
)
.
replace
(
/
\0
/
g
,
""
)
;
var
year
=
data
.
getStringAt
(
offset
+
93
,
4
)
.
replace
(
/
\0
/
g
,
""
)
;
var
trackFlag
=
data
.
getByteAt
(
offset
+
97
+
28
)
;
if
(
trackFlag
==
0
)
{
var
comment
=
data
.
getStringAt
(
offset
+
97
,
28
)
.
replace
(
/
\0
/
g
,
""
)
;
var
track
=
data
.
getByteAt
(
offset
+
97
+
29
)
;
}
else
{
var
comment
=
""
;
var
track
=
0
;
}
var
genreIdx
=
data
.
getByteAt
(
offset
+
97
+
30
)
;
if
(
genreIdx
<
255
)
{
var
genre
=
genres
[
genreIdx
]
;
}
else
{
var
genre
=
""
;
}
return
{
"version"
:
'1.1'
,
"title"
:
title
,
"artist"
:
artist
,
"album"
:
album
,
"year"
:
year
,
"comment"
:
comment
,
"track"
:
track
,
"genre"
:
genre
}
}
else
{
return
{
}
;
}
}
;
// Export functions for closure compiler
ns
[
"ID3v1"
]
=
ns
.
ID3v1
;
}
)
(
this
)
;
Back
|
FazBrowse Home
|
New Git URL