Commit Graph
56 Commits
Author SHA1 Message Date
Tsuda Kageyu 30f62ba887 Updated the relevant comments 2013-07-04 22:14:42 +09:00
Tsuda Kageyu 1503909824 Added the methods to check which kind of tags the file actually has. 2013-07-04 18:11:33 +09:00
Tsuda Kageyu f77a84486e Fixed comments for File constructors 2013-05-30 02:04:10 +09:00
Tsuda kageyu 49b07a2662 Refactor out some stuff to CMake tests 2013-04-21 22:24:12 +09:00
Tsuda kageyu 439f27640a ByteVector::toUInt() takes offset and length 2013-04-18 18:36:19 +09:00
Michael Helmling f1d723077f Consistently handle invalid and deprecated tags in setProperties()
This commit reverts the use of strip() in setProperties() because the
latter function should not change the file before save() is called.
Instead, the following policy is now consistently applied for file formats
with multiple tag types:
- the recommended tag type is created, if it does not exist
- deprecated tags are updated, if they exist, but not created
- illegal tag types are ignored by setProperties(), but used in properties()
  if no others exist.

The only tag types considered "illegal" so far are APEv2 in MPEG and ID3 in FLAC.
2012-12-26 22:46:37 +01:00
Michael Helmling b14e6a3570 Update for pull request #89: Change how setProperties() updates tags.
For file types supporting more than one tag format, setProperties() now always creates the most modern one. Deprecated tags are stripped.
2012-12-20 17:28:50 +01:00
Michael Helmling c0ca5c97d5 Fix issue #88 by changing the behavior of setProperties().
For file types that support multiple tag standards (for example, FLAC
files can have ID3v1, ID3v2, and Vorbis comments) setProperties is now
called for all existing tags instead of only for the most recommended
one.
This fixes the problem that under some circumstances it was not possible
to delete a value using setProperties() because upon save() the call to
Tag::duplicate recovered that value from the ID3v1 tag.
2012-12-10 20:56:16 +01:00
gonemad 6b9ef6421f Fixed indents 2012-10-11 22:10:19 -04:00
gonemad d15c8453ac Added check if file is open before attempting to read tags 2012-10-11 21:20:03 -04:00
Arnaud Bienner b7a15092d8 Faster FLAC::FilePrivate destructor 2012-10-07 03:07:53 +02:00
Arnaud Bienner ad9ffc62e6 Consider FLAC file as being invalid if a 0 length block is found 2012-10-07 03:04:02 +02:00
Lukáš Lalinský f11b206fe8 Do not delete the IOStream object in TagLib::File 2012-09-06 19:43:52 +02:00
Tsuda Kageyu 590cd4c9f6 Fix warnings with VS2010 2012-08-23 20:54:18 +09:00
Birunthan Mohanathas 06597123b8 Remove trailing whitespace 2012-04-19 13:09:45 +03:00
Vinnie Falco 04a4a6b8d4 Rename anonymous enumeration symbols to be unique in flacfile.cpp 2012-04-15 02:38:15 -07:00
Michael Helmling 9fd22023cd Merge remote-tracking branch 'official/master' 2012-02-25 18:51:30 +01:00
Michael Helmling de51307de7 Added lots of missing includes 2012-02-15 21:54:19 +01:00
Stephen F. Booth 51675f3399 Added sampleFrames to FLACProperties 2012-02-04 11:34:40 -05:00
Michael Helmling e4d955d6ef Migration to new PropertyMap ... done ape to mod. 2012-01-21 14:52:24 +01:00
Michael Helmling 5647b2e293 Made im/export functions nonvirtual. Added similar functions to File and
its subclasses. TagLib::File contains a bunch of dynamic_casts to call
the correct specializations.
2011-08-28 22:58:40 +02:00
Tim De Baets bec3875b94 Added removePicture() to FLAC::File 2011-08-16 01:57:01 +02:00
Scott Wheeler 843070ba18 Tabs be gone 2011-06-26 21:37:01 +02:00
Lukáš Lalinský 8eb32577bd Merge branch 'abstract-io' 2011-06-09 18:58:05 +02:00
Scott Wheeler efeccbf726 Don't lead the scanned blocks on save 2011-05-09 19:06:08 +02:00
Lukáš Lalinský d03ef3c312 Use the PUBLIC_HEADER property to prepare for building an OS X framework 2011-04-18 16:52:47 +02:00
Lukáš Lalinský 26c130c387 Duplicate contructors of File subclasses to accept IOStream* 2011-04-11 23:31:44 +02:00
Lukáš Lalinský 71e224fed8 Don't overwrite fields that already exist
We can have multiple fields in the Vorbis Comment (e.g. two artist names),
but TagUnion only takes the first one, so it will effectively strip the
extra fields.

