Commit Graph

2498 Commits

Author SHA1 Message Date
Scott Wheeler
65bf71cd61 Return a reference to the current list from append().
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@336591 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-06 21:07:46 +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
ae2113e716 Always explicitly check for divide by zero conditions.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@335132 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-02 12:51:14 +00:00
Allan Sandfeld Jensen
650b561eda Create a correct footer
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@334982 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-01 23:30:06 +00:00
Allan Sandfeld Jensen
15f864a779 A few changes to make the interface more flexible. It can now remove
tags including ID3v2.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@334981 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-08-01 23:29:42 +00:00
Scott Wheeler
06122de67f Standard stuff -- make it fit with the coding style of the rest of TagLib
and make it build.  There are still some missing API docs and I'm not sure
how I feel about non-opaque types (Item in this case) since they're not used
elsewhere in the API, but this will do for now.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@333117 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-27 02:35:47 +00:00
Scott Wheeler
b7d9398052 This is wrong -- this would indicate a BIC library release. Please see
"info:/libtool/Updating version info" when changing the libtool version
string.

CCMAIL:Allan Sandfeld Jensen <kde@carewolf.com>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@333116 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-27 02:00:01 +00:00
Allan Sandfeld Jensen
dbc0fe07c9 Make mpc use the new APETag-structure
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@333012 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 19:04:40 +00:00
Allan Sandfeld Jensen
73c2311010 Refactoring.
APE-tags are not native to musepack, so I am moving it out.
Seperated footer-decoding the same way header-decoding is seperated in
ID3v2.
Fixed a bug with the version in the footer. Should be 2000 (read 2.000) not 2.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@333011 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 19:03:28 +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
Allan Sandfeld Jensen
2025c4e9e5 Large update:
* Give access to APEv2 features like lists and read-only fields (not enforced by TagLib).
* Support one common mistake: ID3v1 tags placed after an APE-tag. In this case both tags are now read and maintained. APE-tags after an ID3v1 tag is not supported.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332903 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 12:58:59 +00:00
Scott Wheeler
62ca49decb Mark HEAD as TagLib 1.3
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332793 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 03:39:34 +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
cd32d1f8a3 Make it possible to strip tags without deleting them (again). This is
used by MPEG::File::save() so that tags that aren't explicitly saves still
exist in memory.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332783 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 02:22:05 +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
d257ddfd02 Update the ID3v1 location when stripping the ID3v2 tag.
CCMAIL:83926-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332780 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-26 01:49:18 +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
d8fc67ac67 Return a bool indicating if the save was successful as in File::save()
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@332349 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-24 17:30:54 +00:00
Scott Wheeler
ab51136a54 Off by one -- make tagreader work with mpc files.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@331318 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-20 22:50:30 +00:00
Scott Wheeler
fd09b23aa0 Add MPC to the C bindings.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@331317 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-20 22:46:38 +00:00
Scott Wheeler
28738debc1 A few more nitpicks.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@331315 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-20 22:40:57 +00:00
Scott Wheeler
382f8194c1 standard style nitpicks and make it build with gcc 2.95
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@331313 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-20 22:30:00 +00:00
Allan Sandfeld Jensen
2fd6401354 Improve behavoir:
* use setValid(false) to indicate broken files
* avoid reading over file-end in case of truncated files
* subtract size of ID3v1 from streamSize
* skip known ID3v2 tag when scanning for first FLAC-frame
CCMAIL: 83924-done@bugs.kde.org
CCMAIL: 85356@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@330951 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-19 17:22:32 +00:00
Allan Sandfeld Jensen
f650edc81d Correct includes so they work when included with path,
like: #include <taglib/mpcfile.h>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@330329 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-17 16:04:50 +00:00
Allan Sandfeld Jensen
ba10ce016f Also update taglib-config
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@330302 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-17 14:19:48 +00:00
Allan Sandfeld Jensen
837872a113 Fix a bit of bitrot
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@330300 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-17 14:17:09 +00:00
Allan Sandfeld Jensen
cda53a3db4 Add support for reading musepack(mpc)-files and parsing APE-tags(v1 and v2).
Bumb version to have something to check for in JuK and kfile_mpc


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@330294 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-17 13:39:27 +00:00
Allan Sandfeld Jensen
425d793752 Compile
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@329093 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-14 11:33:46 +00:00
Allan Sandfeld Jensen
05221f8206 Add find and erase semantics like those in tlist.h
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@328830 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-13 18:28:50 +00:00
Waldo Bastian
6879050c54 Valgrind says home-brew strdup() is broken
Fixes saving of MP3 meta-info from properties dialog


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@328336 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-07-12 16:07:27 +00:00
Scott Wheeler
9a365f9e7e Fix spelling.
CCMAIL:83908-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323801 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-26 14:26:36 +00:00
Scott Wheeler
8de9b1f26a Don't try to read the properties from the bytevector if it's smaller than
the required size; in this case empty.  Also some minor nitpicks along the
way.

CCMAIL:83898-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323360 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-24 15:48:58 +00:00
Scott Wheeler
5b0c38eee9 CVS_SILENT add a note in the docs about strip() behavior
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323204 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 22:39:39 +00:00
Scott Wheeler
430e20f191 Another nice patch from Teemu Tervo. This deletes the tags from memory
when they're stripped from the file.

CCMAIL:83424-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323203 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 22:38:21 +00:00
Scott Wheeler
737be443d6 Update the C bindings to reflect the earlier change in the return type
for saving files.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323195 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 21:52:27 +00:00
Scott Wheeler
0d04000f74 oops -- forgot FLAC -- return bool for the FLAC::File::save() too to provide
some information on if the save was successful.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323170 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 18:45:26 +00:00
Scott Wheeler
8bdecaf320 CVS_SILENT forgot to save this file before the last commit -- doc update
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323166 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 18:37:00 +00:00
Scott Wheeler
420541441c Switch the return type of File::save() from void to bool to provide a little
bit of feedback on whether or not the safe operation worked.

CCMAIL:83882@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@323165 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-23 18:35:52 +00:00
Scott Wheeler
5f2e59150c Ah, this one's easy -- though an odd corer case; there's a Xing header here
but no MPEG frames.  This was triggering a divide by zero.

CCMAIL:83210-done@bugs.kde.org


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@321447 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-17 15:33:53 +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
b69dd382c6 Add iterators and operator[] to the string class.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@319064 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2004-06-09 13:33:05 +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
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
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
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
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