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:taglib-devel@kde.org


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