50 Commits

Author SHA1 Message Date
Scott Wheeler
fca59f432e docs typo
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@532016 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-04-20 20:31:25 +00:00
Scott Wheeler
985630d59a SVN_SILENT
Forgot to add docs.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@515072 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-03-02 15:13:54 +00:00
Scott Wheeler
3a24d31b43 Two things:
- Fix the channel mode, copyright and original flags, as noticed by
   Bjoern Petersen.
 - Check in the "findByDescription()" function that I've had sitting
   around for a while.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@515068 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-03-02 15:02:27 +00:00
Scott Wheeler
4841a5c39c If a frame has both compression and encryption, since we currently
don't support encrypted frames, don't try to decompress it.  Decryption
is supposed to be applied before decompression, so currently the decompression
isn't possible.

BUG:112919


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@503234 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2006-01-28 14:00:48 +00:00
Scott Wheeler
18d80d1ea0 Actually implement this constructor...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@482540 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-11-23 10:36:06 +00:00
Scott Wheeler
2d06d23ec6 Missing class name on the method declaration. I'm sure this caused some
fun symbol conflicts...


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@482539 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-11-23 10:27:33 +00:00
Scott Wheeler
59fd610999 Finally took Tommi's suggestion here and introduced a version of the ByteVectorList::split()
that takes a maximum number of values.  This should probably be used more widely in
places where the max is known ahead of time for this to be a more useful fix than nailing
just this special case.  Anyway, fixes the bug.

BUG:103622


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@438030 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-07-23 23:11:20 +00:00
Scott Wheeler
a2972c8ae0 Add accessors for the image description.
BUG:94258


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@437378 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-07-21 17:27:37 +00:00
Scott Wheeler
c756813a21 Fix up the RVA2 handling. I'm still not thrilled with the API, but this
should be functional enough to hold over to the next binary
incompatible change and has a minimum of differences to the previous
API.

I did a slightly nasty hack so that the API docs will see just methods
with an optional argument, but those are actually two separate methods
(for BC).

Brian, please feel free to take a look at this prior to 1.4 going out.

BUG:107025



git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@437115 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-07-21 00:10:57 +00:00
Scott Wheeler
e321ae7774 Fix from Felix Berger to get RVA2 frames a little closer
to working.  The more complicated fix for #107025 will
follow shortly.

BUG:95545


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@437091 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-07-20 22:23:34 +00:00
Scott Wheeler
1857e61a9d Instead of returning 0 on finding a deprecated frame type, create an
UnknownFrame and set the flag to discard it on write.

As a special bonus this meant implementing the discard-on-tag-alter
flag.

BUG:100515


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@415248 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-05-17 23:57:23 +00:00
Scott Wheeler
6ceb7a8151 Patch from Umesh Shankar to make sure that the frameID is current.
CCMAIL:Umesh Shankar <ushankar@cs.berkeley.edu>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@415233 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-05-17 22:38:01 +00:00
Scott Wheeler
1aff3947ef Nice catch from Gunnar Roth -- the iterator was invalid here.
BUG:94662


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@385470 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2005-02-02 19:04:54 +00:00
Scott Wheeler
d1eb678b77 Make the private class a friend so that it can access the protected Header
class.
BUG:93869


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@369269 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-12-08 16:50:10 +00:00
Scott Wheeler
d58cde9eca This line is redundant.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@356359 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-10-20 23:34:55 +00:00
Scott Wheeler
3d5ab8fd10 Move the sanity check before the unknown frame stuff. As the code currently
is if a bogus frame is hit it may try to parse it as an UnknownFrame rather
than just discarding it.

CCMAIL:Espen Tveit <espen.tveit@gmail.com>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@355686 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-10-18 15:31:12 +00:00
Scott Wheeler
68982059d0 misplace conditional
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@345352 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-09-10 01:42:56 +00:00
Scott Wheeler
133f50e356 Patch from Allan to add support for compressed frames.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@345351 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-09-10 01:29:49 +00:00
Scott Wheeler
a51d1cb117 Scott's silly nitpicks...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@345141 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-09-09 00:28:57 +00:00
Scott Wheeler
60959a1b5b add api docs
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336790 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-08 06:04:42 +00:00
Scott Wheeler
47ddbca63b CVS_SILENT forgot a short description
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336647 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-07 01:39:26 +00:00
Scott Wheeler
2a48666f80 Adding support for the Unique File Identifier ID3v2 frame type (UFID).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336640 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-07 00:59:16 +00:00
Scott Wheeler
c3c54b570a Add support for custom ID3v2 text frames (TXXX).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336629 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-06 23:41:56 +00:00
Scott Wheeler
4aaa73f613 Here's an oops -- this *really* should have been virtual. I'm not sure how
I missed that.  I'll come up with something -- probably a functor or similar
to work around this at some point.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336480 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-06 01:54:28 +00:00
Scott Wheeler
cc6bf884a3 Ignore compressed and encrypted ID3v2 frames rather than just blindly giving
back the compressed/encrypted data as a string.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@335256 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-02 19:35:47 +00:00
Scott Wheeler
1ad5582391 missing const
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332913 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 13:44:59 +00:00
Scott Wheeler
74b656091a Provide a default (empty) value for the language. The lack thereof was was
causing the bytes to not get lined up properly in the newly written tag and
then they weren't read back properly.

CCMAIL:82898-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332788 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 03:14:05 +00:00
Scott Wheeler
9963e67865 Use setData() rather than parseFields() here to make sure that the frame
header is initialized.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332785 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 02:44:23 +00:00
Scott Wheeler
3de6f40776 CVS_SILENT indentation oops from the last commit
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332782 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 02:19:26 +00:00
Scott Wheeler
3a81dfb883 Fix a number of bugs to get things working with ID3v2.4 tags generated by
libid3tag:

*) Handle the case of there being an extended header where the first byte
   is zero (this was running into a check to see if the padding had been
   reached)
*) Add support for reading ID3v2::Frame::Header flags.  Previously this
   was not implemented, but was needed to...
*) Properly adjust the reading position for the existance of a data length
   indicator at the beginning of frames

Things now seem to work with the test files that I have here.  Since this
is the only other ID3v2.4 implmentation that I know of "in the wild" it's
nice that they now play nice together.  libid3tag uses many more of the
unique ID3v2.4 features than TagLib does.

CCMAIL:82867-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332778 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 01:29:39 +00:00
Scott Wheeler
2817d4e507 initialize variable
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@320862 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-15 10:13:05 +00:00
Scott Wheeler
b9de676bc0 Parse ID3v2.4 genres as a list of fields rather than a text string with the
ID3v1 genre in parenthesis.

CCMAIL:82554-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@319086 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-09 14:57:30 +00:00
Scott Wheeler
0c6be64f8a Two issues pointed out by Gary Peck:
*) Note that adding and removing frames from the ID3v2::Tag will invalidate
   iterators on the frame list
*) Correct the number of genres -- it should be 148 instead of 147.  You
   can all have your Synthpop genre back now.  :-)

CCMAIL:Gary Peck <gbpeck@sbcglobal.net>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@318067 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-06 00:10:58 +00:00
Scott Wheeler
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
Scott Wheeler
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
Scott Wheeler
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
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
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
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
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
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
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
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
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
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
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