https://bugs.kde.org/show_bug.cgi?id=268854
2011-03-19 07:37:28 +01:00
Lukáš Lalinský 5685dd078f Fix memory leaks in the FLAC parsing code
Thanks to Daniel Schaack for reporting these.
2011-03-11 10:29:27 +01:00
Lukáš Lalinský 2f9838a440 *poof*
I've warned people about removing autoconf/automake support for a long time,
so let's make it happen for 1.7. CMake is now the only supported build system.
I'll update build docs in a following commit.

CCMAIL:[email protected]


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1220235 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-02-13 11:50:25 +00:00
Lukáš Lalinský 393e9c5572 Fix FSF address
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212872 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 11:20:09 +00:00
Lukáš Lalinský 3741c39295 Full read/write support for FLAC pictures
NEEDS MORE TESTING

BUG:218696


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1212863 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2011-01-08 10:36:26 +00:00
Andreas Hartmetz fad0724bff Install flacmetadatablock.h. Required to make Amarok compile.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201859 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-28 22:06:34 +00:00
Lukáš Lalinský 5c930a6a8c Work-in-progress support for writing FLAC picture
This will enable the possibility to add support for accessing the Seektable
and Cuesheet blocks, but I'm not planning on implementing that right now.

CCBUG:218696


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1201717 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-11-28 12:54:52 +00:00
Lukáš Lalinský dcef0fbad2 Read-only support for FLAC picture blocks
CCBUG:218696


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1154376 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-25 11:06:36 +00:00
Lukáš Lalinský 7426a64d2b Added FLAC::Properties::signature()
BUG:160172


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1148630 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2010-07-11 10:26:35 +00:00
Lukáš Lalinský c962d78a57 Always read tags from the first Vorbis Comment block in FLAC files
Prevously TagLib saved tags to the first block, but read them from the
last one. Having multiple VC blocks is a non-standard situation, but
this is the best we can do (libFLAC also uses the first block in the
case of multiple VC blocks). 

BUG:211089


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1043985 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-11-02 19:41:12 +00:00
Lukáš Lalinský cf83551c93 Define MAKE_TAGLIB_LIB from the automake build system
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1019659 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-09-04 09:07:27 +00:00
Scott Wheeler 097ae0d785 Use flac padding.
Updated patch from Toby Dickenson

BUG:107659


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@995518 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2009-07-12 21:53:18 +00:00
Scott Wheeler a724586b43 Don't overflow for really high bitrate files.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@794711 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-04-08 12:15:20 +00:00
Scott Wheeler 37e2d6293f Ok, think I've got this all sorted out a bit. Code is much simpler now,
though much of this could be moved into the base class as there's a lot
of copy-paste action going on.


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@768992 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-01-31 05:46:13 +00:00
Scott Wheeler 6f6ec8d7de Another one bites the dust. Removing Yet Another TagUnion
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@768980 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-01-31 04:11:42 +00:00
Scott Wheeler 250d411c31 SVN_SILENT a little prettier
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@768943 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-01-30 23:49:39 +00:00
Scott Wheeler 3f19588bb1 don't leak
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@768586 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2008-01-30 12:16:03 +00:00
Scott Wheeler f8736f0fe9 Ran my whitespace fixing script -- tabs -> spaces, removes trailing spaces.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@738725 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-19 14:44:09 +00:00
Scott Wheeler b2e2f0bdba These were missing private copy constructors / assignment operators to make them non-copyable.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@738702 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-19 13:59:33 +00:00
Lukáš Lalinský bb438484da Use Unicode filenames on Windows (this time the correct patch).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@734975 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-10 16:06:16 +00:00
Lukáš Lalinský 7b0c053359 Revert r734944 -- this one wasn't meant to go in.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@734973 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-10 16:05:18 +00:00
Lukáš Lalinský b98be427f9 Use Unicode filenames on Windows.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@734944 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-11-10 15:16:49 +00:00
Scott Wheeler 1bdb67fafa More TAGLIB_EXPORTs from Lukas.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@727755 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
2007-10-21 17:35:40 +00:00