diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index c00f47bf7..8b22070b7 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -6,6 +6,8 @@
* fixed issues when searching for metadata with accented characters
* fixed issue with FfmpegDecoder that was preventing .wma files (and possibly
other formats) from playing properly.
+* updated to taglib 1.13. vendor the library by default on unix platforms,
+ and use pre-compiled version on windows. (also: remove source bundle)
* fixed OpenBSD compile
--------------------------------------------------------------------------------
diff --git a/src/3rdparty/bin b/src/3rdparty/bin
index 8b6a9f577..6b7541d98 160000
--- a/src/3rdparty/bin
+++ b/src/3rdparty/bin
@@ -1 +1 @@
-Subproject commit 8b6a9f577c49864fbfe3c01e6151099bd25c4c4d
+Subproject commit 6b7541d98b232ea9d2a01b8da5d723eb894bb38d
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/aiff/aifffile.h b/src/3rdparty/win32_include/taglib/aifffile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/aiff/aifffile.h
rename to src/3rdparty/win32_include/taglib/aifffile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/aiff/aiffproperties.h b/src/3rdparty/win32_include/taglib/aiffproperties.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/aiff/aiffproperties.h
rename to src/3rdparty/win32_include/taglib/aiffproperties.h
index dbb4c2146..9ebd86ca5
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/aiff/aiffproperties.h
+++ b/src/3rdparty/win32_include/taglib/aiffproperties.h
@@ -50,7 +50,7 @@ namespace TagLib {
* Create an instance of AIFF::Properties with the data read from the
* ByteVector \a data.
*
- * \deprecated
+ * \deprecated Use Properties(File *, ReadStyle).
*/
TAGLIB_DEPRECATED Properties(const ByteVector &data, ReadStyle style);
@@ -71,7 +71,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
@@ -117,7 +117,7 @@ namespace TagLib {
*
* \note This method is just an alias of bitsPerSample().
*
- * \deprecated
+ * \deprecated Use bitsPerSample().
*/
TAGLIB_DEPRECATED int sampleWidth() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apefile.h b/src/3rdparty/win32_include/taglib/apefile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apefile.h
rename to src/3rdparty/win32_include/taglib/apefile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apefooter.h b/src/3rdparty/win32_include/taglib/apefooter.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apefooter.h
rename to src/3rdparty/win32_include/taglib/apefooter.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apeitem.h b/src/3rdparty/win32_include/taglib/apeitem.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apeitem.h
rename to src/3rdparty/win32_include/taglib/apeitem.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apeproperties.h b/src/3rdparty/win32_include/taglib/apeproperties.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apeproperties.h
rename to src/3rdparty/win32_include/taglib/apeproperties.h
index ebbf949bd..c279b59b7
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apeproperties.h
+++ b/src/3rdparty/win32_include/taglib/apeproperties.h
@@ -53,7 +53,7 @@ namespace TagLib {
* Create an instance of APE::Properties with the data read from the
* APE::File \a file.
*
- * \deprecated
+ * \deprecated Use Properties(File *, long, ReadStyle).
*/
TAGLIB_DEPRECATED Properties(File *file, ReadStyle style = Average);
@@ -74,7 +74,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apetag.h b/src/3rdparty/win32_include/taglib/apetag.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ape/apetag.h
rename to src/3rdparty/win32_include/taglib/apetag.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfattribute.h b/src/3rdparty/win32_include/taglib/asfattribute.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfattribute.h
rename to src/3rdparty/win32_include/taglib/asfattribute.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asffile.h b/src/3rdparty/win32_include/taglib/asffile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asffile.h
rename to src/3rdparty/win32_include/taglib/asffile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfpicture.h b/src/3rdparty/win32_include/taglib/asfpicture.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfpicture.h
rename to src/3rdparty/win32_include/taglib/asfpicture.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfproperties.h b/src/3rdparty/win32_include/taglib/asfproperties.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfproperties.h
rename to src/3rdparty/win32_include/taglib/asfproperties.h
index 317bf104f..5aa453f8e
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asfproperties.h
+++ b/src/3rdparty/win32_include/taglib/asfproperties.h
@@ -86,7 +86,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asftag.h b/src/3rdparty/win32_include/taglib/asftag.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asftag.h
rename to src/3rdparty/win32_include/taglib/asftag.h
index bbd98212f..ca06868ec
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/asf/asftag.h
+++ b/src/3rdparty/win32_include/taglib/asftag.h
@@ -152,7 +152,8 @@ namespace TagLib {
virtual bool isEmpty() const;
/*!
- * \deprecated
+ * \deprecated Use attributeListMap() const, contains(), removeItem(),
+ * attribute(), setAttribute(), addAttribute().
*/
AttributeListMap &attributeListMap();
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/attachedpictureframe.h b/src/3rdparty/win32_include/taglib/attachedpictureframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/attachedpictureframe.h
rename to src/3rdparty/win32_include/taglib/attachedpictureframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/audioproperties.h b/src/3rdparty/win32_include/taglib/audioproperties.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/audioproperties.h
rename to src/3rdparty/win32_include/taglib/audioproperties.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/chapterframe.h b/src/3rdparty/win32_include/taglib/chapterframe.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/chapterframe.h
rename to src/3rdparty/win32_include/taglib/chapterframe.h
index 64ee19d3d..0eaa140f2
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/chapterframe.h
+++ b/src/3rdparty/win32_include/taglib/chapterframe.h
@@ -57,7 +57,7 @@ namespace TagLib {
* \a startTime, end time \a endTime, start offset \a startOffset,
* end offset \a endOffset and optionally a list of embedded frames,
* whose ownership will then be taken over by this Frame, in
- * \a embeededFrames;
+ * \a embeddedFrames;
*
* All times are in milliseconds.
*/
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/commentsframe.h b/src/3rdparty/win32_include/taglib/commentsframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/commentsframe.h
rename to src/3rdparty/win32_include/taglib/commentsframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h b/src/3rdparty/win32_include/taglib/eventtimingcodesframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h
rename to src/3rdparty/win32_include/taglib/eventtimingcodesframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/fileref.h b/src/3rdparty/win32_include/taglib/fileref.h
old mode 100755
new mode 100644
similarity index 94%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/fileref.h
rename to src/3rdparty/win32_include/taglib/fileref.h
index c36f54cbd..db23bbbbd
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/fileref.h
+++ b/src/3rdparty/win32_include/taglib/fileref.h
@@ -108,6 +108,16 @@ namespace TagLib {
audioPropertiesStyle = AudioProperties::Average) const = 0;
};
+ class TAGLIB_EXPORT StreamTypeResolver : public FileTypeResolver
+ {
+ TAGLIB_IGNORE_MISSING_DESTRUCTOR
+ public:
+ virtual File *createFileFromStream(IOStream *stream,
+ bool readAudioProperties = true,
+ AudioProperties::ReadStyle
+ audioPropertiesStyle = AudioProperties::Average) const = 0;
+ };
+
/*!
* Creates a null FileRef.
*/
@@ -166,8 +176,8 @@ namespace TagLib {
* \warning This pointer will become invalid when this FileRef and all
* copies pass out of scope.
*
- * \warning Do not cast it to any subclasses of \class Tag.
- * Use tag returning methods of appropriate subclasses of \class File instead.
+ * \warning Do not cast it to any subclasses of Tag.
+ * Use tag returning methods of appropriate subclasses of File instead.
*
* \see File::tag()
*/
@@ -268,7 +278,7 @@ namespace TagLib {
* \note You generally shouldn't use this method, but instead the constructor
* directly.
*
- * \deprecated
+ * \deprecated Use FileRef(FileName, bool, AudioProperties::ReadStyle).
*/
static File *create(FileName fileName,
bool readAudioProperties = true,
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacfile.h b/src/3rdparty/win32_include/taglib/flacfile.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacfile.h
rename to src/3rdparty/win32_include/taglib/flacfile.h
index 1b8654ebd..9346d9b41
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacfile.h
+++ b/src/3rdparty/win32_include/taglib/flacfile.h
@@ -238,7 +238,7 @@ namespace TagLib {
* when
*
* \see ID3v2FrameFactory
- * \deprecated This value should be passed in via the constructor
+ * \deprecated This value should be passed in via the constructor.
*/
TAGLIB_DEPRECATED void setID3v2FrameFactory(const ID3v2::FrameFactory *factory);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacmetadatablock.h b/src/3rdparty/win32_include/taglib/flacmetadatablock.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacmetadatablock.h
rename to src/3rdparty/win32_include/taglib/flacmetadatablock.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacpicture.h b/src/3rdparty/win32_include/taglib/flacpicture.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacpicture.h
rename to src/3rdparty/win32_include/taglib/flacpicture.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacproperties.h b/src/3rdparty/win32_include/taglib/flacproperties.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacproperties.h
rename to src/3rdparty/win32_include/taglib/flacproperties.h
index 743e58722..17e00425f
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/flac/flacproperties.h
+++ b/src/3rdparty/win32_include/taglib/flacproperties.h
@@ -70,7 +70,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
@@ -118,7 +118,7 @@ namespace TagLib {
*
* \note This method is just an alias of bitsPerSample().
*
- * \deprecated
+ * \deprecated Use bitsPerSample().
*/
TAGLIB_DEPRECATED int sampleWidth() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h b/src/3rdparty/win32_include/taglib/generalencapsulatedobjectframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h
rename to src/3rdparty/win32_include/taglib/generalencapsulatedobjectframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v1/id3v1genres.h b/src/3rdparty/win32_include/taglib/id3v1genres.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v1/id3v1genres.h
rename to src/3rdparty/win32_include/taglib/id3v1genres.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v1/id3v1tag.h b/src/3rdparty/win32_include/taglib/id3v1tag.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v1/id3v1tag.h
rename to src/3rdparty/win32_include/taglib/id3v1tag.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2.h b/src/3rdparty/win32_include/taglib/id3v2.h
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2.h
rename to src/3rdparty/win32_include/taglib/id3v2.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2extendedheader.h b/src/3rdparty/win32_include/taglib/id3v2extendedheader.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2extendedheader.h
rename to src/3rdparty/win32_include/taglib/id3v2extendedheader.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2footer.h b/src/3rdparty/win32_include/taglib/id3v2footer.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2footer.h
rename to src/3rdparty/win32_include/taglib/id3v2footer.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2frame.h b/src/3rdparty/win32_include/taglib/id3v2frame.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2frame.h
rename to src/3rdparty/win32_include/taglib/id3v2frame.h
index ac531f36c..e3a3db32f
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2frame.h
+++ b/src/3rdparty/win32_include/taglib/id3v2frame.h
@@ -47,7 +47,7 @@ namespace TagLib {
* split between a collection of frames (which are in turn split into fields
* (Structure, 4)
* (Frames). This class provides an API for
- * gathering information about and modifying ID3v2 frames. Funtionallity
+ * gathering information about and modifying ID3v2 frames. Functionality
* specific to a given frame type is handed in one of the many subclasses.
*/
@@ -55,6 +55,8 @@ namespace TagLib {
{
friend class Tag;
friend class FrameFactory;
+ friend class TableOfContentsFrame;
+ friend class ChapterFrame;
public:
@@ -503,7 +505,7 @@ namespace TagLib {
ByteVector render() const;
/*!
- * \deprecated
+ * \deprecated Use fileAlterPreservation().
*/
TAGLIB_DEPRECATED bool frameAlterPreservation() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2framefactory.h b/src/3rdparty/win32_include/taglib/id3v2framefactory.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2framefactory.h
rename to src/3rdparty/win32_include/taglib/id3v2framefactory.h
index e8ff60627..706f9da50
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2framefactory.h
+++ b/src/3rdparty/win32_include/taglib/id3v2framefactory.h
@@ -46,7 +46,7 @@ namespace TagLib {
*
* Reimplementing this factory is the key to adding support for frame types
* not directly supported by TagLib to your application. To do so you would
- * subclass this factory reimplement createFrame(). Then by setting your
+ * subclass this factory and reimplement createFrame(). Then by setting your
* factory to be the default factory in ID3v2::Tag constructor you can
* implement behavior that will allow for new ID3v2::Frame subclasses (also
* provided by you) to be used.
@@ -87,7 +87,7 @@ namespace TagLib {
TAGLIB_DEPRECATED Frame *createFrame(const ByteVector &data, unsigned int version = 4) const;
/*!
- * \deprecated
+ * \deprecated Use createFrame(const ByteVector &, const Header *) const.
*/
// BIC: remove
Frame *createFrame(const ByteVector &data, Header *tagHeader) const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2header.h b/src/3rdparty/win32_include/taglib/id3v2header.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2header.h
rename to src/3rdparty/win32_include/taglib/id3v2header.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2synchdata.h b/src/3rdparty/win32_include/taglib/id3v2synchdata.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2synchdata.h
rename to src/3rdparty/win32_include/taglib/id3v2synchdata.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2tag.h b/src/3rdparty/win32_include/taglib/id3v2tag.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2tag.h
rename to src/3rdparty/win32_include/taglib/id3v2tag.h
index 7709b8390..7b0f83675
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/id3v2tag.h
+++ b/src/3rdparty/win32_include/taglib/id3v2tag.h
@@ -338,7 +338,7 @@ namespace TagLib {
ByteVector render() const;
/*!
- * \deprecated
+ * \deprecated Use render(Version) const.
*/
TAGLIB_DEPRECATED ByteVector render(int version) const;
@@ -393,7 +393,7 @@ namespace TagLib {
void setTextFrame(const ByteVector &id, const String &value);
/*!
- * Dowgrade frames from ID3v2.4 (used internally and by default) to ID3v2.3
+ * Downgrade frames from ID3v2.4 (used internally and by default) to ID3v2.3.
*/
void downgradeFrames(FrameList *existingFrames, FrameList *newFrames) const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/infotag.h b/src/3rdparty/win32_include/taglib/infotag.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/infotag.h
rename to src/3rdparty/win32_include/taglib/infotag.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/it/itfile.h b/src/3rdparty/win32_include/taglib/itfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/it/itfile.h
rename to src/3rdparty/win32_include/taglib/itfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/it/itproperties.h b/src/3rdparty/win32_include/taglib/itproperties.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/it/itproperties.h
rename to src/3rdparty/win32_include/taglib/itproperties.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modfile.h b/src/3rdparty/win32_include/taglib/modfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modfile.h
rename to src/3rdparty/win32_include/taglib/modfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modfilebase.h b/src/3rdparty/win32_include/taglib/modfilebase.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modfilebase.h
rename to src/3rdparty/win32_include/taglib/modfilebase.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modproperties.h b/src/3rdparty/win32_include/taglib/modproperties.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modproperties.h
rename to src/3rdparty/win32_include/taglib/modproperties.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modtag.h b/src/3rdparty/win32_include/taglib/modtag.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mod/modtag.h
rename to src/3rdparty/win32_include/taglib/modtag.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4atom.h b/src/3rdparty/win32_include/taglib/mp4atom.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4atom.h
rename to src/3rdparty/win32_include/taglib/mp4atom.h
index cbb0d10ad..5e234cce5
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4atom.h
+++ b/src/3rdparty/win32_include/taglib/mp4atom.h
@@ -74,7 +74,7 @@ namespace TagLib {
typedef TagLib::List AtomDataList;
- class Atom
+ class TAGLIB_EXPORT Atom
{
public:
Atom(File *file);
@@ -88,11 +88,11 @@ namespace TagLib {
AtomList children;
private:
static const int numContainers = 11;
- static const char *containers[11];
+ static const char *const containers[11];
};
//! Root-level atoms
- class Atoms
+ class TAGLIB_EXPORT Atoms
{
public:
Atoms(File *file);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4coverart.h b/src/3rdparty/win32_include/taglib/mp4coverart.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4coverart.h
rename to src/3rdparty/win32_include/taglib/mp4coverart.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4file.h b/src/3rdparty/win32_include/taglib/mp4file.h
old mode 100755
new mode 100644
similarity index 88%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4file.h
rename to src/3rdparty/win32_include/taglib/mp4file.h
index 8a46d17df..a8bb48804
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4file.h
+++ b/src/3rdparty/win32_include/taglib/mp4file.h
@@ -48,6 +48,19 @@ namespace TagLib {
class TAGLIB_EXPORT File : public TagLib::File
{
public:
+ /*!
+ * This set of flags is used for strip() and is suitable for
+ * being OR-ed together.
+ */
+ enum TagTypes {
+ //! Empty set. Matches no tag types.
+ NoTags = 0x0000,
+ //! Matches MP4 tags.
+ MP4 = 0x0001,
+ //! Matches all tag types.
+ AllTags = 0xffff
+ };
+
/*!
* Constructs an MP4 file from \a file. If \a readProperties is true the
* file's audio properties will also be read.
@@ -114,6 +127,15 @@ namespace TagLib {
*/
bool save();
+ /*!
+ * This will strip the tags that match the OR-ed together TagTypes from the
+ * file. By default it strips all tags. It returns true if the tags are
+ * successfully stripped.
+ *
+ * \note This will update the file immediately.
+ */
+ bool strip(int tags = AllTags);
+
/*!
* Returns whether or not the file on disk actually has an MP4 tag, or the
* file has a Metadata Item List (ilst) atom.
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4item.h b/src/3rdparty/win32_include/taglib/mp4item.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4item.h
rename to src/3rdparty/win32_include/taglib/mp4item.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4properties.h b/src/3rdparty/win32_include/taglib/mp4properties.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4properties.h
rename to src/3rdparty/win32_include/taglib/mp4properties.h
index 492a48cce..d4a1f2639
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4properties.h
+++ b/src/3rdparty/win32_include/taglib/mp4properties.h
@@ -55,7 +55,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4tag.h b/src/3rdparty/win32_include/taglib/mp4tag.h
old mode 100755
new mode 100644
similarity index 93%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4tag.h
rename to src/3rdparty/win32_include/taglib/mp4tag.h
index e5b70af3d..ab70e84be
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mp4/mp4tag.h
+++ b/src/3rdparty/win32_include/taglib/mp4tag.h
@@ -40,7 +40,7 @@ namespace TagLib {
namespace MP4 {
/*!
- * \deprecated
+ * \deprecated Use ItemMap.
*/
TAGLIB_DEPRECATED typedef TagLib::Map ItemListMap;
typedef TagLib::Map ItemMap;
@@ -72,7 +72,7 @@ namespace TagLib {
virtual bool isEmpty() const;
/*!
- * \deprecated Use the item() and setItem() API instead
+ * \deprecated Use the item() and setItem() API instead.
*/
TAGLIB_DEPRECATED ItemMap &itemListMap();
@@ -102,10 +102,22 @@ namespace TagLib {
*/
bool contains(const String &key) const;
+ /*!
+ * Saves the associated file with the tag stripped.
+ */
+ bool strip();
+
PropertyMap properties() const;
void removeUnsupportedProperties(const StringList& properties);
PropertyMap setProperties(const PropertyMap &properties);
+ protected:
+ /*!
+ * Sets the value of \a key to \a value, overwriting any previous value.
+ * If \a value is empty, the item is removed.
+ */
+ void setTextItem(const String &key, const String &value);
+
private:
AtomDataList parseData2(const Atom *atom, int expectedFlags = -1,
bool freeForm = false);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcfile.h b/src/3rdparty/win32_include/taglib/mpcfile.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcfile.h
rename to src/3rdparty/win32_include/taglib/mpcfile.h
index eb3ec54a2..cc62262ad
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcfile.h
+++ b/src/3rdparty/win32_include/taglib/mpcfile.h
@@ -195,7 +195,7 @@ namespace TagLib {
void strip(int tags = AllTags);
/*!
- * \deprecated
+ * \deprecated Use strip().
* \see strip
*/
TAGLIB_DEPRECATED void remove(int tags = AllTags);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcproperties.h b/src/3rdparty/win32_include/taglib/mpcproperties.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcproperties.h
rename to src/3rdparty/win32_include/taglib/mpcproperties.h
index 9a902dc9e..b7143ee87
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpc/mpcproperties.h
+++ b/src/3rdparty/win32_include/taglib/mpcproperties.h
@@ -72,7 +72,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegfile.h b/src/3rdparty/win32_include/taglib/mpegfile.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegfile.h
rename to src/3rdparty/win32_include/taglib/mpegfile.h
index 3fcb72722..31cf34cea
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegfile.h
+++ b/src/3rdparty/win32_include/taglib/mpegfile.h
@@ -193,19 +193,19 @@ namespace TagLib {
bool save(int tags);
/*!
- * \deprecated
+ * \deprecated Use save(int, StripTags, ID3v2::Version, DuplicateTags).
*/
// BIC: combine with the above method
TAGLIB_DEPRECATED bool save(int tags, bool stripOthers);
/*!
- * \deprecated
+ * \deprecated Use save(int, StripTags, ID3v2::Version, DuplicateTags).
*/
// BIC: combine with the above method
TAGLIB_DEPRECATED bool save(int tags, bool stripOthers, int id3v2Version);
/*!
- * \deprecated
+ * \deprecated Use save(int, StripTags, ID3v2::Version, DuplicateTags).
*/
// BIC: combine with the above method
TAGLIB_DEPRECATED bool save(int tags, bool stripOthers, int id3v2Version, bool duplicateTags);
@@ -315,7 +315,7 @@ namespace TagLib {
* Set the ID3v2::FrameFactory to something other than the default.
*
* \see ID3v2FrameFactory
- * \deprecated This value should be passed in via the constructor
+ * \deprecated This value should be passed in via the constructor.
*/
TAGLIB_DEPRECATED void setID3v2FrameFactory(const ID3v2::FrameFactory *factory);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegheader.h b/src/3rdparty/win32_include/taglib/mpegheader.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegheader.h
rename to src/3rdparty/win32_include/taglib/mpegheader.h
index ca51184cf..35902cf22
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegheader.h
+++ b/src/3rdparty/win32_include/taglib/mpegheader.h
@@ -50,7 +50,7 @@ namespace TagLib {
/*!
* Parses an MPEG header based on \a data.
*
- * \deprecated
+ * \deprecated Use Header(File *, long, bool).
*/
TAGLIB_DEPRECATED Header(const ByteVector &data);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegproperties.h b/src/3rdparty/win32_include/taglib/mpegproperties.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegproperties.h
rename to src/3rdparty/win32_include/taglib/mpegproperties.h
index a1a1af4af..0b7f0c166
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/mpegproperties.h
+++ b/src/3rdparty/win32_include/taglib/mpegproperties.h
@@ -65,7 +65,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggfile.h b/src/3rdparty/win32_include/taglib/oggfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggfile.h
rename to src/3rdparty/win32_include/taglib/oggfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/flac/oggflacfile.h b/src/3rdparty/win32_include/taglib/oggflacfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/flac/oggflacfile.h
rename to src/3rdparty/win32_include/taglib/oggflacfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggpage.h b/src/3rdparty/win32_include/taglib/oggpage.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggpage.h
rename to src/3rdparty/win32_include/taglib/oggpage.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggpageheader.h b/src/3rdparty/win32_include/taglib/oggpageheader.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/oggpageheader.h
rename to src/3rdparty/win32_include/taglib/oggpageheader.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/opus/opusfile.h b/src/3rdparty/win32_include/taglib/opusfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/opus/opusfile.h
rename to src/3rdparty/win32_include/taglib/opusfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/opus/opusproperties.h b/src/3rdparty/win32_include/taglib/opusproperties.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/opus/opusproperties.h
rename to src/3rdparty/win32_include/taglib/opusproperties.h
index 2e44dea5c..8ec291ea5
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/opus/opusproperties.h
+++ b/src/3rdparty/win32_include/taglib/opusproperties.h
@@ -67,7 +67,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/ownershipframe.h b/src/3rdparty/win32_include/taglib/ownershipframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/ownershipframe.h
rename to src/3rdparty/win32_include/taglib/ownershipframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/podcastframe.h b/src/3rdparty/win32_include/taglib/podcastframe.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/podcastframe.h
rename to src/3rdparty/win32_include/taglib/podcastframe.h
index 7bbc2138b..a71278c3f
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/podcastframe.h
+++ b/src/3rdparty/win32_include/taglib/podcastframe.h
@@ -57,6 +57,8 @@ namespace TagLib {
*/
virtual String toString() const;
+ PropertyMap asProperties() const;
+
protected:
// Reimplementations.
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/popularimeterframe.h b/src/3rdparty/win32_include/taglib/popularimeterframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/popularimeterframe.h
rename to src/3rdparty/win32_include/taglib/popularimeterframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/privateframe.h b/src/3rdparty/win32_include/taglib/privateframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/privateframe.h
rename to src/3rdparty/win32_include/taglib/privateframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/relativevolumeframe.h b/src/3rdparty/win32_include/taglib/relativevolumeframe.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/relativevolumeframe.h
rename to src/3rdparty/win32_include/taglib/relativevolumeframe.h
index de01254c1..55f13fcee
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/relativevolumeframe.h
+++ b/src/3rdparty/win32_include/taglib/relativevolumeframe.h
@@ -155,7 +155,7 @@ namespace TagLib {
* available and returns 0 if the specified channel does not exist.
*
* \see setVolumeAdjustmentIndex()
- * \see volumeAjustment()
+ * \see volumeAdjustment()
*/
short volumeAdjustmentIndex(ChannelType type = MasterVolume) const;
@@ -167,7 +167,7 @@ namespace TagLib {
* By default this sets the value for the master volume.
*
* \see volumeAdjustmentIndex()
- * \see setVolumeAjustment()
+ * \see setVolumeAdjustment()
*/
void setVolumeAdjustmentIndex(short index, ChannelType type = MasterVolume);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/rifffile.h b/src/3rdparty/win32_include/taglib/rifffile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/rifffile.h
rename to src/3rdparty/win32_include/taglib/rifffile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/s3m/s3mfile.h b/src/3rdparty/win32_include/taglib/s3mfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/s3m/s3mfile.h
rename to src/3rdparty/win32_include/taglib/s3mfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/s3m/s3mproperties.h b/src/3rdparty/win32_include/taglib/s3mproperties.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/s3m/s3mproperties.h
rename to src/3rdparty/win32_include/taglib/s3mproperties.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/speex/speexfile.h b/src/3rdparty/win32_include/taglib/speexfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/speex/speexfile.h
rename to src/3rdparty/win32_include/taglib/speexfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/speex/speexproperties.h b/src/3rdparty/win32_include/taglib/speexproperties.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/speex/speexproperties.h
rename to src/3rdparty/win32_include/taglib/speexproperties.h
index 3f5a20f30..ad1ba90f8
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/speex/speexproperties.h
+++ b/src/3rdparty/win32_include/taglib/speexproperties.h
@@ -67,7 +67,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/synchronizedlyricsframe.h b/src/3rdparty/win32_include/taglib/synchronizedlyricsframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/synchronizedlyricsframe.h
rename to src/3rdparty/win32_include/taglib/synchronizedlyricsframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/tableofcontentsframe.h b/src/3rdparty/win32_include/taglib/tableofcontentsframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/tableofcontentsframe.h
rename to src/3rdparty/win32_include/taglib/tableofcontentsframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/tag.h b/src/3rdparty/win32_include/taglib/tag.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/tag.h
rename to src/3rdparty/win32_include/taglib/tag.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/tag_c.h b/src/3rdparty/win32_include/taglib/tag_c.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/bindings/c/tag_c.h
rename to src/3rdparty/win32_include/taglib/tag_c.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/taglib.h b/src/3rdparty/win32_include/taglib/taglib.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/taglib.h
rename to src/3rdparty/win32_include/taglib/taglib.h
index d2dd68386..8ea0b99b7
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/taglib.h
+++ b/src/3rdparty/win32_include/taglib/taglib.h
@@ -26,13 +26,11 @@
#ifndef TAGLIB_H
#define TAGLIB_H
-#ifndef WIN32
#include "taglib_config.h"
-#endif
#define TAGLIB_MAJOR_VERSION 1
-#define TAGLIB_MINOR_VERSION 11
-#define TAGLIB_PATCH_VERSION 1
+#define TAGLIB_MINOR_VERSION 13
+#define TAGLIB_PATCH_VERSION 0
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 1)) || defined(__clang__)
#define TAGLIB_IGNORE_MISSING_DESTRUCTOR _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"")
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/taglib_config.h.cmake b/src/3rdparty/win32_include/taglib/taglib_config.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/taglib_config.h.cmake
rename to src/3rdparty/win32_include/taglib/taglib_config.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/taglib_export.h b/src/3rdparty/win32_include/taglib/taglib_export.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/taglib_export.h
rename to src/3rdparty/win32_include/taglib/taglib_export.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevector.h b/src/3rdparty/win32_include/taglib/tbytevector.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevector.h
rename to src/3rdparty/win32_include/taglib/tbytevector.h
index 41373c720..22cf625d1
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevector.h
+++ b/src/3rdparty/win32_include/taglib/tbytevector.h
@@ -278,7 +278,7 @@ namespace TagLib {
*
* \see isEmpty()
*
- * \deprecated
+ * \deprecated Use isEmpty(), do not differentiate between null and empty.
*/
// BIC: remove
TAGLIB_DEPRECATED bool isNull() const;
@@ -592,7 +592,7 @@ namespace TagLib {
* \warning Do not modify this variable. It will mess up the internal state
* of TagLib.
*
- * \deprecated
+ * \deprecated Use ByteVector().
*/
// BIC: remove
TAGLIB_DEPRECATED static ByteVector null;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevectorlist.h b/src/3rdparty/win32_include/taglib/tbytevectorlist.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevectorlist.h
rename to src/3rdparty/win32_include/taglib/tbytevectorlist.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevectorstream.h b/src/3rdparty/win32_include/taglib/tbytevectorstream.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tbytevectorstream.h
rename to src/3rdparty/win32_include/taglib/tbytevectorstream.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tdebuglistener.h b/src/3rdparty/win32_include/taglib/tdebuglistener.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tdebuglistener.h
rename to src/3rdparty/win32_include/taglib/tdebuglistener.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/textidentificationframe.h b/src/3rdparty/win32_include/taglib/textidentificationframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/textidentificationframe.h
rename to src/3rdparty/win32_include/taglib/textidentificationframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tfile.h b/src/3rdparty/win32_include/taglib/tfile.h
old mode 100755
new mode 100644
similarity index 96%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tfile.h
rename to src/3rdparty/win32_include/taglib/tfile.h
index 4243fe7a5..b9ac95ad9
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tfile.h
+++ b/src/3rdparty/win32_include/taglib/tfile.h
@@ -72,11 +72,11 @@ namespace TagLib {
/*!
* Used to specify if when saving files, if values between different tag
- * types should be syncronized.
+ * types should be synchronized.
*/
enum DuplicateTags {
- Duplicate, // &erase(const Key &key);
+ /*!
+ * Returns the value associated with \a key.
+ *
+ * If the map does not contain \a key, it returns defaultValue.
+ * If no defaultValue is specified, it returns a default-constructed value.
+ */
+ const T value(const Key &key, const T &defaultValue = T()) const;
+
/*!
* Returns a reference to the value associated with \a key.
*
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tmap.tcc b/src/3rdparty/win32_include/taglib/tmap.tcc
old mode 100755
new mode 100644
similarity index 96%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tmap.tcc
rename to src/3rdparty/win32_include/taglib/tmap.tcc
index 2e4ed5ebf..18eec1107
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tmap.tcc
+++ b/src/3rdparty/win32_include/taglib/tmap.tcc
@@ -155,6 +155,13 @@ unsigned int Map::size() const
return static_cast(d->map.size());
}
+template
+const T Map::value(const Key &key, const T &defaultValue) const
+{
+ ConstIterator it = d->map.find(key);
+ return it != d->map.end() ? it->second : defaultValue;
+}
+
template
const T &Map::operator[](const Key &key) const
{
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tpropertymap.h b/src/3rdparty/win32_include/taglib/tpropertymap.h
old mode 100755
new mode 100644
similarity index 90%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tpropertymap.h
rename to src/3rdparty/win32_include/taglib/tpropertymap.h
index 5933b89b2..de497869a
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tpropertymap.h
+++ b/src/3rdparty/win32_include/taglib/tpropertymap.h
@@ -29,6 +29,11 @@
#include "tmap.h"
#include "tstringlist.h"
+#ifdef _MSC_VER
+// Explained at end of tpropertymap.cpp
+extern template class TAGLIB_EXPORT TagLib::Map;
+#endif
+
namespace TagLib {
typedef Map SimplePropertyMap;
@@ -68,6 +73,7 @@ namespace TagLib {
* - ALBUMSORT
* - ARTISTSORT
* - ALBUMARTISTSORT
+ * - COMPOSERSORT
*
* Credits:
*
@@ -75,7 +81,7 @@ namespace TagLib {
* - LYRICIST
* - CONDUCTOR
* - REMIXER
- * - PERFORMER:
+ * - PERFORMER:\
*
* Other tags:
*
@@ -90,12 +96,16 @@ namespace TagLib {
* - LABEL
* - CATALOGNUMBER
* - BARCODE
+ * - RELEASECOUNTRY
+ * - RELEASESTATUS
+ * - RELEASETYPE
*
* MusicBrainz identifiers:
*
* - MUSICBRAINZ_TRACKID
* - MUSICBRAINZ_ALBUMID
* - MUSICBRAINZ_RELEASEGROUPID
+ * - MUSICBRAINZ_RELEASETRACKID
* - MUSICBRAINZ_WORKID
* - MUSICBRAINZ_ARTISTID
* - MUSICBRAINZ_ALBUMARTISTID
@@ -181,6 +191,15 @@ namespace TagLib {
*/
PropertyMap &merge(const PropertyMap &other);
+ /*!
+ * Returns the value associated with \a key.
+ *
+ * If the map does not contain \a key, it returns defaultValue.
+ * If no defaultValue is specified, it returns an empty string list.
+ */
+ const StringList value(const String &key,
+ const StringList &defaultValue = StringList()) const;
+
/*!
* Returns a reference to the value associated with \a key.
*
@@ -199,12 +218,12 @@ namespace TagLib {
StringList &operator[](const String &key);
/*!
- * Returns true if and only if \other has the same contents as this map.
+ * Returns true if and only if \a other has the same contents as this map.
*/
bool operator==(const PropertyMap &other) const;
/*!
- * Returns false if and only \other has the same contents as this map.
+ * Returns false if and only \a other has the same contents as this map.
*/
bool operator!=(const PropertyMap &other) const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/trefcounter.h b/src/3rdparty/win32_include/taglib/trefcounter.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/trefcounter.h
rename to src/3rdparty/win32_include/taglib/trefcounter.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudiofile.h b/src/3rdparty/win32_include/taglib/trueaudiofile.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudiofile.h
rename to src/3rdparty/win32_include/taglib/trueaudiofile.h
index 1f664d25d..0f883c86c
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudiofile.h
+++ b/src/3rdparty/win32_include/taglib/trueaudiofile.h
@@ -164,7 +164,7 @@ namespace TagLib {
* Set the ID3v2::FrameFactory to something other than the default.
*
* \see ID3v2FrameFactory
- * \deprecated This value should be passed in via the constructor
+ * \deprecated This value should be passed in via the constructor.
*/
TAGLIB_DEPRECATED void setID3v2FrameFactory(const ID3v2::FrameFactory *factory);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudioproperties.h b/src/3rdparty/win32_include/taglib/trueaudioproperties.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudioproperties.h
rename to src/3rdparty/win32_include/taglib/trueaudioproperties.h
index d25c7a775..bfef2bbe9
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/trueaudio/trueaudioproperties.h
+++ b/src/3rdparty/win32_include/taglib/trueaudioproperties.h
@@ -67,7 +67,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstring.h b/src/3rdparty/win32_include/taglib/tstring.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstring.h
rename to src/3rdparty/win32_include/taglib/tstring.h
index 7028aab2f..e6bbbe7bf
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstring.h
+++ b/src/3rdparty/win32_include/taglib/tstring.h
@@ -337,7 +337,7 @@ namespace TagLib {
*
* \see isEmpty()
*
- * \deprecated
+ * \deprecated Use isEmpty(), do not differentiate between null and empty.
*/
// BIC: remove
TAGLIB_DEPRECATED bool isNull() const;
@@ -522,7 +522,7 @@ namespace TagLib {
* \warning Do not modify this variable. It will mess up the internal state
* of TagLib.
*
- * \deprecated
+ * \deprecated Use String().
*/
// BIC: remove
TAGLIB_DEPRECATED static String null;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstringlist.h b/src/3rdparty/win32_include/taglib/tstringlist.h
old mode 100755
new mode 100644
similarity index 97%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstringlist.h
rename to src/3rdparty/win32_include/taglib/tstringlist.h
index 41b7f6ecd..ddf0f04d5
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/toolkit/tstringlist.h
+++ b/src/3rdparty/win32_include/taglib/tstringlist.h
@@ -110,6 +110,6 @@ namespace TagLib {
* \related TagLib::StringList
* Send the StringList to an output stream.
*/
-std::ostream &operator<<(std::ostream &s, const TagLib::StringList &l);
+std::ostream TAGLIB_EXPORT &operator<<(std::ostream &s, const TagLib::StringList &l);
#endif
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h b/src/3rdparty/win32_include/taglib/uniquefileidentifierframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h
rename to src/3rdparty/win32_include/taglib/uniquefileidentifierframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/unknownframe.h b/src/3rdparty/win32_include/taglib/unknownframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/unknownframe.h
rename to src/3rdparty/win32_include/taglib/unknownframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.h b/src/3rdparty/win32_include/taglib/unsynchronizedlyricsframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.h
rename to src/3rdparty/win32_include/taglib/unsynchronizedlyricsframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/urllinkframe.h b/src/3rdparty/win32_include/taglib/urllinkframe.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/id3v2/frames/urllinkframe.h
rename to src/3rdparty/win32_include/taglib/urllinkframe.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/vorbis/vorbisfile.h b/src/3rdparty/win32_include/taglib/vorbisfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/vorbis/vorbisfile.h
rename to src/3rdparty/win32_include/taglib/vorbisfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/vorbis/vorbisproperties.h b/src/3rdparty/win32_include/taglib/vorbisproperties.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/vorbis/vorbisproperties.h
rename to src/3rdparty/win32_include/taglib/vorbisproperties.h
index 472e0390a..b1cd5f0a5
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/vorbis/vorbisproperties.h
+++ b/src/3rdparty/win32_include/taglib/vorbisproperties.h
@@ -73,7 +73,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavfile.h b/src/3rdparty/win32_include/taglib/wavfile.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavfile.h
rename to src/3rdparty/win32_include/taglib/wavfile.h
index bc9ce3126..02db890c8
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavfile.h
+++ b/src/3rdparty/win32_include/taglib/wavfile.h
@@ -160,7 +160,7 @@ namespace TagLib {
virtual bool save();
/*!
- * \deprecated
+ * \deprecated Use save(TagTypes, StripTags, ID3v2::Version).
*/
TAGLIB_DEPRECATED bool save(TagTypes tags, bool stripOthers, int id3v2Version = 4);
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/wavpack/wavpackfile.h b/src/3rdparty/win32_include/taglib/wavpackfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/wavpack/wavpackfile.h
rename to src/3rdparty/win32_include/taglib/wavpackfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/wavpack/wavpackproperties.h b/src/3rdparty/win32_include/taglib/wavpackproperties.h
old mode 100755
new mode 100644
similarity index 99%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/wavpack/wavpackproperties.h
rename to src/3rdparty/win32_include/taglib/wavpackproperties.h
index e6acdcc3c..fee714d04
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/wavpack/wavpackproperties.h
+++ b/src/3rdparty/win32_include/taglib/wavpackproperties.h
@@ -77,7 +77,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavproperties.h b/src/3rdparty/win32_include/taglib/wavproperties.h
old mode 100755
new mode 100644
similarity index 96%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavproperties.h
rename to src/3rdparty/win32_include/taglib/wavproperties.h
index 1ca73100b..1d9401f59
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/riff/wav/wavproperties.h
+++ b/src/3rdparty/win32_include/taglib/wavproperties.h
@@ -53,7 +53,7 @@ namespace TagLib {
* Create an instance of WAV::Properties with the data read from the
* ByteVector \a data.
*
- * \deprecated
+ * \deprecated Use Properties(File *, ReadStyle).
*/
TAGLIB_DEPRECATED Properties(const ByteVector &data, ReadStyle style);
@@ -61,7 +61,7 @@ namespace TagLib {
* Create an instance of WAV::Properties with the data read from the
* ByteVector \a data and the length calculated using \a streamLength.
*
- * \deprecated
+ * \deprecated Use Properties(File *, ReadStyle).
*/
TAGLIB_DEPRECATED Properties(const ByteVector &data, unsigned int streamLength, ReadStyle style);
@@ -82,7 +82,7 @@ namespace TagLib {
*
* \note This method is just an alias of lengthInSeconds().
*
- * \deprecated
+ * \deprecated Use lengthInSeconds().
*/
TAGLIB_DEPRECATED virtual int length() const;
@@ -128,7 +128,7 @@ namespace TagLib {
*
* \note This method is just an alias of bitsPerSample().
*
- * \deprecated
+ * \deprecated Use bitsPerSample().
*/
TAGLIB_DEPRECATED int sampleWidth() const;
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/xingheader.h b/src/3rdparty/win32_include/taglib/xingheader.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/mpeg/xingheader.h
rename to src/3rdparty/win32_include/taglib/xingheader.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/xiphcomment.h b/src/3rdparty/win32_include/taglib/xiphcomment.h
old mode 100755
new mode 100644
similarity index 98%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/xiphcomment.h
rename to src/3rdparty/win32_include/taglib/xiphcomment.h
index 674d61697..7925fa03b
--- a/src/plugins/taglib_plugin/taglib-1.11/taglib/ogg/xiphcomment.h
+++ b/src/3rdparty/win32_include/taglib/xiphcomment.h
@@ -35,6 +35,11 @@
#include "flacpicture.h"
#include "taglib_export.h"
+#ifdef _MSC_VER
+// Explained at end of tpropertymap.cpp
+extern template class TAGLIB_EXPORT TagLib::Map;
+#endif
+
namespace TagLib {
namespace Ogg {
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/xm/xmfile.h b/src/3rdparty/win32_include/taglib/xmfile.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/xm/xmfile.h
rename to src/3rdparty/win32_include/taglib/xmfile.h
diff --git a/src/plugins/taglib_plugin/taglib-1.11/taglib/xm/xmproperties.h b/src/3rdparty/win32_include/taglib/xmproperties.h
old mode 100755
new mode 100644
similarity index 100%
rename from src/plugins/taglib_plugin/taglib-1.11/taglib/xm/xmproperties.h
rename to src/3rdparty/win32_include/taglib/xmproperties.h
diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp
index f9f348aba..b43a9a50d 100644
--- a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp
+++ b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp
@@ -36,55 +36,29 @@
#include
-#ifdef WIN32
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-#else
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-#endif
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
#include
#include
@@ -580,13 +554,13 @@ bool TaglibMetadataReader::ReadID3V2(TagLib::ID3v2::Tag *id3v2, ITagStore *track
/* TRCK is the track number (or "trackNum/totalTracks") */
if (!allTags["TRCK"].isEmpty()) {
- std::string trackNumber = allTags["TRCK"].front()->toString().toCString(true);
+ std::string trackNumber = allTags["TRCK"].front()->toString().to8Bit(true);
this->SetTagValueWithPossibleTotal(trackNumber, "track", "totaltracks", track);
}
/* TPOS is the disc number (or "discNum/totalDiscs") */
if (!allTags["TPOS"].isEmpty()) {
- std::string discNumber = allTags["TPOS"].front()->toString().toCString(true);
+ std::string discNumber = allTags["TPOS"].front()->toString().to8Bit(true);
this->SetTagValueWithPossibleTotal(discNumber, "disc", "totaldiscs", track);
}
else {
diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.h b/src/plugins/taglib_plugin/TaglibMetadataReader.h
index c7101df22..21736674e 100644
--- a/src/plugins/taglib_plugin/TaglibMetadataReader.h
+++ b/src/plugins/taglib_plugin/TaglibMetadataReader.h
@@ -36,25 +36,15 @@
#include "config.h"
-#ifdef WIN32
- #pragma warning(push, 0)
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #pragma warning(pop)
-#else
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-#endif
+#pragma warning(push, 0)
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#pragma warning(pop)
#include
diff --git a/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/checked.h b/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/checked.h
deleted file mode 100644
index 2aef5838d..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/checked.h
+++ /dev/null
@@ -1,327 +0,0 @@
-// Copyright 2006-2016 Nemanja Trifunovic
-
-/*
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-*/
-
-
-#ifndef UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
-#define UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
-
-#include "core.h"
-#include
-
-namespace utf8
-{
- // Base for the exceptions that may be thrown from the library
- class exception : public ::std::exception {
- };
-
- // Exceptions that may be thrown from the library functions.
- class invalid_code_point : public exception {
- uint32_t cp;
- public:
- invalid_code_point(uint32_t codepoint) : cp(codepoint) {}
- virtual const char* what() const throw() { return "Invalid code point"; }
- uint32_t code_point() const {return cp;}
- };
-
- class invalid_utf8 : public exception {
- uint8_t u8;
- public:
- invalid_utf8 (uint8_t u) : u8(u) {}
- virtual const char* what() const throw() { return "Invalid UTF-8"; }
- uint8_t utf8_octet() const {return u8;}
- };
-
- class invalid_utf16 : public exception {
- uint16_t u16;
- public:
- invalid_utf16 (uint16_t u) : u16(u) {}
- virtual const char* what() const throw() { return "Invalid UTF-16"; }
- uint16_t utf16_word() const {return u16;}
- };
-
- class not_enough_room : public exception {
- public:
- virtual const char* what() const throw() { return "Not enough space"; }
- };
-
- /// The library API - functions intended to be called by the users
-
- template
- octet_iterator append(uint32_t cp, octet_iterator result)
- {
- if (!utf8::internal::is_code_point_valid(cp))
- throw invalid_code_point(cp);
-
- if (cp < 0x80) // one octet
- *(result++) = static_cast(cp);
- else if (cp < 0x800) { // two octets
- *(result++) = static_cast((cp >> 6) | 0xc0);
- *(result++) = static_cast((cp & 0x3f) | 0x80);
- }
- else if (cp < 0x10000) { // three octets
- *(result++) = static_cast((cp >> 12) | 0xe0);
- *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast((cp & 0x3f) | 0x80);
- }
- else { // four octets
- *(result++) = static_cast((cp >> 18) | 0xf0);
- *(result++) = static_cast(((cp >> 12) & 0x3f) | 0x80);
- *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast((cp & 0x3f) | 0x80);
- }
- return result;
- }
-
- template
- output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out, uint32_t replacement)
- {
- while (start != end) {
- octet_iterator sequence_start = start;
- internal::utf_error err_code = utf8::internal::validate_next(start, end);
- switch (err_code) {
- case internal::UTF8_OK :
- for (octet_iterator it = sequence_start; it != start; ++it)
- *out++ = *it;
- break;
- case internal::NOT_ENOUGH_ROOM:
- throw not_enough_room();
- case internal::INVALID_LEAD:
- out = utf8::append (replacement, out);
- ++start;
- break;
- case internal::INCOMPLETE_SEQUENCE:
- case internal::OVERLONG_SEQUENCE:
- case internal::INVALID_CODE_POINT:
- out = utf8::append (replacement, out);
- ++start;
- // just one replacement mark for the sequence
- while (start != end && utf8::internal::is_trail(*start))
- ++start;
- break;
- }
- }
- return out;
- }
-
- template
- inline output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out)
- {
- static const uint32_t replacement_marker = utf8::internal::mask16(0xfffd);
- return utf8::replace_invalid(start, end, out, replacement_marker);
- }
-
- template
- uint32_t next(octet_iterator& it, octet_iterator end)
- {
- uint32_t cp = 0;
- internal::utf_error err_code = utf8::internal::validate_next(it, end, cp);
- switch (err_code) {
- case internal::UTF8_OK :
- break;
- case internal::NOT_ENOUGH_ROOM :
- throw not_enough_room();
- case internal::INVALID_LEAD :
- case internal::INCOMPLETE_SEQUENCE :
- case internal::OVERLONG_SEQUENCE :
- throw invalid_utf8(*it);
- case internal::INVALID_CODE_POINT :
- throw invalid_code_point(cp);
- }
- return cp;
- }
-
- template
- uint32_t peek_next(octet_iterator it, octet_iterator end)
- {
- return utf8::next(it, end);
- }
-
- template
- uint32_t prior(octet_iterator& it, octet_iterator start)
- {
- // can't do much if it == start
- if (it == start)
- throw not_enough_room();
-
- octet_iterator end = it;
- // Go back until we hit either a lead octet or start
- while (utf8::internal::is_trail(*(--it)))
- if (it == start)
- throw invalid_utf8(*it); // error - no lead byte in the sequence
- return utf8::peek_next(it, end);
- }
-
- /// Deprecated in versions that include "prior"
- template
- uint32_t previous(octet_iterator& it, octet_iterator pass_start)
- {
- octet_iterator end = it;
- while (utf8::internal::is_trail(*(--it)))
- if (it == pass_start)
- throw invalid_utf8(*it); // error - no lead byte in the sequence
- octet_iterator temp = it;
- return utf8::next(temp, end);
- }
-
- template
- void advance (octet_iterator& it, distance_type n, octet_iterator end)
- {
- for (distance_type i = 0; i < n; ++i)
- utf8::next(it, end);
- }
-
- template
- typename std::iterator_traits::difference_type
- distance (octet_iterator first, octet_iterator last)
- {
- typename std::iterator_traits::difference_type dist;
- for (dist = 0; first < last; ++dist)
- utf8::next(first, last);
- return dist;
- }
-
- template
- octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result)
- {
- while (start != end) {
- uint32_t cp = utf8::internal::mask16(*start++);
- // Take care of surrogate pairs first
- if (utf8::internal::is_lead_surrogate(cp)) {
- if (start != end) {
- uint32_t trail_surrogate = utf8::internal::mask16(*start++);
- if (utf8::internal::is_trail_surrogate(trail_surrogate))
- cp = (cp << 10) + trail_surrogate + internal::SURROGATE_OFFSET;
- else
- throw invalid_utf16(static_cast(trail_surrogate));
- }
- else
- throw invalid_utf16(static_cast(cp));
-
- }
- // Lone trail surrogate
- else if (utf8::internal::is_trail_surrogate(cp))
- throw invalid_utf16(static_cast(cp));
-
- result = utf8::append(cp, result);
- }
- return result;
- }
-
- template
- u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result)
- {
- while (start < end) {
- uint32_t cp = utf8::next(start, end);
- if (cp > 0xffff) { //make a surrogate pair
- *result++ = static_cast((cp >> 10) + internal::LEAD_OFFSET);
- *result++ = static_cast((cp & 0x3ff) + internal::TRAIL_SURROGATE_MIN);
- }
- else
- *result++ = static_cast(cp);
- }
- return result;
- }
-
- template
- octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result)
- {
- while (start != end)
- result = utf8::append(*(start++), result);
-
- return result;
- }
-
- template
- u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result)
- {
- while (start < end)
- (*result++) = utf8::next(start, end);
-
- return result;
- }
-
- // The iterator class
- template
- class iterator : public std::iterator {
- octet_iterator it;
- octet_iterator range_start;
- octet_iterator range_end;
- public:
- iterator () {}
- explicit iterator (const octet_iterator& octet_it,
- const octet_iterator& rangestart,
- const octet_iterator& rangeend) :
- it(octet_it), range_start(rangestart), range_end(rangeend)
- {
- if (it < range_start || it > range_end)
- throw std::out_of_range("Invalid utf-8 iterator position");
- }
- // the default "big three" are OK
- octet_iterator base () const { return it; }
- uint32_t operator * () const
- {
- octet_iterator temp = it;
- return utf8::next(temp, range_end);
- }
- bool operator == (const iterator& rhs) const
- {
- if (range_start != rhs.range_start || range_end != rhs.range_end)
- throw std::logic_error("Comparing utf-8 iterators defined with different ranges");
- return (it == rhs.it);
- }
- bool operator != (const iterator& rhs) const
- {
- return !(operator == (rhs));
- }
- iterator& operator ++ ()
- {
- utf8::next(it, range_end);
- return *this;
- }
- iterator operator ++ (int)
- {
- iterator temp = *this;
- utf8::next(it, range_end);
- return temp;
- }
- iterator& operator -- ()
- {
- utf8::prior(it, range_start);
- return *this;
- }
- iterator operator -- (int)
- {
- iterator temp = *this;
- utf8::prior(it, range_start);
- return temp;
- }
- }; // class iterator
-
-} // namespace utf8
-
-#endif //header guard
-
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/core.h b/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/core.h
deleted file mode 100644
index ae0f367db..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/3rdparty/utf8-cpp/core.h
+++ /dev/null
@@ -1,332 +0,0 @@
-// Copyright 2006 Nemanja Trifunovic
-
-/*
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-*/
-
-
-#ifndef UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
-#define UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
-
-#include
-
-namespace utf8
-{
- // The typedefs for 8-bit, 16-bit and 32-bit unsigned integers
- // You may need to change them to match your system.
- // These typedefs have the same names as ones from cstdint, or boost/cstdint
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned int uint32_t;
-
-// Helper code - not intended to be directly called by the library users. May be changed at any time
-namespace internal
-{
- // Unicode constants
- // Leading (high) surrogates: 0xd800 - 0xdbff
- // Trailing (low) surrogates: 0xdc00 - 0xdfff
- const uint16_t LEAD_SURROGATE_MIN = 0xd800u;
- const uint16_t LEAD_SURROGATE_MAX = 0xdbffu;
- const uint16_t TRAIL_SURROGATE_MIN = 0xdc00u;
- const uint16_t TRAIL_SURROGATE_MAX = 0xdfffu;
- const uint16_t LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10);
- const uint32_t SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN;
-
- // Maximum valid value for a Unicode code point
- const uint32_t CODE_POINT_MAX = 0x0010ffffu;
-
- template
- inline uint8_t mask8(octet_type oc)
- {
- return static_cast(0xff & oc);
- }
- template
- inline uint16_t mask16(u16_type oc)
- {
- return static_cast(0xffff & oc);
- }
- template
- inline bool is_trail(octet_type oc)
- {
- return ((utf8::internal::mask8(oc) >> 6) == 0x2);
- }
-
- template
- inline bool is_lead_surrogate(u16 cp)
- {
- return (cp >= LEAD_SURROGATE_MIN && cp <= LEAD_SURROGATE_MAX);
- }
-
- template
- inline bool is_trail_surrogate(u16 cp)
- {
- return (cp >= TRAIL_SURROGATE_MIN && cp <= TRAIL_SURROGATE_MAX);
- }
-
- template
- inline bool is_surrogate(u16 cp)
- {
- return (cp >= LEAD_SURROGATE_MIN && cp <= TRAIL_SURROGATE_MAX);
- }
-
- template
- inline bool is_code_point_valid(u32 cp)
- {
- return (cp <= CODE_POINT_MAX && !utf8::internal::is_surrogate(cp));
- }
-
- template
- inline typename std::iterator_traits::difference_type
- sequence_length(octet_iterator lead_it)
- {
- uint8_t lead = utf8::internal::mask8(*lead_it);
- if (lead < 0x80)
- return 1;
- else if ((lead >> 5) == 0x6)
- return 2;
- else if ((lead >> 4) == 0xe)
- return 3;
- else if ((lead >> 3) == 0x1e)
- return 4;
- else
- return 0;
- }
-
- template
- inline bool is_overlong_sequence(uint32_t cp, octet_difference_type length)
- {
- if (cp < 0x80) {
- if (length != 1)
- return true;
- }
- else if (cp < 0x800) {
- if (length != 2)
- return true;
- }
- else if (cp < 0x10000) {
- if (length != 3)
- return true;
- }
-
- return false;
- }
-
- enum utf_error {UTF8_OK, NOT_ENOUGH_ROOM, INVALID_LEAD, INCOMPLETE_SEQUENCE, OVERLONG_SEQUENCE, INVALID_CODE_POINT};
-
- /// Helper for get_sequence_x
- template
- utf_error increase_safely(octet_iterator& it, octet_iterator end)
- {
- if (++it == end)
- return NOT_ENOUGH_ROOM;
-
- if (!utf8::internal::is_trail(*it))
- return INCOMPLETE_SEQUENCE;
-
- return UTF8_OK;
- }
-
- #define UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(IT, END) {utf_error ret = increase_safely(IT, END); if (ret != UTF8_OK) return ret;}
-
- /// get_sequence_x functions decode utf-8 sequences of the length x
- template
- utf_error get_sequence_1(octet_iterator& it, octet_iterator end, uint32_t& code_point)
- {
- if (it == end)
- return NOT_ENOUGH_ROOM;
-
- code_point = utf8::internal::mask8(*it);
-
- return UTF8_OK;
- }
-
- template
- utf_error get_sequence_2(octet_iterator& it, octet_iterator end, uint32_t& code_point)
- {
- if (it == end)
- return NOT_ENOUGH_ROOM;
-
- code_point = utf8::internal::mask8(*it);
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point = ((code_point << 6) & 0x7ff) + ((*it) & 0x3f);
-
- return UTF8_OK;
- }
-
- template
- utf_error get_sequence_3(octet_iterator& it, octet_iterator end, uint32_t& code_point)
- {
- if (it == end)
- return NOT_ENOUGH_ROOM;
-
- code_point = utf8::internal::mask8(*it);
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point = ((code_point << 12) & 0xffff) + ((utf8::internal::mask8(*it) << 6) & 0xfff);
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point += (*it) & 0x3f;
-
- return UTF8_OK;
- }
-
- template
- utf_error get_sequence_4(octet_iterator& it, octet_iterator end, uint32_t& code_point)
- {
- if (it == end)
- return NOT_ENOUGH_ROOM;
-
- code_point = utf8::internal::mask8(*it);
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point = ((code_point << 18) & 0x1fffff) + ((utf8::internal::mask8(*it) << 12) & 0x3ffff);
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point += (utf8::internal::mask8(*it) << 6) & 0xfff;
-
- UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end)
-
- code_point += (*it) & 0x3f;
-
- return UTF8_OK;
- }
-
- #undef UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR
-
- template
- utf_error validate_next(octet_iterator& it, octet_iterator end, uint32_t& code_point)
- {
- if (it == end)
- return NOT_ENOUGH_ROOM;
-
- // Save the original value of it so we can go back in case of failure
- // Of course, it does not make much sense with i.e. stream iterators
- octet_iterator original_it = it;
-
- uint32_t cp = 0;
- // Determine the sequence length based on the lead octet
- typedef typename std::iterator_traits::difference_type octet_difference_type;
- const octet_difference_type length = utf8::internal::sequence_length(it);
-
- // Get trail octets and calculate the code point
- utf_error err = UTF8_OK;
- switch (length) {
- case 0:
- return INVALID_LEAD;
- case 1:
- err = utf8::internal::get_sequence_1(it, end, cp);
- break;
- case 2:
- err = utf8::internal::get_sequence_2(it, end, cp);
- break;
- case 3:
- err = utf8::internal::get_sequence_3(it, end, cp);
- break;
- case 4:
- err = utf8::internal::get_sequence_4(it, end, cp);
- break;
- }
-
- if (err == UTF8_OK) {
- // Decoding succeeded. Now, security checks...
- if (utf8::internal::is_code_point_valid(cp)) {
- if (!utf8::internal::is_overlong_sequence(cp, length)){
- // Passed! Return here.
- code_point = cp;
- ++it;
- return UTF8_OK;
- }
- else
- err = OVERLONG_SEQUENCE;
- }
- else
- err = INVALID_CODE_POINT;
- }
-
- // Failure branch - restore the original value of the iterator
- it = original_it;
- return err;
- }
-
- template
- inline utf_error validate_next(octet_iterator& it, octet_iterator end) {
- uint32_t ignored;
- return utf8::internal::validate_next(it, end, ignored);
- }
-
-} // namespace internal
-
- /// The library API - functions intended to be called by the users
-
- // Byte order mark
- const uint8_t bom[] = {0xef, 0xbb, 0xbf};
-
- template
- octet_iterator find_invalid(octet_iterator start, octet_iterator end)
- {
- octet_iterator result = start;
- while (result != end) {
- utf8::internal::utf_error err_code = utf8::internal::validate_next(result, end);
- if (err_code != internal::UTF8_OK)
- return result;
- }
- return result;
- }
-
- template
- inline bool is_valid(octet_iterator start, octet_iterator end)
- {
- return (utf8::find_invalid(start, end) == end);
- }
-
- template
- inline bool starts_with_bom (octet_iterator it, octet_iterator end)
- {
- return (
- ((it != end) && (utf8::internal::mask8(*it++)) == bom[0]) &&
- ((it != end) && (utf8::internal::mask8(*it++)) == bom[1]) &&
- ((it != end) && (utf8::internal::mask8(*it)) == bom[2])
- );
- }
-
- //Deprecated in release 2.3
- template
- inline bool is_bom (octet_iterator it)
- {
- return (
- (utf8::internal::mask8(*it++)) == bom[0] &&
- (utf8::internal::mask8(*it++)) == bom[1] &&
- (utf8::internal::mask8(*it)) == bom[2]
- );
- }
-} // namespace utf8
-
-#endif // header guard
-
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/AUTHORS b/src/plugins/taglib_plugin/taglib-1.11/AUTHORS
deleted file mode 100755
index 279ee2219..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/AUTHORS
+++ /dev/null
@@ -1,21 +0,0 @@
-Scott Wheeler
- Author, maintainer
-Lukas Lalinsky
- Implementation of multiple new file formats, many bug fixes, maintainer
-Tsuda Kageyu
- A lot of bug fixes and performance improvements, maintainer.
-Stephen F. Booth
- DSF metadata implementation, bug fixes, maintainer.
-Ismael Orenstein
- Xing header implementation
-Allan Sandfeld Jensen
- FLAC metadata implementation
-Teemu Tervo
- Numerous bug reports and fixes
-Mathias Panzenböck
- Mod, S3M, IT and XM metadata implementations
-Damien Plisson
- DSDIFF metadata implementation
-
-Please send all patches and questions to taglib-devel@kde.org rather than to
-individual developers!
diff --git a/src/plugins/taglib_plugin/taglib-1.11/CMakeLists.txt b/src/plugins/taglib_plugin/taglib-1.11/CMakeLists.txt
deleted file mode 100755
index 7bcdf06b2..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/CMakeLists.txt
+++ /dev/null
@@ -1,168 +0,0 @@
-cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
-
-project(taglib)
-
-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
-
-if(DEFINED ENABLE_STATIC)
- message(FATAL_ERROR "This option is no longer available, use BUILD_SHARED_LIBS instead")
-endif()
-
-option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
-if(APPLE)
- option(BUILD_FRAMEWORK "Build an OS X framework" OFF)
- if(BUILD_FRAMEWORK)
- set(BUILD_SHARED_LIBS ON)
- #set(CMAKE_MACOSX_RPATH 1)
- set(FRAMEWORK_INSTALL_DIR "/Library/Frameworks" CACHE STRING "Directory to install frameworks to.")
- endif()
-endif()
-if(NOT BUILD_SHARED_LIBS)
- add_definitions(-DTAGLIB_STATIC)
-endif()
-option(ENABLE_STATIC_RUNTIME "Visual Studio, link with runtime statically" OFF)
-
-option(ENABLE_CCACHE "Use ccache when building libtag" OFF)
-if(ENABLE_CCACHE)
- find_program(CCACHE_FOUND ccache)
- if(CCACHE_FOUND)
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
- endif()
-endif()
-
-option(VISIBILITY_HIDDEN "Build with -fvisibility=hidden" OFF)
-option(BUILD_TESTS "Build the test suite" OFF)
-option(BUILD_EXAMPLES "Build the examples" OFF)
-option(BUILD_BINDINGS "Build the bindings" ON)
-
-option(NO_ITUNES_HACKS "Disable workarounds for iTunes bugs" OFF)
-
-option(PLATFORM_WINRT "Enable WinRT support" OFF)
-if(PLATFORM_WINRT)
- add_definitions(-DPLATFORM_WINRT)
-endif()
-
-add_definitions(-DHAVE_CONFIG_H)
-set(TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
-
-## the following are directories where stuff will be installed to
-set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
-set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries")
-set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)")
-set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})")
-set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix")
-
-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
-endif()
-
-if(MSVC AND ENABLE_STATIC_RUNTIME)
- foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
- endforeach(flag_var)
-endif()
-
-# Read version information from file taglib/toolkit/taglib.h into variables
-# TAGLIB_LIB_MAJOR_VERSION, TAGLIB_LIB_MINOR_VERSION, TAGLIB_LIB_PATCH_VERSION.
-foreach(version_part MAJOR MINOR PATCH)
- set(version_var_name "TAGLIB_${version_part}_VERSION")
- file(STRINGS taglib/toolkit/taglib.h version_line
- REGEX "^#define +${version_var_name}")
- if(NOT version_line)
- message(FATAL_ERROR "${version_var_name} not found in taglib.h")
- endif()
- string(REGEX MATCH "${version_var_name} +([^ ]+)" result ${version_line})
- set(TAGLIB_LIB_${version_part}_VERSION ${CMAKE_MATCH_1})
-endforeach(version_part)
-
-# Only used to force cmake rerun when taglib.h changes.
-configure_file(taglib/toolkit/taglib.h ${CMAKE_CURRENT_BINARY_DIR}/taglib.h.stamp)
-
-if("${TAGLIB_LIB_PATCH_VERSION}" EQUAL "0")
- set(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}")
-else()
- set(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}")
-endif()
-
-# 1. If the library source code has changed at all since the last update, then increment revision.
-# 2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
-# 3. If any interfaces have been added since the last public release, then increment age.
-# 4. If any interfaces have been removed since the last public release, then set age to 0.
-set(TAGLIB_SOVERSION_CURRENT 18)
-set(TAGLIB_SOVERSION_REVISION 0)
-set(TAGLIB_SOVERSION_AGE 17)
-
-math(EXPR TAGLIB_SOVERSION_MAJOR "${TAGLIB_SOVERSION_CURRENT} - ${TAGLIB_SOVERSION_AGE}")
-math(EXPR TAGLIB_SOVERSION_MINOR "${TAGLIB_SOVERSION_AGE}")
-math(EXPR TAGLIB_SOVERSION_PATCH "${TAGLIB_SOVERSION_REVISION}")
-
-include(ConfigureChecks.cmake)
-
-if(${ZLIB_FOUND})
- set(ZLIB_LIBRARIES_FLAGS -lz)
-endif()
-
-if(NOT WIN32)
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" @ONLY)
- install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" DESTINATION "${BIN_INSTALL_DIR}")
-endif()
-
-if(WIN32)
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmd.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config.cmd")
- install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config.cmd" DESTINATION "${BIN_INSTALL_DIR}")
-endif()
-
-if(NOT BUILD_FRAMEWORK)
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib.pc.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib.pc" @ONLY)
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/taglib.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
-endif()
-
-if(NOT HAVE_ZLIB AND ZLIB_SOURCE)
- set(HAVE_ZLIB 1)
- set(HAVE_ZLIB_SOURCE 1)
-endif()
-
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-configure_file(config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/config.h")
-
-if(WITH_ASF)
- set(TAGLIB_WITH_ASF TRUE)
-endif()
-if(WITH_MP4)
- set(TAGLIB_WITH_MP4 TRUE)
-endif()
-
-option(TRACE_IN_RELEASE "Output debug messages even in release mode" OFF)
-if(TRACE_IN_RELEASE)
- set(TRACE_IN_RELEASE TRUE)
-endif()
-
-configure_file(taglib/taglib_config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h")
-
-add_subdirectory(taglib)
-
-if(BUILD_BINDINGS)
- add_subdirectory(bindings)
-endif()
-
-if(BUILD_TESTS AND NOT BUILD_SHARED_LIBS)
- enable_testing()
- add_subdirectory(tests)
-endif()
-
-if(BUILD_EXAMPLES)
- add_subdirectory(examples)
-endif()
-
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
-file(COPY doc/taglib.png DESTINATION doc)
-add_custom_target(docs doxygen)
-
-# uninstall target
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
-
-if(NOT TARGET uninstall)
- add_custom_target(uninstall COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-endif()
diff --git a/src/plugins/taglib_plugin/taglib-1.11/COPYING.LGPL b/src/plugins/taglib_plugin/taglib-1.11/COPYING.LGPL
deleted file mode 100755
index 4362b4915..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/COPYING.LGPL
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- , 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/src/plugins/taglib_plugin/taglib-1.11/COPYING.MPL b/src/plugins/taglib_plugin/taglib-1.11/COPYING.MPL
deleted file mode 100755
index 7714141d1..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/COPYING.MPL
+++ /dev/null
@@ -1,470 +0,0 @@
- MOZILLA PUBLIC LICENSE
- Version 1.1
-
- ---------------
-
-1. Definitions.
-
- 1.0.1. "Commercial Use" means distribution or otherwise making the
- Covered Code available to a third party.
-
- 1.1. "Contributor" means each entity that creates or contributes to
- the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the Original
- Code, prior Modifications used by a Contributor, and the Modifications
- made by that particular Contributor.
-
- 1.3. "Covered Code" means the Original Code or Modifications or the
- combination of the Original Code and Modifications, in each case
- including portions thereof.
-
- 1.4. "Electronic Distribution Mechanism" means a mechanism generally
- accepted in the software development community for the electronic
- transfer of data.
-
- 1.5. "Executable" means Covered Code in any form other than Source
- Code.
-
- 1.6. "Initial Developer" means the individual or entity identified
- as the Initial Developer in the Source Code notice required by Exhibit
- A.
-
- 1.7. "Larger Work" means a work which combines Covered Code or
- portions thereof with code not governed by the terms of this License.
-
- 1.8. "License" means this document.
-
- 1.8.1. "Licensable" means having the right to grant, to the maximum
- extent possible, whether at the time of the initial grant or
- subsequently acquired, any and all of the rights conveyed herein.
-
- 1.9. "Modifications" means any addition to or deletion from the
- substance or structure of either the Original Code or any previous
- Modifications. When Covered Code is released as a series of files, a
- Modification is:
- A. Any addition to or deletion from the contents of a file
- containing Original Code or previous Modifications.
-
- B. Any new file that contains any part of the Original Code or
- previous Modifications.
-
- 1.10. "Original Code" means Source Code of computer software code
- which is described in the Source Code notice required by Exhibit A as
- Original Code, and which, at the time of its release under this
- License is not already Covered Code governed by this License.
-
- 1.10.1. "Patent Claims" means any patent claim(s), now owned or
- hereafter acquired, including without limitation, method, process,
- and apparatus claims, in any patent Licensable by grantor.
-
- 1.11. "Source Code" means the preferred form of the Covered Code for
- making modifications to it, including all modules it contains, plus
- any associated interface definition files, scripts used to control
- compilation and installation of an Executable, or source code
- differential comparisons against either the Original Code or another
- well known, available Covered Code of the Contributor's choice. The
- Source Code can be in a compressed or archival form, provided the
- appropriate decompression or de-archiving software is widely available
- for no charge.
-
- 1.12. "You" (or "Your") means an individual or a legal entity
- exercising rights under, and complying with all of the terms of, this
- License or a future version of this License issued under Section 6.1.
- For legal entities, "You" includes any entity which controls, is
- controlled by, or is under common control with You. For purposes of
- this definition, "control" means (a) the power, direct or indirect,
- to cause the direction or management of such entity, whether by
- contract or otherwise, or (b) ownership of more than fifty percent
- (50%) of the outstanding shares or beneficial ownership of such
- entity.
-
-2. Source Code License.
-
- 2.1. The Initial Developer Grant.
- The Initial Developer hereby grants You a world-wide, royalty-free,
- non-exclusive license, subject to third party intellectual property
- claims:
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer to use, reproduce,
- modify, display, perform, sublicense and distribute the Original
- Code (or portions thereof) with or without Modifications, and/or
- as part of a Larger Work; and
-
- (b) under Patents Claims infringed by the making, using or
- selling of Original Code, to make, have made, use, practice,
- sell, and offer for sale, and/or otherwise dispose of the
- Original Code (or portions thereof).
-
- (c) the licenses granted in this Section 2.1(a) and (b) are
- effective on the date Initial Developer first distributes
- Original Code under the terms of this License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is
- granted: 1) for code that You delete from the Original Code; 2)
- separate from the Original Code; or 3) for infringements caused
- by: i) the modification of the Original Code or ii) the
- combination of the Original Code with other software or devices.
-
- 2.2. Contributor Grant.
- Subject to third party intellectual property claims, each Contributor
- hereby grants You a world-wide, royalty-free, non-exclusive license
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Contributor, to use, reproduce, modify,
- display, perform, sublicense and distribute the Modifications
- created by such Contributor (or portions thereof) either on an
- unmodified basis, with other Modifications, as Covered Code
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or
- selling of Modifications made by that Contributor either alone
- and/or in combination with its Contributor Version (or portions
- of such combination), to make, use, sell, offer for sale, have
- made, and/or otherwise dispose of: 1) Modifications made by that
- Contributor (or portions thereof); and 2) the combination of
- Modifications made by that Contributor with its Contributor
- Version (or portions of such combination).
-
- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
- effective on the date Contributor first makes Commercial Use of
- the Covered Code.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
- granted: 1) for any code that Contributor has deleted from the
- Contributor Version; 2) separate from the Contributor Version;
- 3) for infringements caused by: i) third party modifications of
- Contributor Version or ii) the combination of Modifications made
- by that Contributor with other software (except as part of the
- Contributor Version) or other devices; or 4) under Patent Claims
- infringed by Covered Code in the absence of Modifications made by
- that Contributor.
-
-3. Distribution Obligations.
-
- 3.1. Application of License.
- The Modifications which You create or to which You contribute are
- governed by the terms of this License, including without limitation
- Section 2.2. The Source Code version of Covered Code may be
- distributed only under the terms of this License or a future version
- of this License released under Section 6.1, and You must include a
- copy of this License with every copy of the Source Code You
- distribute. You may not offer or impose any terms on any Source Code
- version that alters or restricts the applicable version of this
- License or the recipients' rights hereunder. However, You may include
- an additional document offering the additional rights described in
- Section 3.5.
-
- 3.2. Availability of Source Code.
- Any Modification which You create or to which You contribute must be
- made available in Source Code form under the terms of this License
- either on the same media as an Executable version or via an accepted
- Electronic Distribution Mechanism to anyone to whom you made an
- Executable version available; and if made available via Electronic
- Distribution Mechanism, must remain available for at least twelve (12)
- months after the date it initially became available, or at least six
- (6) months after a subsequent version of that particular Modification
- has been made available to such recipients. You are responsible for
- ensuring that the Source Code version remains available even if the
- Electronic Distribution Mechanism is maintained by a third party.
-
- 3.3. Description of Modifications.
- You must cause all Covered Code to which You contribute to contain a
- file documenting the changes You made to create that Covered Code and
- the date of any change. You must include a prominent statement that
- the Modification is derived, directly or indirectly, from Original
- Code provided by the Initial Developer and including the name of the
- Initial Developer in (a) the Source Code, and (b) in any notice in an
- Executable version or related documentation in which You describe the
- origin or ownership of the Covered Code.
-
- 3.4. Intellectual Property Matters
- (a) Third Party Claims.
- If Contributor has knowledge that a license under a third party's
- intellectual property rights is required to exercise the rights
- granted by such Contributor under Sections 2.1 or 2.2,
- Contributor must include a text file with the Source Code
- distribution titled "LEGAL" which describes the claim and the
- party making the claim in sufficient detail that a recipient will
- know whom to contact. If Contributor obtains such knowledge after
- the Modification is made available as described in Section 3.2,
- Contributor shall promptly modify the LEGAL file in all copies
- Contributor makes available thereafter and shall take other steps
- (such as notifying appropriate mailing lists or newsgroups)
- reasonably calculated to inform those who received the Covered
- Code that new knowledge has been obtained.
-
- (b) Contributor APIs.
- If Contributor's Modifications include an application programming
- interface and Contributor has knowledge of patent licenses which
- are reasonably necessary to implement that API, Contributor must
- also include this information in the LEGAL file.
-
- (c) Representations.
- Contributor represents that, except as disclosed pursuant to
- Section 3.4(a) above, Contributor believes that Contributor's
- Modifications are Contributor's original creation(s) and/or
- Contributor has sufficient rights to grant the rights conveyed by
- this License.
-
- 3.5. Required Notices.
- You must duplicate the notice in Exhibit A in each file of the Source
- Code. If it is not possible to put such notice in a particular Source
- Code file due to its structure, then You must include such notice in a
- location (such as a relevant directory) where a user would be likely
- to look for such a notice. If You created one or more Modification(s)
- You may add your name as a Contributor to the notice described in
- Exhibit A. You must also duplicate this License in any documentation
- for the Source Code where You describe recipients' rights or ownership
- rights relating to Covered Code. You may choose to offer, and to
- charge a fee for, warranty, support, indemnity or liability
- obligations to one or more recipients of Covered Code. However, You
- may do so only on Your own behalf, and not on behalf of the Initial
- Developer or any Contributor. You must make it absolutely clear than
- any such warranty, support, indemnity or liability obligation is
- offered by You alone, and You hereby agree to indemnify the Initial
- Developer and every Contributor for any liability incurred by the
- Initial Developer or such Contributor as a result of warranty,
- support, indemnity or liability terms You offer.
-
- 3.6. Distribution of Executable Versions.
- You may distribute Covered Code in Executable form only if the
- requirements of Section 3.1-3.5 have been met for that Covered Code,
- and if You include a notice stating that the Source Code version of
- the Covered Code is available under the terms of this License,
- including a description of how and where You have fulfilled the
- obligations of Section 3.2. The notice must be conspicuously included
- in any notice in an Executable version, related documentation or
- collateral in which You describe recipients' rights relating to the
- Covered Code. You may distribute the Executable version of Covered
- Code or ownership rights under a license of Your choice, which may
- contain terms different from this License, provided that You are in
- compliance with the terms of this License and that the license for the
- Executable version does not attempt to limit or alter the recipient's
- rights in the Source Code version from the rights set forth in this
- License. If You distribute the Executable version under a different
- license You must make it absolutely clear that any terms which differ
- from this License are offered by You alone, not by the Initial
- Developer or any Contributor. You hereby agree to indemnify the
- Initial Developer and every Contributor for any liability incurred by
- the Initial Developer or such Contributor as a result of any such
- terms You offer.
-
- 3.7. Larger Works.
- You may create a Larger Work by combining Covered Code with other code
- not governed by the terms of this License and distribute the Larger
- Work as a single product. In such a case, You must make sure the
- requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
- If it is impossible for You to comply with any of the terms of this
- License with respect to some or all of the Covered Code due to
- statute, judicial order, or regulation then You must: (a) comply with
- the terms of this License to the maximum extent possible; and (b)
- describe the limitations and the code they affect. Such description
- must be included in the LEGAL file described in Section 3.4 and must
- be included with all distributions of the Source Code. Except to the
- extent prohibited by statute or regulation, such description must be
- sufficiently detailed for a recipient of ordinary skill to be able to
- understand it.
-
-5. Application of this License.
-
- This License applies to code to which the Initial Developer has
- attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
- 6.1. New Versions.
- Netscape Communications Corporation ("Netscape") may publish revised
- and/or new versions of the License from time to time. Each version
- will be given a distinguishing version number.
-
- 6.2. Effect of New Versions.
- Once Covered Code has been published under a particular version of the
- License, You may always continue to use it under the terms of that
- version. You may also choose to use such Covered Code under the terms
- of any subsequent version of the License published by Netscape. No one
- other than Netscape has the right to modify the terms applicable to
- Covered Code created under this License.
-
- 6.3. Derivative Works.
- If You create or use a modified version of this License (which you may
- only do in order to apply it to code which is not already Covered Code
- governed by this License), You must (a) rename Your license so that
- the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
- "MPL", "NPL" or any confusingly similar phrase do not appear in your
- license (except to note that your license differs from this License)
- and (b) otherwise make it clear that Your version of the license
- contains terms which differ from the Mozilla Public License and
- Netscape Public License. (Filling in the name of the Initial
- Developer, Original Code or Contributor in the notice described in
- Exhibit A shall not of themselves be deemed to be modifications of
- this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
- DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
- IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
- YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
- COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
- OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
- ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
- 8.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to cure
- such breach within 30 days of becoming aware of the breach. All
- sublicenses to the Covered Code which are properly granted shall
- survive any termination of this License. Provisions which, by their
- nature, must remain in effect beyond the termination of this License
- shall survive.
-
- 8.2. If You initiate litigation by asserting a patent infringement
- claim (excluding declatory judgment actions) against Initial Developer
- or a Contributor (the Initial Developer or Contributor against whom
- You file such action is referred to as "Participant") alleging that:
-
- (a) such Participant's Contributor Version directly or indirectly
- infringes any patent, then any and all rights granted by such
- Participant to You under Sections 2.1 and/or 2.2 of this License
- shall, upon 60 days notice from Participant terminate prospectively,
- unless if within 60 days after receipt of notice You either: (i)
- agree in writing to pay Participant a mutually agreeable reasonable
- royalty for Your past and future use of Modifications made by such
- Participant, or (ii) withdraw Your litigation claim with respect to
- the Contributor Version against such Participant. If within 60 days
- of notice, a reasonable royalty and payment arrangement are not
- mutually agreed upon in writing by the parties or the litigation claim
- is not withdrawn, the rights granted by Participant to You under
- Sections 2.1 and/or 2.2 automatically terminate at the expiration of
- the 60 day notice period specified above.
-
- (b) any software, hardware, or device, other than such Participant's
- Contributor Version, directly or indirectly infringes any patent, then
- any rights granted to You by such Participant under Sections 2.1(b)
- and 2.2(b) are revoked effective as of the date You first made, used,
- sold, distributed, or had made, Modifications made by that
- Participant.
-
- 8.3. If You assert a patent infringement claim against Participant
- alleging that such Participant's Contributor Version directly or
- indirectly infringes any patent where such claim is resolved (such as
- by license or settlement) prior to the initiation of patent
- infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections 2.1 or 2.2 shall be taken
- into account in determining the amount or value of any payment or
- license.
-
- 8.4. In the event of termination under Sections 8.1 or 8.2 above,
- all end user license agreements (excluding distributors and resellers)
- which have been validly granted by You or any distributor hereunder
- prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
- DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
- OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
- ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
- WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
- RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
- PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
- EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
- THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
- The Covered Code is a "commercial item," as that term is defined in
- 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
- software" and "commercial computer software documentation," as such
- terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
- C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
- all U.S. Government End Users acquire Covered Code with only those
- rights set forth herein.
-
-11. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. This License shall be governed by
- California law provisions (except to the extent applicable law, if
- any, provides otherwise), excluding its conflict-of-law provisions.
- With respect to disputes in which at least one party is a citizen of,
- or an entity chartered or registered to do business in the United
- States of America, any litigation relating to this License shall be
- subject to the jurisdiction of the Federal Courts of the Northern
- District of California, with venue lying in Santa Clara County,
- California, with the losing party responsible for costs, including
- without limitation, court costs and reasonable attorneys' fees and
- expenses. The application of the United Nations Convention on
- Contracts for the International Sale of Goods is expressly excluded.
- Any law or regulation which provides that the language of a contract
- shall be construed against the drafter shall not apply to this
- License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or indirectly,
- out of its utilization of rights under this License and You agree to
- work with Initial Developer and Contributors to distribute such
- responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
- Initial Developer may designate portions of the Covered Code as
- "Multiple-Licensed". "Multiple-Licensed" means that the Initial
- Developer permits you to utilize portions of the Covered Code under
- Your choice of the NPL or the alternative licenses, if any, specified
- by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
- ``The contents of this file are subject to the Mozilla Public License
- Version 1.1 (the "License"); you may not use this file except in
- compliance with the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- License for the specific language governing rights and limitations
- under the License.
-
- The Original Code is ______________________________________.
-
- The Initial Developer of the Original Code is ________________________.
- Portions created by ______________________ are Copyright (C) ______
- _______________________. All Rights Reserved.
-
- Contributor(s): ______________________________________.
-
- Alternatively, the contents of this file may be used under the terms
- of the _____ license (the "[___] License"), in which case the
- provisions of [______] License are applicable instead of those
- above. If you wish to allow use of your version of this file only
- under the terms of the [____] License and not to allow others to use
- your version of this file under the MPL, indicate your decision by
- deleting the provisions above and replace them with the notice and
- other provisions required by the [___] License. If you do not delete
- the provisions above, a recipient may use your version of this file
- under either the MPL or the [___] License."
-
- [NOTE: The text of this Exhibit A may differ slightly from the text of
- the notices in the Source Code files of the Original Code. You should
- use the text of this Exhibit A rather than the text found in the
- Original Code Source Code for Your Modifications.]
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/ConfigureChecks.cmake b/src/plugins/taglib_plugin/taglib-1.11/ConfigureChecks.cmake
deleted file mode 100755
index 5e5fca2fd..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/ConfigureChecks.cmake
+++ /dev/null
@@ -1,215 +0,0 @@
-include(CheckLibraryExists)
-include(CheckTypeSize)
-include(CheckCXXSourceCompiles)
-
-# Check if the size of numeric types are suitable.
-
-check_type_size("short" SIZEOF_SHORT)
-if(NOT ${SIZEOF_SHORT} EQUAL 2)
- message(FATAL_ERROR "TagLib requires that short is 16-bit wide.")
-endif()
-
-check_type_size("int" SIZEOF_INT)
-if(NOT ${SIZEOF_INT} EQUAL 4)
- message(FATAL_ERROR "TagLib requires that int is 32-bit wide.")
-endif()
-
-check_type_size("long long" SIZEOF_LONGLONG)
-if(NOT ${SIZEOF_LONGLONG} EQUAL 8)
- message(FATAL_ERROR "TagLib requires that long long is 64-bit wide.")
-endif()
-
-check_type_size("wchar_t" SIZEOF_WCHAR_T)
-if(${SIZEOF_WCHAR_T} LESS 2)
- message(FATAL_ERROR "TagLib requires that wchar_t is sufficient to store a UTF-16 char.")
-endif()
-
-check_type_size("float" SIZEOF_FLOAT)
-if(NOT ${SIZEOF_FLOAT} EQUAL 4)
- message(FATAL_ERROR "TagLib requires that float is 32-bit wide.")
-endif()
-
-check_type_size("double" SIZEOF_DOUBLE)
-if(NOT ${SIZEOF_DOUBLE} EQUAL 8)
- message(FATAL_ERROR "TagLib requires that double is 64-bit wide.")
-endif()
-
-# Determine which kind of atomic operations your compiler supports.
-
-check_cxx_source_compiles("
- #include
- int main() {
- std::atomic_int x(1);
- ++x;
- --x;
- return 0;
- }
-" HAVE_STD_ATOMIC)
-
-if(NOT HAVE_STD_ATOMIC)
- check_cxx_source_compiles("
- int main() {
- volatile int x;
- __sync_add_and_fetch(&x, 1);
- int y = __sync_sub_and_fetch(&x, 1);
- return 0;
- }
- " HAVE_GCC_ATOMIC)
-
- if(NOT HAVE_GCC_ATOMIC)
- check_cxx_source_compiles("
- #include
- int main() {
- volatile int32_t x;
- OSAtomicIncrement32Barrier(&x);
- int32_t y = OSAtomicDecrement32Barrier(&x);
- return 0;
- }
- " HAVE_MAC_ATOMIC)
-
- if(NOT HAVE_MAC_ATOMIC)
- check_cxx_source_compiles("
- #include
- int main() {
- volatile LONG x;
- InterlockedIncrement(&x);
- LONG y = InterlockedDecrement(&x);
- return 0;
- }
- " HAVE_WIN_ATOMIC)
-
- if(NOT HAVE_WIN_ATOMIC)
- check_cxx_source_compiles("
- #include
- int main() {
- volatile int x;
- __sync_add_and_fetch(&x, 1);
- int y = __sync_sub_and_fetch(&x, 1);
- return 0;
- }
- " HAVE_IA64_ATOMIC)
- endif()
- endif()
- endif()
-endif()
-
-# Determine which kind of byte swap functions your compiler supports.
-
-check_cxx_source_compiles("
- int main() {
- __builtin_bswap16(0);
- __builtin_bswap32(0);
- __builtin_bswap64(0);
- return 0;
- }
-" HAVE_GCC_BYTESWAP)
-
-if(NOT HAVE_GCC_BYTESWAP)
- check_cxx_source_compiles("
- #include
- int main() {
- __bswap_16(0);
- __bswap_32(0);
- __bswap_64(0);
- return 0;
- }
- " HAVE_GLIBC_BYTESWAP)
-
- if(NOT HAVE_GLIBC_BYTESWAP)
- check_cxx_source_compiles("
- #include
- int main() {
- _byteswap_ushort(0);
- _byteswap_ulong(0);
- _byteswap_uint64(0);
- return 0;
- }
- " HAVE_MSC_BYTESWAP)
-
- if(NOT HAVE_MSC_BYTESWAP)
- check_cxx_source_compiles("
- #include
- int main() {
- OSSwapInt16(0);
- OSSwapInt32(0);
- OSSwapInt64(0);
- return 0;
- }
- " HAVE_MAC_BYTESWAP)
-
- if(NOT HAVE_MAC_BYTESWAP)
- check_cxx_source_compiles("
- #include
- int main() {
- swap16(0);
- swap32(0);
- swap64(0);
- return 0;
- }
- " HAVE_OPENBSD_BYTESWAP)
- endif()
- endif()
- endif()
-endif()
-
-# Determine whether your compiler supports some safer version of vsprintf.
-
-check_cxx_source_compiles("
- #include
- #include
- int main() {
- char buf[20];
- va_list args;
- vsnprintf(buf, 20, \"%d\", args);
- return 0;
- }
-" HAVE_VSNPRINTF)
-
-if(NOT HAVE_VSNPRINTF)
- check_cxx_source_compiles("
- #include
- #include
- int main() {
- char buf[20];
- va_list args;
- vsprintf_s(buf, \"%d\", args);
- return 0;
- }
- " HAVE_VSPRINTF_S)
-endif()
-
-# Determine whether your compiler supports ISO _strdup.
-
-check_cxx_source_compiles("
- #include
- int main() {
- _strdup(0);
- return 0;
- }
-" HAVE_ISO_STRDUP)
-
-# Determine whether zlib is installed.
-
-if(NOT ZLIB_SOURCE)
- find_package(ZLIB)
- if(ZLIB_FOUND)
- set(HAVE_ZLIB 1)
- else()
- set(HAVE_ZLIB 0)
- endif()
-endif()
-
-# Determine whether CppUnit is installed.
-
-if(BUILD_TESTS AND NOT BUILD_SHARED_LIBS)
- find_package(CppUnit)
- if(NOT CppUnit_FOUND)
- message(STATUS "CppUnit not found, disabling tests.")
- set(BUILD_TESTS OFF)
- endif()
-endif()
-
-# Detect WinRT mode
-if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(PLATFORM WINRT 1)
-endif()
diff --git a/src/plugins/taglib_plugin/taglib-1.11/Doxyfile.cmake b/src/plugins/taglib_plugin/taglib-1.11/Doxyfile.cmake
deleted file mode 100755
index 6da30bb5d..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/Doxyfile.cmake
+++ /dev/null
@@ -1,210 +0,0 @@
-# Doxyfile 1.3.4
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = TagLib
-PROJECT_NUMBER = ${TAGLIB_LIB_VERSION_STRING}
-OUTPUT_DIRECTORY = doc
-OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 4
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = NO
-OPTIMIZE_OUTPUT_JAVA = NO
-SUBGROUPING = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = NO
-EXTRACT_LOCAL_CLASSES = NO
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-GENERATE_TODOLIST = NO
-GENERATE_TESTLIST = NO
-GENERATE_BUGLIST = NO
-GENERATE_DEPRECATEDLIST= NO
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
-WARN_IF_DOC_ERROR = YES
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = @CMAKE_SOURCE_DIR@/taglib
-FILE_PATTERNS = *.h \
- *.hh \
- *.H
-RECURSIVE = YES
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-VERBATIM_HEADERS = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER = @CMAKE_SOURCE_DIR@/doc/api-header.html
-HTML_FOOTER = @CMAKE_SOURCE_DIR@/doc/api-footer.html
-HTML_STYLESHEET = @CMAKE_SOURCE_DIR@/doc/taglib-api.css
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = YES
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = letter
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = YES
-USE_PDFLATEX = YES
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = DO_NOT_DOCUMENT \
- DOXYGEN \
- WITH_MP4 \
- WITH_ASF
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
diff --git a/src/plugins/taglib_plugin/taglib-1.11/INSTALL.md b/src/plugins/taglib_plugin/taglib-1.11/INSTALL.md
deleted file mode 100644
index ee9a81ae6..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/INSTALL.md
+++ /dev/null
@@ -1,175 +0,0 @@
-TagLib Installation
-===================
-
-TagLib uses the CMake build system. As a user, you will most likely want to
-build TagLib in release mode and install it into a system-wide location.
-This can be done using the following commands:
-
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release .
- make
- sudo make install
-
-In order to build the included examples, use the `BUILD_EXAMPLES` option:
-
- cmake -DBUILD_EXAMPLES=ON [...]
-
-See http://www.cmake.org/cmake/help/runningcmake.html for generic help on
-running CMake.
-
-Mac OS X
---------
-
-On Mac OS X, you might want to build a framework that can be easily integrated
-into your application. If you set the BUILD_FRAMEWORK option on, it will compile
-TagLib as a framework. For example, the following command can be used to build
-an Universal Binary framework with Mac OS X 10.4 as the deployment target:
-
- cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_FRAMEWORK=ON \
- -DCMAKE_C_COMPILER=/usr/bin/gcc-4.0 \
- -DCMAKE_CXX_COMPILER=/usr/bin/c++-4.0 \
- -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk/ \
- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.4 \
- -DCMAKE_OSX_ARCHITECTURES="ppc;i386;x86_64"
-
-For a 10.6 Snow Leopard static library with both 32-bit and 64-bit code, use:
-
- cmake -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.6 \
- -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" \
- -DBUILD_SHARED_LIBS=OFF \
- -DCMAKE_INSTALL_PREFIX=""
-
-After `make`, and `make install`, add `libtag.` to your XCode project, and add
-the include folder to the project's User Header Search Paths.
-
-Windows
--------
-
-It's Windows ... Systems vary!
-This means you need to adjust things to suit your system, especially paths.
-
-Tested with:
-* Microsoft Visual Studio 2010, 2015, 2017
-* Microsoft C++ Build Tools 2015, 2017 (standalone packages not requiring Visual Studio)
-* Gcc by mingw-w64.sf.net v4.6.3 (Strawberry Perl 32b)
-* MinGW32-4.8.0
-
-Requirements:
-* Tool chain, build environment, whatever ya want to call it ...
- Installed and working.
-* CMake program. (Available at: www.cmake.org)
- Installed and working.
-
-Optional:
-* Zlib library.
- Available in some tool chains, not all.
- Search the web, take your choice.
-
-Useful configuration options used with CMake (GUI and/or command line):
- Any of the `ZLIB_` variables may be used at the command line, `ZLIB_ROOT` is only
- available on the command line.
-
- | option | description |
- ---------------------| ------------|
- `ZLIB_ROOT=` | Where to find ZLib's root directory. Assumes parent of: `\include` and `\lib.`|
- `ZLIB_INCLUDE_DIR=` | Where to find ZLib's Include directory.|
- `ZLIB_LIBRARY=` | Where to find ZLib's Library.
- `ZLIB_SOURCE=` | Where to find ZLib's Source Code. Alternative to `ZLIB_INCLUDE_DIR` and `ZLIB_LIBRARY`.
- `CMAKE_INSTALL_PREFIX=` | Where to install Taglib. |
- `CMAKE_BUILD_TYPE=` | Release, Debug, etc ... (Not available in MSVC) |
-
-The easiest way is at the command prompt (Visual C++ command prompt for MSVS users – batch file and/or shortcuts are your friends).
-
-1. **Build the Makefiles:**
-
- Replace "GENERATOR" with your needs.
- * For MSVS: `Visual Studio XX YYYY`, e.g. `Visual Studio 14 2015`.
-
- **Note**: As Visual Studio 2017 supports CMake, you can skip this step and open the taglib
- folder in VS instead.
- * For MinGW: `MinGW Makefiles`
-
- C:\GitRoot\taglib> cmake -G "GENERATOR" -DCMAKE_INSTALL_PREFIX=C:\Libraries\taglib
-
- Or use the CMake GUI:
- 1. Open CMake GUI.
- 2. Set paths: *Where is the source code* and *Where to build the binaries*.
-
- In the example, both would be: `C:\GitRoot\taglib`
- 3. Tick: Advanced
- 4. Select: Configure
- 5. Select: Generator
- 6. Tick: Use default native compilers
- 7. Select: Finish
- Wait until done.
- 8. If using ZLib, Scroll down.
- (to the bottom of the list of options ... should go over them all)
- 1. Edit: `ZLIB_INCLUDE_DIR`
- 2. Edit: `ZLIB_LIBRARY`
- 9. Select: Generate
-
-2. **Build the project**
- * MSVS:
-
- C:\GitRoot\taglib> msbuild all_build.vcxproj /p:Configuration=Release
- OR (Depending on MSVS version or personal choice)
-
- C:\GitRoot\taglib> devenv all_build.vcxproj /build Release
- OR in the MSVS GUI:
- 1. Open MSVS.
- 2. Open taglib solution.
- 3. Set build type to: Release (look in the tool bars)
- 2. Hit F7 to build the solution. (project)
- * MinGW:
-
- C:\GitRoot\taglib> gmake
-
- OR (Depending on MinGW install)
-
- C:\GitRoot\taglib> mingw32-make
-
-
-
-3. **Install the project**
-
- (Change `install` to `uninstall` to uninstall the project)
- * MSVS:
-
- C:\GitRoot\taglib> msbuild install.vcxproj
- OR (Depending on MSVC version or personal choice)
-
- C:\GitRoot\taglib> devenv install.vcxproj
-
- Or in the MSVS GUI:
- 1. Open project.
- 2. Open Solution Explorer.
- 3. Right Click: INSTALL
- 4. Select: Project Only
- 5. Select: Build Only INSTALL
- * MinGW:
-
- C:\GitRoot\taglib> gmake install
- OR (Depending on MinGW install)
-
- C:\GitRoot\taglib> mingw32-make install
-
-
-To build a static library, set the following two options with CMake:
-
- -DBUILD_SHARED_LIBS=OFF -DENABLE_STATIC_RUNTIME=ON
-
-Including `ENABLE_STATIC_RUNTIME=ON` indicates you want TagLib built using the
-static runtime library, rather than the DLL form of the runtime.
-
-Unit Tests
-----------
-
-If you want to run the test suite to make sure TagLib works properly on your
-system, you need to have cppunit installed. To build the tests, include
-the option `-DBUILD_TESTS=on` when running cmake.
-
-The test suite has a custom target in the build system, so you can run
-the tests using make:
-
- make check
diff --git a/src/plugins/taglib_plugin/taglib-1.11/NEWS b/src/plugins/taglib_plugin/taglib-1.11/NEWS
deleted file mode 100755
index 434cae9e9..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/NEWS
+++ /dev/null
@@ -1,323 +0,0 @@
-============================
-
- * Added support for DSF and DSDIFF files.
- * Added support for WinRT.
- * Added support for classical music tags of iTunes 12.5.
- * Added support for file descriptor to FileStream.
- * Added support for 'cmID', 'purl', 'egid' MP4 atoms.
- * Enabled FileRef to detect file types based on the stream content.
- * Dropped support for Windows 9x and NT 4.0 or older.
- * Check for mandatory header objects in ASF files.
- * Fixed OOB read on invalid Ogg FLAC files (CVE-2018-11439).
- * Fixed handling of empty MPEG files.
- * Fixed reading MP4 atoms with zero length.
- * Fixed reading FLAC files with zero-sized seektables.
- * Fixed handling of lowercase field names in Vorbis Comments.
- * Fixed handling of 'rate' atoms in MP4 files.
- * Fixed handling of invalid UTF-8 sequences.
- * Fixed possible file corruptions when saving Ogg files.
- * TableOfContentsFrame::toString() improved.
- * UserTextIdentificationFrame::toString() improved.
- * Marked FileRef::create() deprecated.
- * Several smaller bug fixes and performance improvements.
-
-TagLib 1.11.1 (Oct 24, 2016)
-============================
-
- * Fixed binary incompatible change in TagLib::String.
- * Fixed reading ID3v2 CTOC frames with a lot of entries.
- * Fixed seeking ByteVectorStream from the end.
-
-TagLib 1.11 (Apr 29, 2016)
-==========================
-
-1.11:
-
- * Fixed reading APE items with long keys.
- * Fixed reading ID3v2 SYLT frames when description is empty.
-
-1.11 BETA 2:
-
- * Better handling of PCM WAV files with a 'fact' chunk.
- * Better handling of corrupted APE tags.
- * Efficient decoding of unsynchronized ID3v2 frames.
- * Fixed text encoding when saving certain frames in ID3v2.3 tags.
- * Fixed updating the size of RIFF files when removing chunks.
- * Several smaller bug fixes and performance improvements.
-
-1.11 BETA:
-
- * New API for creating FileRef from IOStream.
- * Added support for ID3v2 PCST and WFED frames.
- * Added support for pictures in XiphComment.
- * Added String::clear().
- * Added FLAC::File::strip() for removing non-standard tags.
- * Added alternative functions to XiphComment::removeField().
- * Added BUILD_BINDINGS build option.
- * Added ENABLE_CCACHE build option.
- * Replaced ENABLE_STATIC build option with BUILD_SHARED_LIBS.
- * Better handling of duplicate ID3v2 tags in all kinds of files.
- * Better handling of duplicate tag chunks in WAV files.
- * Better handling of duplicate tag chunks in AIFF files.
- * Better handling of duplicate Vorbis comment blocks in FLAC files.
- * Better handling of broken MPEG audio frames.
- * Fixed crash when calling File::properties() after strip().
- * Fixed crash when parsing certain MPEG files.
- * Fixed crash when saving Ogg files.
- * Fixed possible file corruptions when saving ASF files.
- * Fixed possible file corruptions when saving FLAC files.
- * Fixed possible file corruptions when saving MP4 files.
- * Fixed possible file corruptions when saving MPEG files.
- * Fixed possible file corruptions when saving APE files.
- * Fixed possible file corruptions when saving Musepack files.
- * Fixed possible file corruptions when saving WavPack files.
- * Fixed updating the comment field of Vorbis comments.
- * Fixed reading date and time in ID3v2.3 tags.
- * Marked ByteVector::null and ByteVector::isNull() deprecated.
- * Marked String::null and String::isNull() deprecated.
- * Marked XiphComment::removeField() deprecated.
- * Marked Ogg::Page::getCopyWithNewPageSequenceNumber() deprecated. It returns null.
- * Marked custom integer types deprecated.
- * Many smaller bug fixes and performance improvements.
-
-TagLib 1.10 (Nov 11, 2015)
-==========================
-
-1.10:
-
- * Added new options to the tagwriter example.
- * Fixed self-assignment operator in some types.
- * Fixed extraction of MP4 tag keys with an empty list.
-
-1.10 BETA:
-
- * New API for the audio length in milliseconds.
- * Added support for ID3v2 ETCO and SYLT frames.
- * Added support for album artist in PropertyMap API of MP4 files.
- * Added support for embedded frames in ID3v2 CHAP and CTOC frames.
- * Added support for AIFF-C files.
- * Better handling of duplicate ID3v2 tags in MPEG files.
- * Allowed generating taglib.pc on Windows.
- * Added ZLIB_SOURCE build option.
- * Fixed backwards-incompatible change in TagLib::String when constructing UTF16 strings.
- * Fixed crash when parsing certain FLAC files.
- * Fixed crash when encoding empty strings.
- * Fixed saving of certain XM files on OS X.
- * Changed Xiph and APE generic getters to return space-concatenated values.
- * Fixed possible file corruptions when removing tags from WAV files.
- * Added support for MP4 files with 64-bit atoms in certain 64-bit environments.
- * Prevented ID3v2 padding from being too large.
- * Fixed crash when parsing corrupted APE files.
- * Fixed crash when parsing corrupted WAV files.
- * Fixed crash when parsing corrupted Ogg FLAC files.
- * Fixed crash when parsing corrupted MPEG files.
- * Fixed saving empty tags in WAV files.
- * Fixed crash when parsing corrupted Musepack files.
- * Fixed possible memory leaks when parsing AIFF and WAV files.
- * Fixed crash when parsing corrupted MP4 files.
- * Stopped writing empty ID3v2 frames.
- * Fixed possible file corruptions when saving WMA files.
- * Added TagLib::MP4::Tag::isEmpty().
- * Added accessors to manipulate MP4 tags.
- * Fixed crash when parsing corrupted WavPack files.
- * Fixed seeking MPEG frames.
- * Fixed reading FLAC files with zero-sized padding blocks.
- * Added support for reading the encoder information of WMA files.
- * Added support for reading the codec of WAV files.
- * Added support for multi channel WavPack files.
- * Added support for reading the nominal bitrate of Ogg Speex files.
- * Added support for VBR headers in MPEG files.
- * Marked FLAC::File::streamInfoData() deprecated. It returns an empty ByteVector.
- * Marked FLAC::File::streamLength() deprecated. It returns zero.
- * Fixed possible file corruptions when adding an ID3v1 tag to FLAC files.
- * Many smaller bug fixes and performance improvements.
-
-TagLib 1.9.1 (Oct 8, 2013)
-==========================
-
- * Fixed binary incompatible change in TagLib::Map and TagLib::List.
- * Fixed constructing String from ByteVector.
- * Fixed compilation on MSVC with the /Zc:wchar_t- option.
- * Fixed detecting of RIFF files with invalid chunk sizes.
- * Added TagLib::MP4::Properties::codec().
-
-TagLib 1.9 (Oct 6, 2013)
-========================
-
- * Added support for the Ogg Opus file format.
- * Added support for INFO tags in WAV files.
- * Changed FileStream to use Windows file API.
- * Included taglib-config.cmd script for Windows.
- * New ID3v1::Tag methods for working directly with genre numbers.
- * New MPEG::File methods for checking which tags are saved in the file.
- * Added support for the PropertyMap API to ASF and MP4 files.
- * Added MusicBrainz identifiers to the PropertyMap API.
- * Allowed reading of MP4 cover art without an explicitly specified format.
- * Better parsing of corrupted FLAC files.
- * Fixed saving of PropertyMap comments without description into ID3v2 tags.
- * Fixed crash when parsing certain XM files.
- * Fixed compilation of unit test with clang.
- * Better handling of files that can't be open or have read-only permissions.
- * Improved atomic reference counting.
- * New hookable API for debug messages.
- * More complete Windows install instructions.
- * Many smaller bug fixes and performance improvements.
-
-TagLib 1.8 (Sep 6, 2012)
-========================
-
-1.8:
-
- * Added support for OWNE ID3 frames.
- * Changed key validation in the new PropertyMap API.
- * ID3v1::Tag::setStringHandler will no londer delete the previous handler,
- the caller is responsible for this.
- * File objects will also no longer delete the passed IOStream objects. It
- should be done in the caller code after the File object is no longer
- used.
- * Added ID3v2::Tag::setLatin1StringHandler for custom handling of
- latin1-encoded text in ID3v2 frames.
- * Fixed validation of ID3v2 frame IDs (IDs with '0' were ignored).
-
-1.8 BETA:
-
- * New API for accessing tags by name.
- * New abstract I/O stream layer to allow custom I/O handlers.
- * Support for writing ID3v2.3 tags.
- * Support for various module file formats (MOD, S3M, IT, XM).
- * Support for MP4 and ASF is now enabled by default.
- * Started using atomic int operations for reference counting.
- * Added methods for checking if WMA and MP4 files are DRM-protected.
- * Added taglib_free to the C bindings.
- * New method to allow removing pictures from FLAC files.
- * Support for reading audio properties from ALAC and Musepack SV8 files.
- * Added replay-gain information to Musepack audio properties.
- * Support for APEv2 binary tags.
- * Many AudioProperties subclasses now provide information about the total number of samples.
- * Various small bug fixes.
-
-TagLib 1.7.2 (Apr 20, 2012)
-===========================
-
- * Fixed division by zero while parsing corrupted MP4 files (CVE-2012-2396).
- * Fixed compilation on Haiku.
-
-TagLib 1.7.1 (Mar 17, 2012)
-===========================
-
- * Improved parsing of corrupted WMA, RIFF and OGG files.
- * Fixed a memory leak in the WMA parser.
- * Fixed a memory leak in the FLAC parser.
- * Fixed a possible division by zero in the APE parser.
- * Added detection of TTA2 files.
- * Fixed saving of multiple identically named tags to Vorbis Comments.
-
-TagLib 1.7 (Mar 11, 2011)
-=========================
-
-1.7:
-
- * Fixed memory leaks in the FLAC file format parser.
- * Fixed bitrate calculation for WAV files.
-
-1.7 RC1:
-
- * Support for reading/writing tags from Monkey's Audio files. (BUG:210404)
- * Support for reading/writing embedded pictures from WMA files.
- * Support for reading/writing embedded pictures from FLAC files (BUG:218696).
- * Implemented APE::Tag::isEmpty() to check for all APE tags, not just the
- basic ones.
- * Added reading of WAV audio length. (BUG:116033)
- * Exposed FLAC MD5 signature of the uncompressed audio stream via
- FLAC::Properties::signature(). (BUG:160172)
- * Added function ByteVector::toHex() for hex-encoding of byte vectors.
- * WavPack reader now tries to get the audio length by finding the final
- block, if the header doesn't have the information. (BUG:258016)
- * Fixed a memory leak in the ID3v2.2 PIC frame parser. (BUG:257007)
- * Fixed writing of RIFF files with even chunk sizes. (BUG:243954)
- * Fixed compilation on MSVC 2010.
- * Removed support for building using autoconf/automake.
- * API docs can be now built using "make docs".
-
-TagLib 1.6.3 (Apr 17, 2010)
-===========================
-
- * Fixed definitions of the TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF macros.
- * Fixed upgrading of ID3v2.3 genre frame with ID3v1 code 0 (Blues).
- * New method `int String::toInt(bool *ok)` which can return whether the
- conversion to a number was successful.
- * Fixed parsing of incorrectly written lengths in ID3v2 (affects mainly
- compressed frames). (BUG:231075)
-
-TagLib 1.6.2 (Apr 9, 2010)
-==========================
-
- * Read Vorbis Comments from the first FLAC metadata block, if there are
- multiple ones. (BUG:211089)
- * Fixed a memory leak in FileRef's OGA format detection.
- * Fixed compilation with the Sun Studio compiler. (BUG:215225)
- * Handle WM/TrackNumber attributes with DWORD content in WMA files.
- (BUG:218526)
- * More strict check if something is a valid MP4 file. (BUG:216819)
- * Correctly save MP4 int-pair atoms with flags set to 0.
- * Fixed compilation of the test runner on Windows.
- * Store ASF attributes larger than 64k in the metadata library object.
- * Ignore trailing non-data atoms when parsing MP4 covr atoms.
- * Don't upgrade ID3v2.2 frame TDA to TDRC. (BUG:228968)
-
-TagLib 1.6.1 (Oct 31, 2009)
-===========================
-
- * Better detection of the audio codec of .oga files in FileRef.
- * Fixed saving of Vorbis comments to Ogg FLAC files. TagLib tried to
- include the Vorbis framing bit, which is only correct for Ogg Vorbis.
- * Public symbols now have explicitly set visibility to "default" on GCC.
- * Added missing exports for static ID3v1 functions.
- * Fixed a typo in taglib_c.pc
- * Fixed a failing test on ppc64.
- * Support for binary 'covr' atom in MP4 files. TagLib 1.6 treated them
- as text atoms, which corrupted them in some cases.
- * Fixed ID3v1-style genre to string conversion in MP4 files.
-
-TagLib 1.6 (Sep 13, 2009)
-=========================
-
-1.6:
-
- * New CMake option to build a static version - ENABLE_STATIC.
- * Added support for disabling dllimport/dllexport on Windows using the
- TAGLIB_STATIC macro.
- * Support for parsing the obsolete 'gnre' MP4 atom.
- * New cpp macros TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF to determine if
- TagLib was built with MP4/ASF support.
-
-1.6 RC1:
-
- * Split Ogg packets larger than 64k into multiple pages. (BUG:171957)
- * TagLib can now use FLAC padding block. (BUG:107659)
- * ID3v2.2 frames are now not incorrectly saved. (BUG:176373)
- * Support for ID3v2.2 PIC frames. (BUG:167786)
- * Fixed a bug in ByteVectorList::split().
- * XiphComment::year() now falls back to YEAR if DATE doesn't exist
- and XiphComment::year() falls back to TRACKNUM if TRACKNUMBER doesn't
- exist. (BUG:144396)
- * Improved ID3v2.3 genre parsing. (BUG:188578)
- * Better checking of corrupted ID3v2 APIC data. (BUG:168382)
- * Bitrate calculating using the Xing header now uses floating point
- numbers. (BUG:172556)
- * New TagLib::String method rfind().
- * Added support for MP4 file format with iTunes-style metadata [optional].
- * Added support for ASF (WMA) file format [optional].
- * Fixed crash when saving a Locator APEv2 tag. (BUG:169810)
- * Fixed a possible crash in the non-const version of String::operator[]
- and in String::operator+=. (BUG:169389)
- * Added support for PRIV ID3v2 frames.
- * Empty ID3v2 genres are no longer treated as numeric ID3v1 genres.
- * Added support for the POPM (rating/playcount) ID3v2 frame.
- * Generic RIFF file format support:
- * Support for AIFF files with ID3v2 tags.
- * Support for WAV files with ID3v2 tags.
- * Fixed crash on handling unsupported ID3v2 frames, e.g. on encrypted
- frames. (BUG:161721)
- * Fixed overflow while calculating bitrate of FLAC files with a very
- high bitrate.
diff --git a/src/plugins/taglib_plugin/taglib-1.11/README.md b/src/plugins/taglib_plugin/taglib-1.11/README.md
deleted file mode 100644
index 5f087995d..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# TagLib
-
-[![Build Status](https://travis-ci.org/taglib/taglib.svg?branch=master)](https://travis-ci.org/taglib/taglib)
-
-### TagLib Audio Metadata Library
-
-http://taglib.org/
-
-TagLib is a library for reading and editing the metadata of several
-popular audio formats. Currently it supports both ID3v1 and [ID3v2][]
-for MP3 files, [Ogg Vorbis][] comments and ID3 tags
-in [FLAC][], MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4, APE,
-DSF, DFF, and ASF files.
-
-TagLib is distributed under the [GNU Lesser General Public License][]
-(LGPL) and [Mozilla Public License][] (MPL). Essentially that means that
-it may be used in proprietary applications, but if changes are made to
-TagLib they must be contributed back to the project. Please review the
-licenses if you are considering using TagLib in your project.
-
- [ID3v2]: http://www.id3.org
- [Ogg Vorbis]: http://vorbis.com/
- [FLAC]: https://xiph.org/flac/
- [GNU Lesser General Public License]: http://www.gnu.org/licenses/lgpl.html
- [Mozilla Public License]: http://www.mozilla.org/MPL/MPL-1.1.html
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/CMakeLists.txt b/src/plugins/taglib_plugin/taglib-1.11/bindings/CMakeLists.txt
deleted file mode 100755
index d019843ec..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/bindings/CMakeLists.txt
+++ /dev/null
@@ -1 +0,0 @@
-add_subdirectory(c)
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/README b/src/plugins/taglib_plugin/taglib-1.11/bindings/README
deleted file mode 100755
index bfbd44ae0..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/bindings/README
+++ /dev/null
@@ -1,6 +0,0 @@
-There are a few other people that have done bindings externally that I have
-been made aware of. I have not personally reviewed these bindings, but I'm
-listing them here so that those who find them useful are able to find them:
-
-http://developer.kde.org/~wheeler/taglib.html#bindings
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/CMakeLists.txt b/src/plugins/taglib_plugin/taglib-1.11/bindings/c/CMakeLists.txt
deleted file mode 100755
index ebb1267f1..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/CMakeLists.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-include_directories(
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/toolkit
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/asf
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/vorbis
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/flac
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/flac
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpc
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mp4
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg/id3v2
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/mpeg/id3v2/frames
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/wavpack
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/ogg/speex
- ${CMAKE_CURRENT_SOURCE_DIR}/../../taglib/trueaudio
-)
-
-set(tag_c_HDRS tag_c.h)
-
-add_library(tag_c tag_c.cpp ${tag_c_HDRS})
-
-target_link_libraries(tag_c tag)
-set_target_properties(tag_c PROPERTIES
- PUBLIC_HEADER "${tag_c_HDRS}"
- DEFINE_SYMBOL MAKE_TAGLIB_LIB
-)
-if(VISIBILITY_HIDDEN)
- set_target_properties(tag_c PROPERTIES C_VISIBILITY_PRESET hidden
- )
-endif()
-if(BUILD_FRAMEWORK)
- set_target_properties(tag_c PROPERTIES FRAMEWORK TRUE)
-endif()
-
-# On Solaris we need to explicitly add the C++ standard and runtime
-# libraries to the libs used by the C bindings, because those C bindings
-# themselves won't pull in the C++ libs -- and if a C application is
-# using the C bindings then we get link errors.
-check_library_exists(Crun __RTTI___ "" HAVE_CRUN_LIB)
-if(HAVE_CRUN_LIB)
- # Which libraries to link depends critically on which
- # STL version is going to be used by your application
- # and which runtime is in use. While Crun is pretty much
- # the only game in town, the three available STLs -- Cstd,
- # stlport4 and stdcxx -- make this a mess. The KDE-Solaris
- # team supports stdcxx (Apache RogueWave stdcxx 4.1.3).
-
- # According to http://bugs.kde.org/show_bug.cgi?id=215225 the library can have the following two names:
- find_library(ROGUEWAVE_STDCXX_LIBRARY NAMES stdcxx4 stdcxx)
- if(NOT ROGUEWAVE_STDCXX_LIBRARY)
- message(FATAL_ERROR "Did not find supported STL library (tried stdcxx4 and stdcxx)")
- endif()
- target_link_libraries(tag_c ${ROGUEWAVE_STDCXX_LIBRARY} Crun)
-endif()
-
-set_target_properties(tag_c PROPERTIES
- VERSION 0.0.0
- SOVERSION 0
- DEFINE_SYMBOL MAKE_TAGLIB_C_LIB
- INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
-)
-install(TARGETS tag_c
- FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
- PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/taglib
-)
-
-if(NOT BUILD_FRAMEWORK)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-endif()
-
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/tag_c.cpp b/src/plugins/taglib_plugin/taglib-1.11/bindings/c/tag_c.cpp
deleted file mode 100755
index 04c549566..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/tag_c.cpp
+++ /dev/null
@@ -1,315 +0,0 @@
-/***************************************************************************
- copyright : (C) 2003 by Scott Wheeler
- email : wheeler@kde.org
- ***************************************************************************/
-
-/***************************************************************************
- * This library is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU Lesser General Public License version *
- * 2.1 as published by the Free Software Foundation. *
- * *
- * This library is distributed in the hope that it will be useful, but *
- * WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library; if not, write to the Free Software *
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
- * USA *
- ***************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "tag_c.h"
-
-using namespace TagLib;
-
-namespace
-{
- List strings;
- bool unicodeStrings = true;
- bool stringManagementEnabled = true;
-
- char *stringToCharArray(const String &s)
- {
- const std::string str = s.to8Bit(unicodeStrings);
-
-#ifdef HAVE_ISO_STRDUP
-
- return ::_strdup(str.c_str());
-
-#else
-
- return ::strdup(str.c_str());
-
-#endif
- }
-
- String charArrayToString(const char *s)
- {
- return String(s, unicodeStrings ? String::UTF8 : String::Latin1);
- }
-}
-
-void taglib_set_strings_unicode(BOOL unicode)
-{
- unicodeStrings = (unicode != 0);
-}
-
-void taglib_set_string_management_enabled(BOOL management)
-{
- stringManagementEnabled = (management != 0);
-}
-
-void taglib_free(void* pointer)
-{
- free(pointer);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// TagLib::File wrapper
-////////////////////////////////////////////////////////////////////////////////
-
-TagLib_File *taglib_file_new(const char *filename)
-{
- return reinterpret_cast(FileRef::create(filename));
-}
-
-TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type)
-{
- switch(type) {
- case TagLib_File_MPEG:
- return reinterpret_cast(new MPEG::File(filename));
- case TagLib_File_OggVorbis:
- return reinterpret_cast(new Ogg::Vorbis::File(filename));
- case TagLib_File_FLAC:
- return reinterpret_cast(new FLAC::File(filename));
- case TagLib_File_MPC:
- return reinterpret_cast(new MPC::File(filename));
- case TagLib_File_OggFlac:
- return reinterpret_cast(new Ogg::FLAC::File(filename));
- case TagLib_File_WavPack:
- return reinterpret_cast(new WavPack::File(filename));
- case TagLib_File_Speex:
- return reinterpret_cast(new Ogg::Speex::File(filename));
- case TagLib_File_TrueAudio:
- return reinterpret_cast(new TrueAudio::File(filename));
- case TagLib_File_MP4:
- return reinterpret_cast(new MP4::File(filename));
- case TagLib_File_ASF:
- return reinterpret_cast(new ASF::File(filename));
- default:
- return 0;
- }
-}
-
-void taglib_file_free(TagLib_File *file)
-{
- delete reinterpret_cast(file);
-}
-
-BOOL taglib_file_is_valid(const TagLib_File *file)
-{
- return reinterpret_cast(file)->isValid();
-}
-
-TagLib_Tag *taglib_file_tag(const TagLib_File *file)
-{
- const File *f = reinterpret_cast(file);
- return reinterpret_cast(f->tag());
-}
-
-const TagLib_AudioProperties *taglib_file_audioproperties(const TagLib_File *file)
-{
- const File *f = reinterpret_cast(file);
- return reinterpret_cast(f->audioProperties());
-}
-
-BOOL taglib_file_save(TagLib_File *file)
-{
- return reinterpret_cast(file)->save();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// TagLib::Tag wrapper
-////////////////////////////////////////////////////////////////////////////////
-
-char *taglib_tag_title(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- char *s = stringToCharArray(t->title());
- if(stringManagementEnabled)
- strings.append(s);
- return s;
-}
-
-char *taglib_tag_artist(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- char *s = stringToCharArray(t->artist());
- if(stringManagementEnabled)
- strings.append(s);
- return s;
-}
-
-char *taglib_tag_album(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- char *s = stringToCharArray(t->album());
- if(stringManagementEnabled)
- strings.append(s);
- return s;
-}
-
-char *taglib_tag_comment(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- char *s = stringToCharArray(t->comment());
- if(stringManagementEnabled)
- strings.append(s);
- return s;
-}
-
-char *taglib_tag_genre(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- char *s = stringToCharArray(t->genre());
- if(stringManagementEnabled)
- strings.append(s);
- return s;
-}
-
-unsigned int taglib_tag_year(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- return t->year();
-}
-
-unsigned int taglib_tag_track(const TagLib_Tag *tag)
-{
- const Tag *t = reinterpret_cast(tag);
- return t->track();
-}
-
-void taglib_tag_set_title(TagLib_Tag *tag, const char *title)
-{
- Tag *t = reinterpret_cast(tag);
- t->setTitle(charArrayToString(title));
-}
-
-void taglib_tag_set_artist(TagLib_Tag *tag, const char *artist)
-{
- Tag *t = reinterpret_cast(tag);
- t->setArtist(charArrayToString(artist));
-}
-
-void taglib_tag_set_album(TagLib_Tag *tag, const char *album)
-{
- Tag *t = reinterpret_cast(tag);
- t->setAlbum(charArrayToString(album));
-}
-
-void taglib_tag_set_comment(TagLib_Tag *tag, const char *comment)
-{
- Tag *t = reinterpret_cast(tag);
- t->setComment(charArrayToString(comment));
-}
-
-void taglib_tag_set_genre(TagLib_Tag *tag, const char *genre)
-{
- Tag *t = reinterpret_cast(tag);
- t->setGenre(charArrayToString(genre));
-}
-
-void taglib_tag_set_year(TagLib_Tag *tag, unsigned int year)
-{
- Tag *t = reinterpret_cast(tag);
- t->setYear(year);
-}
-
-void taglib_tag_set_track(TagLib_Tag *tag, unsigned int track)
-{
- Tag *t = reinterpret_cast(tag);
- t->setTrack(track);
-}
-
-void taglib_tag_free_strings()
-{
- if(!stringManagementEnabled)
- return;
-
- for(List::ConstIterator it = strings.begin(); it != strings.end(); ++it)
- free(*it);
- strings.clear();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// TagLib::AudioProperties wrapper
-////////////////////////////////////////////////////////////////////////////////
-
-int taglib_audioproperties_length(const TagLib_AudioProperties *audioProperties)
-{
- const AudioProperties *p = reinterpret_cast(audioProperties);
- return p->length();
-}
-
-int taglib_audioproperties_bitrate(const TagLib_AudioProperties *audioProperties)
-{
- const AudioProperties *p = reinterpret_cast(audioProperties);
- return p->bitrate();
-}
-
-int taglib_audioproperties_samplerate(const TagLib_AudioProperties *audioProperties)
-{
- const AudioProperties *p = reinterpret_cast(audioProperties);
- return p->sampleRate();
-}
-
-int taglib_audioproperties_channels(const TagLib_AudioProperties *audioProperties)
-{
- const AudioProperties *p = reinterpret_cast(audioProperties);
- return p->channels();
-}
-
-void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding)
-{
- String::Type type = String::Latin1;
-
- switch(encoding)
- {
- case TagLib_ID3v2_Latin1:
- type = String::Latin1;
- break;
- case TagLib_ID3v2_UTF16:
- type = String::UTF16;
- break;
- case TagLib_ID3v2_UTF16BE:
- type = String::UTF16BE;
- break;
- case TagLib_ID3v2_UTF8:
- type = String::UTF8;
- break;
- }
-
- ID3v2::FrameFactory::instance()->setDefaultTextEncoding(type);
-}
diff --git a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/taglib_c.pc.cmake b/src/plugins/taglib_plugin/taglib-1.11/bindings/c/taglib_c.pc.cmake
deleted file mode 100755
index 232f4f784..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/bindings/c/taglib_c.pc.cmake
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=${CMAKE_INSTALL_PREFIX}
-exec_prefix=${CMAKE_INSTALL_PREFIX}
-libdir=${LIB_INSTALL_DIR}
-includedir=${INCLUDE_INSTALL_DIR}
-
-
-Name: TagLib C Bindings
-Description: Audio meta-data library (C bindings)
-Requires: taglib
-Version: ${TAGLIB_LIB_VERSION_STRING}
-Libs: -L${LIB_INSTALL_DIR} -ltag_c
-Cflags: -I${INCLUDE_INSTALL_DIR}/taglib
diff --git a/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/FindCppUnit.cmake b/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/FindCppUnit.cmake
deleted file mode 100755
index adaaeb614..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/FindCppUnit.cmake
+++ /dev/null
@@ -1,69 +0,0 @@
-# - Try to find the libcppunit libraries
-# Once done this will define
-#
-# CppUnit_FOUND - system has libcppunit
-# CPPUNIT_INCLUDE_DIR - the libcppunit include directory
-# CPPUNIT_LIBRARIES - libcppunit library
-
-include (MacroEnsureVersion)
-
-if(NOT CPPUNIT_MIN_VERSION)
- SET(CPPUNIT_MIN_VERSION 1.12.0)
-endif(NOT CPPUNIT_MIN_VERSION)
-
-FIND_PROGRAM(CPPUNIT_CONFIG_EXECUTABLE cppunit-config )
-
-IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
- # in cache already
- SET(CppUnit_FOUND TRUE)
-
-ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
- SET(CPPUNIT_INCLUDE_DIR)
- SET(CPPUNIT_LIBRARIES)
-
- IF(CPPUNIT_CONFIG_EXECUTABLE)
- EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_CFLAGS)
- EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_LIBRARIES)
- EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
- STRING(REGEX REPLACE "-I(.+)" "\\1" CPPUNIT_CFLAGS "${CPPUNIT_CFLAGS}")
- ELSE(CPPUNIT_CONFIG_EXECUTABLE)
- # in case win32 needs to find it the old way?
- FIND_PATH(CPPUNIT_CFLAGS cppunit/TestRunner.h PATHS /usr/include /usr/local/include )
- FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit PATHS /usr/lib /usr/local/lib )
- # how can we find cppunit version?
- MESSAGE (STATUS "Ensure you cppunit installed version is at least ${CPPUNIT_MIN_VERSION}")
- SET (CPPUNIT_INSTALLED_VERSION ${CPPUNIT_MIN_VERSION})
- ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
-
- SET(CPPUNIT_INCLUDE_DIR ${CPPUNIT_CFLAGS} "${CPPUNIT_CFLAGS}/cppunit")
-
-ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
-IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
- SET(CppUnit_FOUND TRUE)
-
- if(NOT CppUnit_FIND_QUIETLY)
- MESSAGE (STATUS "Found cppunit: ${CPPUNIT_LIBRARIES}")
- endif(NOT CppUnit_FIND_QUIETLY)
-
- IF(CPPUNIT_CONFIG_EXECUTABLE)
- EXEC_PROGRAM(${CPPUNIT_CONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE CPPUNIT_INSTALLED_VERSION)
- ENDIF(CPPUNIT_CONFIG_EXECUTABLE)
-
- macro_ensure_version( ${CPPUNIT_MIN_VERSION} ${CPPUNIT_INSTALLED_VERSION} CPPUNIT_INSTALLED_VERSION_OK )
-
- IF(NOT CPPUNIT_INSTALLED_VERSION_OK)
- MESSAGE ("** CppUnit version is too old: found ${CPPUNIT_INSTALLED_VERSION} installed, ${CPPUNIT_MIN_VERSION} or major is required")
- SET(CppUnit_FOUND FALSE)
- ENDIF(NOT CPPUNIT_INSTALLED_VERSION_OK)
-
-ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
- SET(CppUnit_FOUND FALSE CACHE BOOL "Not found cppunit library")
-
-ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
-
-MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES)
diff --git a/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/MacroEnsureVersion.cmake b/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/MacroEnsureVersion.cmake
deleted file mode 100755
index c6df537a4..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/cmake/modules/MacroEnsureVersion.cmake
+++ /dev/null
@@ -1,71 +0,0 @@
-# This macro compares version numbers of the form "x.y.z"
-# MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK)
-# will set FOO_VERSIN_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION
-# where both have to be in a 3-part-version format, leading and trailing
-# text is ok, e.g.
-# MACRO_ENSURE_VERSION( "2.5.31" "flex 2.5.4a" VERSION_OK)
-# which means 2.5.31 is required and "flex 2.5.4a" is what was found on the system
-
-# Copyright (c) 2006, David Faure,
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-MACRO(MACRO_ENSURE_VERSION requested_version found_version var_too_old)
-
- # parse the parts of the version string
- STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_major_vers "${requested_version}")
- STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" req_minor_vers "${requested_version}")
- STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_patch_vers "${requested_version}")
-
- STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" found_major_vers "${found_version}")
- STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" found_minor_vers "${found_version}")
- STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" found_patch_vers "${found_version}")
-
- # compute an overall version number which can be compared at once
- MATH(EXPR req_vers_num "${req_major_vers}*10000 + ${req_minor_vers}*100 + ${req_patch_vers}")
- MATH(EXPR found_vers_num "${found_major_vers}*10000 + ${found_minor_vers}*100 + ${found_patch_vers}")
-
- if (found_vers_num LESS req_vers_num)
- set( ${var_too_old} FALSE )
- else (found_vers_num LESS req_vers_num)
- set( ${var_too_old} TRUE )
- endif (found_vers_num LESS req_vers_num)
-
-ENDMACRO(MACRO_ENSURE_VERSION)
-
-
-# This macro compares version numbers of the form "x.y"
-# MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK)
-# will set FOO_VERSIN_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION
-# where both have to be in a 2-part-version format, leading and trailing
-# text is ok, e.g.
-# MACRO_ENSURE_VERSION( "0.5" "foo 0.6" VERSION_OK)
-# which means 0.5 is required and "foo 0.6" is what was found on the system
-
-# Copyright (c) 2006, David Faure,
-# Copyright (c) 2007, Pino Toscano,
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-MACRO(MACRO_ENSURE_VERSION2 requested_version found_version var_too_old)
-
- # parse the parts of the version string
- STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+" "\\1" req_major_vers "${requested_version}")
- STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)" "\\1" req_minor_vers "${requested_version}")
-
- STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+.*" "\\1" found_major_vers "${found_version}")
- STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+).*" "\\1" found_minor_vers "${found_version}")
-
- # compute an overall version number which can be compared at once
- MATH(EXPR req_vers_num "${req_major_vers}*100 + ${req_minor_vers}")
- MATH(EXPR found_vers_num "${found_major_vers}*100 + ${found_minor_vers}")
-
- if (found_vers_num LESS req_vers_num)
- set( ${var_too_old} FALSE )
- else (found_vers_num LESS req_vers_num)
- set( ${var_too_old} TRUE )
- endif (found_vers_num LESS req_vers_num)
-
-ENDMACRO(MACRO_ENSURE_VERSION2)
diff --git a/src/plugins/taglib_plugin/taglib-1.11/cmake_uninstall.cmake.in b/src/plugins/taglib_plugin/taglib-1.11/cmake_uninstall.cmake.in
deleted file mode 100755
index 72e030fb3..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/cmake_uninstall.cmake.in
+++ /dev/null
@@ -1,21 +0,0 @@
-if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
- message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-endif()
-
-file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-string(REGEX REPLACE "\n" ";" files "${files}")
-foreach (file ${files})
- message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
- if (EXISTS "$ENV{DESTDIR}${file}")
- execute_process(
- COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
- OUTPUT_VARIABLE rm_out
- RESULT_VARIABLE rm_retval
- )
- if(NOT ${rm_retval} EQUAL 0)
- message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
- endif ()
- else ()
- message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
- endif ()
-endforeach()
diff --git a/src/plugins/taglib_plugin/taglib-1.11/config.h.cmake b/src/plugins/taglib_plugin/taglib-1.11/config.h.cmake
deleted file mode 100755
index c1a310948..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/config.h.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-/* config.h. Generated by cmake from config.h.cmake */
-
-#ifndef TAGLIB_CONFIG_H
-#define TAGLIB_CONFIG_H
-
-/* Defined if your compiler supports some byte swap functions */
-#cmakedefine HAVE_GCC_BYTESWAP 1
-#cmakedefine HAVE_GLIBC_BYTESWAP 1
-#cmakedefine HAVE_MSC_BYTESWAP 1
-#cmakedefine HAVE_MAC_BYTESWAP 1
-#cmakedefine HAVE_OPENBSD_BYTESWAP 1
-
-/* Defined if your compiler supports some atomic operations */
-#cmakedefine HAVE_STD_ATOMIC 1
-#cmakedefine HAVE_GCC_ATOMIC 1
-#cmakedefine HAVE_MAC_ATOMIC 1
-#cmakedefine HAVE_WIN_ATOMIC 1
-#cmakedefine HAVE_IA64_ATOMIC 1
-
-/* Defined if your compiler supports some safer version of vsprintf */
-#cmakedefine HAVE_VSNPRINTF 1
-#cmakedefine HAVE_VSPRINTF_S 1
-
-/* Defined if your compiler supports ISO _strdup */
-#cmakedefine HAVE_ISO_STRDUP 1
-
-/* Defined if zlib is installed */
-#cmakedefine HAVE_ZLIB 1
-
-/* Indicates whether debug messages are shown even in release mode */
-#cmakedefine TRACE_IN_RELEASE 1
-
-#cmakedefine TESTS_DIR "@TESTS_DIR@"
-
-#endif
diff --git a/src/plugins/taglib_plugin/taglib-1.11/doc/README b/src/plugins/taglib_plugin/taglib-1.11/doc/README
deleted file mode 100755
index b2ebd36d6..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/doc/README
+++ /dev/null
@@ -1 +0,0 @@
-Run "make docs" in the parent directory to generate the TagLib API documentation.
diff --git a/src/plugins/taglib_plugin/taglib-1.11/doc/api-footer.html b/src/plugins/taglib_plugin/taglib-1.11/doc/api-footer.html
deleted file mode 100755
index 9b151ee89..000000000
--- a/src/plugins/taglib_plugin/taglib-1.11/doc/api-footer.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-