Commit Graph

10 Commits

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