Commit Graph

2548 Commits

Author SHA1 Message Date
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Allan Sandfeld Jensen
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Allan Sandfeld Jensen
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
Allan Sandfeld Jensen
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
Scott Wheeler
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
Scott Wheeler
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
Allan Sandfeld Jensen
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Frerich Raabe
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
d21fa22260 Add a couple of testcases that point out UTF16 bugs.
CCMAIL:Ilya Konstantinov <future@shiny.co.il>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@288628 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-17 02:56:10 +00:00
Scott Wheeler
bfd0be4c7d Fixed problem with TagLib reading 1 byte fields in ID3v2 tags.
CCMAIL:Stefan Gehn <sgehn@gmx.net>
CCMAIL:Keith Brady <keith@funnelboy.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@288618 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-17 02:11:05 +00:00
Scott Wheeler
7fe6647435 This commit was manufactured by cvs2svn to accommodate
a server-side copy/move.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@288617 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-02-17 02:11:05 +00:00