Commit Graph

2553 Commits

Author SHA1 Message Date
05e484830c Don't die on invalid input.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@315934 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-29 20:12:36 +00:00
9320aa0bbc Oops. Pretty significant type in the frame name for recording date. This
will automatically fix these files on the next write.  (At the moment other
taggers will not be able to read the date written by TagLib in the ID3v2 tag.
In most cases they'll fall back to the ID3v1 tag, which is fine, but still
kind of nasty.)  Thanks to Teemu Tervo for catching this.

CCMAIL:82038-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@314024 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-24 07:37:41 +00:00
3ca114a4ee Add a short description
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@310851 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-13 00:09:41 +00:00
b29a821ed4 documentation fixes
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@310850 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-13 00:08:00 +00:00
1770ffd35a Add a frameList() overload that accepts a frame ID as a shortcut to the
frameListMap().


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@310849 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-13 00:07:30 +00:00
b9c9fd6c8d Added an example on how to read additional frames.
CCMAIL:Volker Wegert <mail@volker-wegert.de>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309882 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-10 01:07:58 +00:00
efd221e9b4 doxygen fix
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309855 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-09 20:44:52 +00:00
1be868b5b7 CVS_SILENT docs fix
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309805 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-09 17:54:40 +00:00
f9ca8cd69b Just a little hack to make the Vorbis classes appear in the Ogg namespace
in the API docs and a tyepdef to make this work (since this is how things
will be in the next BIC version).


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309150 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-06 16:59:13 +00:00
6a2cdbcc45 A small regression -- when assigning a ByteVector to a String make sure to
not include the trailing null characters.  (This was introduced after the
last release.)


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309070 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-06 12:36:31 +00:00
ceb989f170 Don't append a framing bit when writing Xiph comments to FLAC files since this
renders them unplayable with some players.  Thanks to Jason Lee for tracking
this down!

CCMAIL:75880-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@308437 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-05-04 01:47:01 +00:00
5895810131 Add docs.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306915 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-28 00:58:46 +00:00
9e15659dbf Oops, the implementation of this constructor was missing.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306914 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-28 00:23:52 +00:00
5091aa0b0c Add native support for the RVA2 (relative volume adjustment) frame. The
docs aren't there yet and this is completely untested, but that will follow
as soon as I find a file actually tagged with one of these.  :-)

CCMAIL:Jorn Baayen <jbaayen@gnome.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306706 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-27 02:01:27 +00:00
de4bd42ef0 Add new type and templatize the "fromNumber" conversion.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306704 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-27 01:29:22 +00:00
cf6506668d Oops. Make the docs accurate.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306703 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-27 01:21:30 +00:00
237ea76ef6 Make this check current with the bytevector code.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306700 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-27 01:09:48 +00:00
33bc1a1533 Changed my mind on the last one -- use explicit types rather than trying
to figure things out.  This also allows the number conversion to be
templatized.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306699 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-27 01:09:31 +00:00
cfbc564bb6 Add a check for the toInt() stuff.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306691 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-26 23:05:36 +00:00
31b46c03ac Add a toInt() method that correctly adjusts for the signedness bit even on
different variable sized byte vectors.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306690 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-26 23:00:21 +00:00
8c2b1138ea Add direct support APIC (attached picture) frames. I'll probably add an
example to the examples dir later today showing how to use this.

CCMAIL:Matthias Welwarsky <matze@stud.fbi.fh-darmstadt.de>
CCMAIL:Jorn Baayen <jbaayen@gnome.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306452 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-26 08:49:02 +00:00
940ac2cc3d Minor fix for getting the frame header size correct for unknown frames in
ID3v2.2 tags.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@306417 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-26 01:18:37 +00:00
4879eb8e6e CVS_SILENT make some stuff as deprecated
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302723 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 23:28:54 +00:00
6a1c3618ec Sadly reserve() just changes the capacity, not the actual size of the vector
so this didn't update the internal size of the std::vector...


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302668 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 18:39:17 +00:00
771a5cd65e Adding accessors for the various tag type for FLAC tags (similar to those
in MPEG::File).

