Commit Graph

86 Commits

Author SHA1 Message Date
829f460c3c Merge branch 'master' into merge-master
Conflicts:
	taglib/toolkit/tbytevector.cpp
	taglib/toolkit/tstring.cpp
2013-09-07 13:06:24 +09:00
4d126c49e9 Fixed a crash of APE::Item::toString() when the data type is binary 2013-07-14 02:47:48 +09:00
6d40cbc04f Refactored AudioProperties classes in some ways 2013-07-13 10:38:52 +09:00
48191904f1 Merge branch 'master' into taglib2
Conflicts:
	taglib/ogg/opus/opusfile.cpp
	taglib/riff/wav/wavfile.cpp
	taglib/toolkit/tstring.h
2013-07-11 10:14:09 +02:00
30f62ba887 Updated the relevant comments 2013-07-04 22:14:42 +09:00
1503909824 Added the methods to check which kind of tags the file actually has. 2013-07-04 18:11:33 +09:00
2c770600c4 Merge branch 'master' into taglib2
Conflicts:
	taglib/asf/asffile.h
	taglib/fileref.cpp
	taglib/flac/flacfile.h
	taglib/mp4/mp4file.h
	taglib/taglib_config.h.cmake
	taglib/toolkit/tbytevector.cpp
	taglib/toolkit/tfile.cpp
	taglib/toolkit/tfilestream.cpp
	taglib/toolkit/tiostream.h
	tests/test_flac.cpp
2013-06-20 14:44:52 +02:00
f77a84486e Fixed comments for File constructors 2013-05-30 02:04:10 +09:00
1f08a8d7c6 RIFF::WAV::Tag() returns TagUnion 2013-05-21 12:17:19 +09:00
ca48435ab6 Moved somethings from global to anonymous namespace. 2013-05-19 23:03:15 +09:00
8826ae2484 Changed TagUnion to take the count of tags 2013-05-07 12:01:51 +09:00
4ce7ebe520 Changed names of derived classes of AudioProperties 2013-05-06 19:23:57 +09:00
36512745cf Merge branch 'master' into merge-master
Conflicts:
	ConfigureChecks.cmake
	config-taglib.h.cmake
	taglib/CMakeLists.txt
	taglib/ape/apefooter.cpp
	taglib/ape/apeitem.cpp
	taglib/ape/apeproperties.cpp
	taglib/asf/asfattribute.cpp
	taglib/asf/asffile.cpp
	taglib/asf/asfpicture.cpp
	taglib/fileref.cpp
	taglib/flac/flacfile.cpp
	taglib/flac/flacpicture.cpp
	taglib/flac/flacproperties.cpp
	taglib/mp4/mp4atom.cpp
	taglib/mp4/mp4coverart.cpp
	taglib/mp4/mp4item.cpp
	taglib/mp4/mp4properties.cpp
	taglib/mp4/mp4tag.cpp
	taglib/mpc/mpcproperties.cpp
	taglib/mpeg/id3v2/frames/popularimeterframe.cpp
	taglib/mpeg/id3v2/frames/relativevolumeframe.cpp
	taglib/mpeg/id3v2/id3v2frame.cpp
	taglib/mpeg/id3v2/id3v2synchdata.cpp
	taglib/mpeg/xingheader.cpp
	taglib/ogg/flac/oggflacfile.cpp
	taglib/ogg/oggpageheader.cpp
	taglib/ogg/opus/opusproperties.cpp
	taglib/ogg/speex/speexproperties.cpp
	taglib/ogg/vorbis/vorbisproperties.cpp
	taglib/ogg/xiphcomment.cpp
	taglib/riff/aiff/aiffproperties.cpp
	taglib/riff/wav/infotag.cpp
	taglib/riff/wav/wavproperties.cpp
	taglib/toolkit/taglib.h
	taglib/toolkit/tbytevector.cpp
	taglib/toolkit/tbytevector.h
	taglib/toolkit/tfilestream.cpp
	taglib/toolkit/tiostream.h
	taglib/toolkit/tstring.cpp
	taglib/toolkit/tstringhandler.cpp
	taglib/trueaudio/trueaudioproperties.cpp
	taglib/wavpack/wavpackproperties.cpp
