Linus Nielsen Feltzing
6b6f97ddda
Tidied up the ID3V2 parser a little
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3475 a1c6a512-1295-4272-9138-f99709370657
2003-03-18 01:31:35 +00:00
Linus Nielsen Feltzing
372ad33d35
Faster ID3 parsing with the new filesize() function
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3474 a1c6a512-1295-4272-9138-f99709370657
2003-03-18 00:45:27 +00:00
Björn Stenberg
b551e36fb0
Bug fixes: Artist was skipped sometimes. Frequency, mpeg version & layer was never copied.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3441 a1c6a512-1295-4272-9138-f99709370657
2003-03-13 19:12:05 +00:00
Linus Nielsen Feltzing
2c07e78efc
Don't accidentally add Xing headers to CBR files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3419 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 18:25:40 +00:00
Björn Stenberg
fac3bc581a
Ignore duplicate id3v2 tags or frames. Patch by Bill Napier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3413 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 15:43:16 +00:00
Linus Nielsen Feltzing
a1598b5836
I hate it when rippers don't follow the ID3V2 specs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3412 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 15:32:59 +00:00
Linus Nielsen Feltzing
a039091187
New ID3 and MP3 stream parser, plus not-yet-ready Xing header generation code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3410 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 14:55:31 +00:00
Björn Stenberg
5b1644336c
Initialize genre to 0xff since 0 is a valid value.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3233 a1c6a512-1295-4272-9138-f99709370657
2003-02-11 15:00:56 +00:00
Mats Lidell
74cc9e41fa
Remove use of rockbox-mode.el in local variables list.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3157 a1c6a512-1295-4272-9138-f99709370657
2003-01-24 10:56:06 +00:00
Björn Stenberg
a2e98c1cd9
Merged Uwe Freese's bidirectional scrolling patch. Added configurable scroll step size and scroll start delay.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2974 a1c6a512-1295-4272-9138-f99709370657
2002-12-12 15:20:37 +00:00
Björn Stenberg
cf1317c336
Added id3 version wps tag: %iv. Fixed id3v1 parsing bug.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2967 a1c6a512-1295-4272-9138-f99709370657
2002-12-09 15:01:37 +00:00
Björn Stenberg
a5587d0298
Added ID3 tag 'genre': %ig
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2950 a1c6a512-1295-4272-9138-f99709370657
2002-12-05 15:21:18 +00:00
Björn Stenberg
345f7c62ba
Added ID3 tag 'year': %iy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2949 a1c6a512-1295-4272-9138-f99709370657
2002-12-05 14:55:14 +00:00
Björn Stenberg
d1f8001984
Don't waste time loading v1 tag if a v2 tag was found.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2916 a1c6a512-1295-4272-9138-f99709370657
2002-12-03 15:38:39 +00:00
Linus Nielsen Feltzing
84c6fd96a6
Fixed broken unicode_munge()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2840 a1c6a512-1295-4272-9138-f99709370657
2002-11-12 22:35:32 +00:00
Linus Nielsen Feltzing
fd3d50a4db
Better handling of large frames in V2 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2771 a1c6a512-1295-4272-9138-f99709370657
2002-10-29 10:29:57 +00:00
Linus Nielsen Feltzing
be8ae1c0e2
Now reads the tags frame by frame, to avoid missing frames when there are large blobs in the tag. This fixes bug #623510 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2768 a1c6a512-1295-4272-9138-f99709370657
2002-10-28 23:00:57 +00:00
Linus Nielsen Feltzing
c41322c591
Better skipping of leading garbage. Fixes bug #625868 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2752 a1c6a512-1295-4272-9138-f99709370657
2002-10-27 23:07:26 +00:00
Daniel Stenberg
6b342e4e8d
modify the data these point to, these operators are right-to-left...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2470 a1c6a512-1295-4272-9138-f99709370657
2002-10-01 14:36:37 +00:00
Linus Nielsen Feltzing
c09c4afb23
Made the Unicode kludge even kludgier, but non-crashing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2469 a1c6a512-1295-4272-9138-f99709370657
2002-10-01 13:20:23 +00:00
Daniel Stenberg
ad911c0ac8
Bill Napier wrote this:
...
This patch adds minimal suppport for 16-bit Unicode strings for ID3 tags. It
is basically a modification to the ID3v2 parser that checks for Unicode
strings. If a string is found that is a Unicode string, it is converted (in
place) to an ASCII string if it is an ASCII character.
Since we can support non-ASCII characters on the display, support for
non-ASCII characters in ID3 tags should proably also be supported in the
future. This patch is just an interem change until full Unicode support is
implemented (if ever).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2451 a1c6a512-1295-4272-9138-f99709370657
2002-09-30 18:45:50 +00:00
Daniel Stenberg
18ae8f5735
Bill Napier's fix for header lengths for ID3v2.3 and earlier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2450 a1c6a512-1295-4272-9138-f99709370657
2002-09-30 18:41:59 +00:00
Linus Nielsen Feltzing
acfacd938c
Rudimentary VBRI parsing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2435 a1c6a512-1295-4272-9138-f99709370657
2002-09-27 08:21:23 +00:00
Linus Nielsen Feltzing
e4d1bda5e4
For some strange reason, getsonglength() couldn't handle 800Kbyte ID3V2 tags :-)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2413 a1c6a512-1295-4272-9138-f99709370657
2002-09-25 12:34:21 +00:00
Linus Nielsen Feltzing
2c63937371
Better handling of tagless tracks with VBR headers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2333 a1c6a512-1295-4272-9138-f99709370657
2002-09-19 09:03:16 +00:00
Linus Nielsen Feltzing
a24bd9a894
Another strike in the battle against glitches between tracks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2326 a1c6a512-1295-4272-9138-f99709370657
2002-09-18 13:59:38 +00:00
Daniel Stenberg
012e688bf9
no C99 stuff here ;-)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2309 a1c6a512-1295-4272-9138-f99709370657
2002-09-17 07:10:41 +00:00
Linus Nielsen Feltzing
842d5a99d0
Now skips garbage padding after the ID3V2 tag, along with Xing and LAME headers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2300 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 13:32:12 +00:00
Daniel Stenberg
a6df1fd48d
removed redundant size checks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2298 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 10:42:27 +00:00
Daniel Stenberg
f9a46c1cda
When getting tag contents, we might read a tag which has a part of it within
...
our buffer and part outside. This adjusts so that we only attempt to read
the part of the tag that is inside the buffer. Magnus Holmgren helped out
here!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2297 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 10:14:56 +00:00
Daniel Stenberg
9fe53cda9a
if the id3v2 tags avaiable are bigger than our buffer size, at least try
...
to get the ones that is within the boundaries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2296 a1c6a512-1295-4272-9138-f99709370657
2002-09-16 08:18:51 +00:00
Björn Stenberg
f50b4fc20c
Read tracknum from id3v1.1 tag (Kenneth Kiraly)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2248 a1c6a512-1295-4272-9138-f99709370657
2002-09-09 22:31:11 +00:00
Linus Nielsen Feltzing
ae17b526ff
Better handling of garbage in ID3V2 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2090 a1c6a512-1295-4272-9138-f99709370657
2002-08-30 22:01:35 +00:00
Daniel Stenberg
ae3952ec90
make mp3info() better return true on bad mp3 files, also make
...
getsonglength() return 0 if the length is unknown
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1923 a1c6a512-1295-4272-9138-f99709370657
2002-08-22 07:59:31 +00:00
Daniel Stenberg
3d6df952ec
Added support for the unofficial MPEG version 2.5 format that uses a somewhat
...
different frequency table but the same bitrate table that V2 has.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1805 a1c6a512-1295-4272-9138-f99709370657
2002-08-19 14:15:33 +00:00
Björn Stenberg
0edcd0a7bf
VBR ID3 info works again. (I mistakenly left out a line from Hardeep's patch.)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1771 a1c6a512-1295-4272-9138-f99709370657
2002-08-15 19:11:26 +00:00
Björn Stenberg
0570497e3a
Added fast forward and rewind (without sound). Patch by Hardeep Sidhu.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1741 a1c6a512-1295-4272-9138-f99709370657
2002-08-14 19:23:34 +00:00
Björn Stenberg
66f9bccd47
Skip past id3v2 tag when loading mp3 data
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1729 a1c6a512-1295-4272-9138-f99709370657
2002-08-14 10:15:27 +00:00
Linus Nielsen Feltzing
4e69f82c8f
Now continues searching for good frames if a bad one is found. Patch by Hardeep Sidhu
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1398 a1c6a512-1295-4272-9138-f99709370657
2002-07-22 16:05:46 +00:00
Björn Stenberg
60e7b20971
More detailed mp3 frame header check
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1383 a1c6a512-1295-4272-9138-f99709370657
2002-07-18 15:21:45 +00:00
Björn Stenberg
782a61d992
Added support for mono and MPEG2 VBR headers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1380 a1c6a512-1295-4272-9138-f99709370657
2002-07-18 02:08:23 +00:00
Björn Stenberg
5e2898f3d4
Added average bitrate for VBR mp3
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1346 a1c6a512-1295-4272-9138-f99709370657
2002-07-10 13:17:31 +00:00
Linus Nielsen Feltzing
c644fc2956
Added a vbr flag in the id3 struct
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1339 a1c6a512-1295-4272-9138-f99709370657
2002-07-05 07:13:43 +00:00
Linus Nielsen Feltzing
c6de959f04
Added protection against too large ID3V2 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1336 a1c6a512-1295-4272-9138-f99709370657
2002-07-04 22:10:43 +00:00
Linus Nielsen Feltzing
434b788a1f
Now sets bitrate to VARIABLE_BIT_RATE if VBR
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1325 a1c6a512-1295-4272-9138-f99709370657
2002-07-04 06:42:51 +00:00
Linus Nielsen Feltzing
2e525fe9ed
Added Xing VBR frame parsing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1324 a1c6a512-1295-4272-9138-f99709370657
2002-07-03 21:04:09 +00:00
Linus Nielsen Feltzing
b983d1b4a1
Fixed an overflow in the song length calculation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1242 a1c6a512-1295-4272-9138-f99709370657
2002-06-28 08:05:20 +00:00
Jerome Kuptz
b6d3bc2dd9
changed char* path to char path[256] and added a copy of filename on mp3info function
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1229 a1c6a512-1295-4272-9138-f99709370657
2002-06-27 08:33:58 +00:00
Jerome Kuptz
d15884fab2
Made mp3info set the path variable on the mp3entry struct. This fixes WPS Parse & File modes in playlist or dir playing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1224 a1c6a512-1295-4272-9138-f99709370657
2002-06-27 07:18:13 +00:00
Björn Stenberg
928e334831
Added id3 tracknum (Yusef Napora)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1204 a1c6a512-1295-4272-9138-f99709370657
2002-06-26 21:11:29 +00:00
Björn Stenberg
f186f46f5d
Moved getfilesize() to top
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1203 a1c6a512-1295-4272-9138-f99709370657
2002-06-26 15:20:00 +00:00
Björn Stenberg
1575ee378c
Reordered operations to optimise file seeking
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1202 a1c6a512-1295-4272-9138-f99709370657
2002-06-26 14:51:09 +00:00
Björn Stenberg
ef15d9983a
Made mp3entry a struct, not a type
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1182 a1c6a512-1295-4272-9138-f99709370657
2002-06-25 11:39:22 +00:00
Björn Stenberg
f224f0b8e8
Don't free static data :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1181 a1c6a512-1295-4272-9138-f99709370657
2002-06-25 11:29:38 +00:00
Daniel Stenberg
c9ea73e19d
NOTE! the 'mp3entry' struct grew quite a bit now, as the previously static
...
buffers were moved into the struct instead and thus we enable the mp3info()
function to be called in a re-entrant way. Just don't allocate that struct
on the stack without careful consideration!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@896 a1c6a512-1295-4272-9138-f99709370657
2002-06-04 22:05:00 +00:00
Linus Nielsen Feltzing
76d0c7d790
Fixed endianness bug in getsonglength
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@750 a1c6a512-1295-4272-9138-f99709370657
2002-05-27 14:03:17 +00:00
Björn Stenberg
3facc983d1
Commented out songlength() for now
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@734 a1c6a512-1295-4272-9138-f99709370657
2002-05-27 09:54:13 +00:00
Björn Stenberg
72c8e71c21
Removed floating point code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@612 a1c6a512-1295-4272-9138-f99709370657
2002-05-17 08:42:45 +00:00
Björn Stenberg
2382044ffc
Changing to C99 'bool' type
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@561 a1c6a512-1295-4272-9138-f99709370657
2002-05-13 12:29:34 +00:00
Dave Chapman
a1302f26db
save mpeg layer and version information
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@557 a1c6a512-1295-4272-9138-f99709370657
2002-05-12 14:28:51 +00:00
Björn Stenberg
bd262a5dbe
Removed include fcntl.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@520 a1c6a512-1295-4272-9138-f99709370657
2002-05-08 15:36:18 +00:00
Daniel Stenberg
af5c607832
uninitialised variable and better return code check
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@504 a1c6a512-1295-4272-9138-f99709370657
2002-05-08 07:10:16 +00:00
Dave Chapman
ca532502bd
fixed buffer overflow in setid3v1title
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@479 a1c6a512-1295-4272-9138-f99709370657
2002-05-06 15:21:43 +00:00
Daniel Stenberg
e630d64027
no more unistd.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@462 a1c6a512-1295-4272-9138-f99709370657
2002-05-06 07:19:09 +00:00
Daniel Stenberg
75e8cbbdcc
Dave Chapman found a problem in the id3v1 tag reading, and provided
...
this fix!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@445 a1c6a512-1295-4272-9138-f99709370657
2002-05-05 13:25:29 +00:00
Daniel Stenberg
0343834852
include file.h (important for the x11 sim to work) and types.h (as that
...
already has a bool type and TRUE/FALSE defines). Also now includes its
own new id3.h for the struct definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@431 a1c6a512-1295-4272-9138-f99709370657
2002-05-05 10:32:20 +00:00
Björn Stenberg
824a003052
Added Gary's snprintf() and changed all places to use it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@379 a1c6a512-1295-4272-9138-f99709370657
2002-05-02 11:44:15 +00:00
Daniel Stenberg
ad9bdf6e38
fixed to use our file api
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@325 a1c6a512-1295-4272-9138-f99709370657
2002-04-30 12:42:37 +00:00
Björn Stenberg
4b5edb8e31
Removed some warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@298 a1c6a512-1295-4272-9138-f99709370657
2002-04-28 09:57:09 +00:00
Daniel Stenberg
20c239dd11
fixed compiler warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@248 a1c6a512-1295-4272-9138-f99709370657
2002-04-26 08:56:43 +00:00
Daniel Stenberg
963a64770e
no more malloc()s or strdup()s
...
the test program now takes any amount of files, which makes it easy to verify
lots of files at once using shell wildcards
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@196 a1c6a512-1295-4272-9138-f99709370657
2002-04-23 11:46:16 +00:00
Daniel Stenberg
6755f82a70
id3 tag reading code, both v1 and v2. Still needs to be adjusted more to
...
remove the malloc()s and possible other stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@185 a1c6a512-1295-4272-9138-f99709370657
2002-04-23 08:43:04 +00:00