Linus Nielsen Feltzing
2cc373eb99
The ID3 parser accidentally allowed a data length indicator flag on 2.3 tags, and the grouping identity bit is not the same on 2.3 and 2.4 (sigh).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4455 a1c6a512-1295-4272-9138-f99709370657
2004-03-30 13:57:06 +00:00
Linus Nielsen Feltzing
e701808b2e
The ID3V2 TCON frame is now parsed in a little more forgiving manner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4437 a1c6a512-1295-4272-9138-f99709370657
2004-03-25 06:58:25 +00:00
Linus Nielsen Feltzing
a85a525893
Skipping unknown ID3V2 frames didn't work as expected with global unsynch. This fixes bug report #887332 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4379 a1c6a512-1295-4272-9138-f99709370657
2004-03-13 22:55:47 +00:00
Linus Nielsen Feltzing
2f4a5616c0
The Unicode parser now handles unterminated strings, plus it tries to guess the byte order when the BOM is missing (a violation of the spec, btw)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4215 a1c6a512-1295-4272-9138-f99709370657
2004-01-09 00:47:26 +00:00
Linus Nielsen Feltzing
187b8ed9df
Got rid of the reset parameter to xxx_unsynched()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4189 a1c6a512-1295-4272-9138-f99709370657
2004-01-04 00:45:16 +00:00
Linus Nielsen Feltzing
219d52a86f
ID3v2.3 treats the global unsynch flag in a silly way, so we have to unsynch the whole tag before we can parse the individual frames.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4188 a1c6a512-1295-4272-9138-f99709370657
2004-01-04 00:37:30 +00:00
Magnus Holmgren
f11d07c61f
Correct genre parsing by making code match comment (and specification) :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3987 a1c6a512-1295-4272-9138-f99709370657
2003-10-26 12:53:21 +00:00
Linus Nielsen Feltzing
eee3720ebe
Genre parsing in id3v2.3 was still wrong. Also, the last frame in the tag could sometimes be ignored. This fixes the strange 1-digit track number bug.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3984 a1c6a512-1295-4272-9138-f99709370657
2003-10-22 21:11:38 +00:00
Linus Nielsen Feltzing
5557fe3259
Added unsynchronization
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3983 a1c6a512-1295-4272-9138-f99709370657
2003-10-22 13:06:31 +00:00
Linus Nielsen Feltzing
d9ae29a691
An attempt to fix the ID3V2 genre tag parsing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3981 a1c6a512-1295-4272-9138-f99709370657
2003-10-21 10:44:34 +00:00
Linus Nielsen Feltzing
0bce9580a1
Added tag resolvers for TYE, TAL and TRK
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3980 a1c6a512-1295-4272-9138-f99709370657
2003-10-20 10:22:41 +00:00
Björn Stenberg
92b1d85b48
Fix for incorrect genre default value, by Benjamin Metzler
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3810 a1c6a512-1295-4272-9138-f99709370657
2003-07-04 08:23:39 +00:00
Daniel Stenberg
75fdb2aab3
bug 749951, ooops. We made the number function too generic and forgot to
...
make the year tags work... Thanks to Jeremy Zoss for finding and reporting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3737 a1c6a512-1295-4272-9138-f99709370657
2003-06-06 07:54:50 +00:00
Björn Stenberg
7add54f0f8
Fixed silly typo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3729 a1c6a512-1295-4272-9138-f99709370657
2003-06-05 08:01:38 +00:00
Björn Stenberg
8498a48496
Generalized id3v2 parsing code. Added support for the composer frame and free-form genre and tracknum frames. (Patch #706111 by Thomas Paul Diffenbach)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3727 a1c6a512-1295-4272-9138-f99709370657
2003-06-04 15:09:35 +00:00
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