Commit graph

75 commits

Author SHA1 Message Date
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
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