2013-05-01 20:14:31 +09:00
362900c721 Redesigned toNumber/fromNumber API of ByteVector 2013-04-27 12:46:21 +09:00
439f27640a ByteVector::toUInt() takes offset and length 2013-04-18 18:36:19 +09:00
56c85a2d68 Change the size type of containers from uint to size_t 2013-03-23 13:42:46 +09:00
90fd336a22 Add TagUnion::removeUnsupportedProperties, further reducing SLOCs. :-) 2012-12-27 13:32:01 +01:00
fa38c805f5 Implemented TagUnion::properties() and made Tag::*properties* virtual.
This allows to remove several default implementations in types using
TagUnions.
2012-12-27 13:19:11 +01:00
b60b444d7b Merge branch 'master' into taglib2
Conflicts:
	taglib/toolkit/tfile.h
2012-12-27 11:55:12 +01:00
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
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
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
db892c43e7 Merge branch 'master' into taglib2
Conflicts:
	taglib/mp4/mp4tag.cpp
	taglib/mp4/mp4tag.h
	taglib/toolkit/tfile.cpp
2012-11-23 10:17:16 +01:00
353eb9f00f Implement the PropertyMap interface for MP4 2012-11-22 10:40:22 +01:00
2b31fc2037 Merge branch 'master' into taglib2 2012-11-04 09:30:33 +01:00
6b9ef6421f Fixed indents 2012-10-11 22:10:19 -04:00
d15c8453ac Added check if file is open before attempting to read tags 2012-10-11 21:20:03 -04:00
4dcf0b41c6 Support files over 2GB 2012-10-10 22:22:29 +09:00
738e2ae7a7 Remove some deprecated methods from APE::Item 2012-09-30 10:42:38 +02:00
f11b206fe8 Do not delete the IOStream object in TagLib::File 2012-09-06 19:43:52 +02:00
6c0227ee13 Fix compilation errors with Visual Studio 2010 2012-08-23 19:58:21 +09:00
4140c5f2eb Check PropertyMap keys format-specifically instead of globally.
Instead of statically forbidding certain keys in PropertyMap, now the
setProperties() implementations of the different formats check if the
keys are valid for that particular specification and include them in
the returned PropertyMap otherwise.
This should remove an unneccessary complification for programmers since
now there's only one step, namely calling setProperties(), where
problems might occur.
Also the previous implementation leads to problems with invalid keys:
because taglib doesn't use exceptions, something like

  map.insert("FORBIDDEN KEY", "some value");

would lead to the value being inserted under String::null, which
smells like the source of strange bugs.
2012-07-30 20:52:30 +02:00
06597123b8 Remove trailing whitespace 2012-04-19 13:09:45 +03:00
e5ede410bc Tabs to spaces 2012-04-19 13:04:42 +03:00
26f458b87f Resolve scope resolution for APE::Footer definitions in apefooter.cpp 2012-04-15 07:58:50 -07:00
c22791318c Resolve ambiguous File symbol in apetag.cpp 2012-04-15 07:57:02 -07:00
0907e86a94 Rename anonymous enumeration symbols to be unique in apefile.cpp 2012-04-15 02:40:23 -07:00
b216b448c5 Fix compilation 2012-04-12 18:41:40 -04:00
4f8a6fdfaf Verify that an APE text item isn't empty before use 2012-04-12 10:53:32 -04:00
32a4ac6599 Preserve source code backward compatibility 2012-04-10 18:06:58 -04:00
ca26a9ad3e Added support for APE tag binary items 2012-04-10 07:24:12 -04:00
bd03e352cc Allow tag items to be replaced 2012-04-07 08:54:22 -04:00
69ac59f5f0 Added sampleFrames() to audio properties 2012-04-06 18:30:13 -04:00
2a4850f211 Merge branch 'stable'
Conflicts:
	CMakeLists.txt
2012-03-18 09:22:53 +01:00
288c6e4a3f Include <iostream> instead of <ostream> to fix compilation on Haiku 2012-03-18 09:20:26 +01:00
8e67b40bdc Fix compilation errors 2012-03-17 10:45:52 +01:00
76222cb1eb Merge branch 'master' of https://github.com/supermihi/taglib 2012-03-17 10:41:02 +01:00
df1d3e028e Make sure to not try dividing by zero 2012-03-10 09:12:19 +01:00
77d61c6eca Make sure to not try dividing by zero 2012-03-04 11:51:05 +01:00
fa0656e3c6 remove Tests/Examples build from CMakeLists 2012-02-26 10:37:59 +01:00