CCMAIL:Jorn Baayen <jbaayen@gnome.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302658 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 17:55:23 +00:00
09c4de9114 CVS_SILENT API docs corrections
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302647 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 17:23:22 +00:00
8e0c661d38 CVS_SILENT nitpicks
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302642 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 17:03:41 +00:00
2227d2004b Fix the same bug that I fixed in MPEG last week -- allow the lib user to
specify the ID3v2FrameFactory in the FLAC::File construstor.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302629 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 15:50:17 +00:00
92289b8df9 Return a XiphComment here -- that still satisfies the overload of
TagLib::File::tag() since return types aren't mangled into the symbol
names.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@302627 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-10 15:36:17 +00:00
6f3480a1b3 Restore public API from last commit
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301962 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-07 14:07:53 +00:00
1bbbfc2c6b Oops. Forgot to update this recently...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301927 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-07 10:53:12 +00:00
5861cb8e00 CVS_SILENT nitpicks
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301909 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-07 07:58:06 +00:00
15d3c3c71a Several optimizations that came from KCacheGrind / calltree fun.
Basically they fall into the categories:
- Don't convert things before you need to
- When you do, use more effecient copy constructors / assignment operators
  (i.e. when copying prefer memcpy to a for loop and when that's not possible
  use an iterator instead of operator[])


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301896 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-07 06:00:05 +00:00
1bc8909bba Adding Ogg/FLAC support to TagLib
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301825 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-06 20:35:29 +00:00
4f1f6adf59 Changing the API to something more flexible (And needed for Ogg/FLAC)
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301824 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-06 20:34:28 +00:00
9fe8b9ea34 version 1.1
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301333 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-04 21:36:38 +00:00
8c63238fb8 Add the ability to override the default ID3v1 string handling in TagLib by
adding a ID3v1::StringHandler class that has render and parse methods.

By default this still makes the (correct) assumption that ID3v1 tags contain
ISO-8859-1 data, but this makes it easy for applications to override this to
allow user specified codecs.

CCMAIL:78428@bugs.kde.org
CCMAIL:77710@bugs.kde.org
CCMAIL:amarok-devel@lists.sourceforge.net
CCMAIL:Shlomi Loubaton <loubaton.shlomi@012.net.il>
CCMAIL:Nir Misgav <misgav@ee.bgu.ac.il>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301244 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-04 14:42:13 +00:00
907c0fddb0 After making a simple enough test-case for Scott I was able to find the bug
myself.

Beware of the presedence of & !!

CCMAIL:wheeler@kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@301024 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-04-03 16:20:11 +00:00
1b28af00a2 Add a constructor that takes an ID3v2::FrameFactory.
CCMAIL:Jonathan Giannuzzi <psyduck@altern.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@299846 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-30 13:50:26 +00:00
067dc81f93 CVS_SILENT another nitpick
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@299843 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-30 13:45:24 +00:00
f78cee2f24 I like it more like this...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@299835 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-30 13:12:18 +00:00
d0d82ec6ea The explicit is silly here since it takes two arguments (it's leftover from
when this used to have a default argument).


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@296374 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-16 18:51:16 +00:00
2ac52bceee - ByteVector::operator> seemed flawed to me
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@294934 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-10 13:06:14 +00:00
d6aeb26c98 Use memcmp() and memcpy() where appropriate rather than slower loop based
methods.  Here this improves tag reading speed by about 50%.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@293774 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-03-05 15:59:00 +00:00
8cd5093faa Hmm, not good -- missing "ref" here so that the reference count wasn't
being incremented on copy.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@292618 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-29 20:02:18 +00:00
9a63f34627 Fix String::data() for UTF16 -- there was a missing break in the case
statement, so both the UTF16 and the UTF16BE versions were being executed.

CCMAIL:Ilya Konstantinov <future@shiny.co.il>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@290210 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-22 12:51:32 +00:00
b23b37eb73 Oops, forgot a break...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@289657 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-20 11:42:14 +00:00
e86abce07c Added a translation table between ID3v2.2 frame names and ID3v2.4. TagLib
now supports ID3v2.2 through ID3v2.4.

CCMAIL:Keith Brady <keith@funnelboy.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@289656 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-20 11:40:44 +00:00
c22ee9d712 CVS_SILENT oops -- didn't mean to check this in
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@289568 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-20 01:42:10 +00:00
619ef906cd Mostly get ID3v2.2 working. Sure, it's a standard from 1998 that was
replaced in 1999, but apparently iTunes still uses it.

This gets the frame parsing code to support 2.2 and required deprecating
a couple of methods so that an ID3v2 version could be passed along.

There still needs to be a translation table added to handle converting
ID3v2.2 frame names to their ID3v2.4 equivalents, but that can come later.
For now the framelister program from the examples dir is able to read all
of the text frames.

CCMAIL:Keith Brady <keith@funnelboy.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@289567 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-20 01:41:25 +00:00