diff --git a/taglib/README.md b/taglib/README.md deleted file mode 100644 index 0400381..0000000 --- a/taglib/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# taglib - -这是 Windows 下的 taglib 静态库,使用 [winlibs](https://winlibs.com/) 与 CMake 进行编译,编译器版本是 `GCC 11.2.0 + LLVM/Clang/LLD/LLDB 13.0.0 + MinGW-w64 9.0.0 - UCRT - release 2` (截止2021年10月的最新版本) \ No newline at end of file diff --git a/taglib/bin/taglib-config.cmd b/taglib/bin/taglib-config.cmd index 817cf0d..bec5277 100644 --- a/taglib/bin/taglib-config.cmd +++ b/taglib/bin/taglib-config.cmd @@ -27,10 +27,10 @@ goto theend * to allow for static, shared or debug builds. * It would be preferable if the top level CMakeLists.txt provided the library name during config. ?? :doit -if /i "%1#" == "--libs#" echo -LC:/taglib/lib -llibtag -if /i "%1#" == "--cflags#" echo -IC:/taglib/include -IC:/taglib/include/taglib -if /i "%1#" == "--version#" echo 1.12 -if /i "%1#" == "--prefix#" echo C:/taglib +if /i "%1#" == "--libs#" echo -LC:/Users/TaurusXin/Downloads/ncmdump/taglib/lib -llibtag +if /i "%1#" == "--cflags#" echo -IC:/Users/TaurusXin/Downloads/ncmdump/taglib/include -IC:/Users/TaurusXin/Downloads/ncmdump/taglib/include/taglib +if /i "%1#" == "--version#" echo 1.13.1 +if /i "%1#" == "--prefix#" echo C:/Users/TaurusXin/Downloads/ncmdump/taglib :theend diff --git a/taglib/include/taglib/aifffile.h b/taglib/include/taglib/aifffile.h index ceac576..1e2d9d5 100644 --- a/taglib/include/taglib/aifffile.h +++ b/taglib/include/taglib/aifffile.h @@ -150,8 +150,8 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } - } -} + } // namespace AIFF + } // namespace RIFF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/aiffproperties.h b/taglib/include/taglib/aiffproperties.h index dbb4c21..0324b85 100644 --- a/taglib/include/taglib/aiffproperties.h +++ b/taglib/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; @@ -159,8 +159,8 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } - } -} + } // namespace AIFF + } // namespace RIFF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/apefile.h b/taglib/include/taglib/apefile.h index 267778b..754e05f 100644 --- a/taglib/include/taglib/apefile.h +++ b/taglib/include/taglib/apefile.h @@ -229,7 +229,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace APE +} // namespace TagLib #endif diff --git a/taglib/include/taglib/apefooter.h b/taglib/include/taglib/apefooter.h index 47741d0..38d83a3 100644 --- a/taglib/include/taglib/apefooter.h +++ b/taglib/include/taglib/apefooter.h @@ -167,7 +167,7 @@ namespace TagLib { FooterPrivate *d; }; - } -} + } // namespace APE +} // namespace TagLib #endif diff --git a/taglib/include/taglib/apeitem.h b/taglib/include/taglib/apeitem.h index cfd157c..2445b50 100644 --- a/taglib/include/taglib/apeitem.h +++ b/taglib/include/taglib/apeitem.h @@ -31,9 +31,7 @@ #include "tstringlist.h" namespace TagLib { - namespace APE { - //! An implementation of APE-items /*! @@ -215,10 +213,7 @@ namespace TagLib { class ItemPrivate; ItemPrivate *d; }; - } - -} + } // namespace APE +} // namespace TagLib #endif - - diff --git a/taglib/include/taglib/apeproperties.h b/taglib/include/taglib/apeproperties.h index ebbf949..8c67481 100644 --- a/taglib/include/taglib/apeproperties.h +++ b/taglib/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; @@ -137,7 +137,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace APE +} // namespace TagLib #endif diff --git a/taglib/include/taglib/apetag.h b/taglib/include/taglib/apetag.h index f4d4fba..0150429 100644 --- a/taglib/include/taglib/apetag.h +++ b/taglib/include/taglib/apetag.h @@ -202,7 +202,7 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; - } -} + } // namespace APE +} // namespace TagLib #endif diff --git a/taglib/include/taglib/asfattribute.h b/taglib/include/taglib/asfattribute.h index 1738eb4..5952fbd 100644 --- a/taglib/include/taglib/asfattribute.h +++ b/taglib/include/taglib/asfattribute.h @@ -33,10 +33,8 @@ namespace TagLib { - namespace ASF { - class File; class Picture; @@ -201,8 +199,7 @@ namespace TagLib class AttributePrivate; AttributePrivate *d; }; - } - -} + } // namespace ASF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/asffile.h b/taglib/include/taglib/asffile.h index 05cf4ee..5cabc38 100644 --- a/taglib/include/taglib/asffile.h +++ b/taglib/include/taglib/asffile.h @@ -33,10 +33,8 @@ #include "asftag.h" namespace TagLib { - //! An implementation of ASF (WMA) metadata namespace ASF { - /*! * This implements and provides an interface for ASF files to the * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing @@ -130,9 +128,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - - } - -} + } // namespace ASF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/asfpicture.h b/taglib/include/taglib/asfpicture.h index 17233ba..f1b0ad4 100644 --- a/taglib/include/taglib/asfpicture.h +++ b/taglib/include/taglib/asfpicture.h @@ -216,7 +216,7 @@ namespace TagLib class PicturePrivate; PicturePrivate *d; }; - } -} + } // namespace ASF +} // namespace TagLib #endif // ASFPICTURE_H diff --git a/taglib/include/taglib/asfproperties.h b/taglib/include/taglib/asfproperties.h index 317bf10..d17b11d 100644 --- a/taglib/include/taglib/asfproperties.h +++ b/taglib/include/taglib/asfproperties.h @@ -31,9 +31,7 @@ #include "taglib_export.h" namespace TagLib { - namespace ASF { - //! An implementation of ASF audio properties class TAGLIB_EXPORT Properties : public AudioProperties { @@ -86,7 +84,7 @@ namespace TagLib { * * \note This method is just an alias of lengthInSeconds(). * - * \deprecated + * \deprecated Use lengthInSeconds(). */ TAGLIB_DEPRECATED virtual int length() const; @@ -178,9 +176,6 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - - } - -} - + } // namespace ASF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/asftag.h b/taglib/include/taglib/asftag.h index bbd9821..7f2e355 100644 --- a/taglib/include/taglib/asftag.h +++ b/taglib/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(); @@ -205,6 +206,6 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; - } -} + } // namespace ASF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/attachedpictureframe.h b/taglib/include/taglib/attachedpictureframe.h index 55067bd..18755f3 100644 --- a/taglib/include/taglib/attachedpictureframe.h +++ b/taglib/include/taglib/attachedpictureframe.h @@ -224,7 +224,7 @@ namespace TagLib { AttachedPictureFrameV22(const ByteVector &data, Header *h); friend class FrameFactory; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/audioproperties.h b/taglib/include/taglib/audioproperties.h index f27aefc..9ef8210 100644 --- a/taglib/include/taglib/audioproperties.h +++ b/taglib/include/taglib/audioproperties.h @@ -122,6 +122,6 @@ namespace TagLib { AudioPropertiesPrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/chapterframe.h b/taglib/include/taglib/chapterframe.h index 0eaa140..90c3fc7 100644 --- a/taglib/include/taglib/chapterframe.h +++ b/taglib/include/taglib/chapterframe.h @@ -243,7 +243,7 @@ namespace TagLib { class ChapterFramePrivate; ChapterFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/commentsframe.h b/taglib/include/taglib/commentsframe.h index 4da9d53..e29f8eb 100644 --- a/taglib/include/taglib/commentsframe.h +++ b/taglib/include/taglib/commentsframe.h @@ -174,6 +174,6 @@ namespace TagLib { CommentsFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/eventtimingcodesframe.h b/taglib/include/taglib/eventtimingcodesframe.h index 3dcedb9..9146bdc 100644 --- a/taglib/include/taglib/eventtimingcodesframe.h +++ b/taglib/include/taglib/eventtimingcodesframe.h @@ -180,6 +180,6 @@ namespace TagLib { EventTimingCodesFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/fileref.h b/taglib/include/taglib/fileref.h index 76e694e..db23bbb 100644 --- a/taglib/include/taglib/fileref.h +++ b/taglib/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. */ @@ -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/taglib/include/taglib/flacfile.h b/taglib/include/taglib/flacfile.h index 1b8654e..a43c68c 100644 --- a/taglib/include/taglib/flacfile.h +++ b/taglib/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); @@ -337,7 +337,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace FLAC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/flacmetadatablock.h b/taglib/include/taglib/flacmetadatablock.h index 41bca31..45c7971 100644 --- a/taglib/include/taglib/flacmetadatablock.h +++ b/taglib/include/taglib/flacmetadatablock.h @@ -31,9 +31,7 @@ #include "taglib_export.h" namespace TagLib { - namespace FLAC { - class TAGLIB_EXPORT MetadataBlock { public: @@ -67,9 +65,6 @@ namespace TagLib { class MetadataBlockPrivate; MetadataBlockPrivate *d; }; - - } - -} - + } // namespace FLAC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/flacpicture.h b/taglib/include/taglib/flacpicture.h index b6def57..2cde3aa 100644 --- a/taglib/include/taglib/flacpicture.h +++ b/taglib/include/taglib/flacpicture.h @@ -33,9 +33,7 @@ #include "flacmetadatablock.h" namespace TagLib { - namespace FLAC { - class TAGLIB_EXPORT Picture : public MetadataBlock { public: @@ -200,9 +198,6 @@ namespace TagLib { }; typedef List PictureList; - - } - -} - + } // namespace FLAC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/flacproperties.h b/taglib/include/taglib/flacproperties.h index 743e587..e58f9ae 100644 --- a/taglib/include/taglib/flacproperties.h +++ b/taglib/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; @@ -142,7 +142,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace FLAC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/generalencapsulatedobjectframe.h b/taglib/include/taglib/generalencapsulatedobjectframe.h index 769dfb0..cb797b8 100644 --- a/taglib/include/taglib/generalencapsulatedobjectframe.h +++ b/taglib/include/taglib/generalencapsulatedobjectframe.h @@ -173,7 +173,7 @@ namespace TagLib { class GeneralEncapsulatedObjectFramePrivate; GeneralEncapsulatedObjectFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/id3v1genres.h b/taglib/include/taglib/id3v1genres.h index 0a0dd97..92feb34 100644 --- a/taglib/include/taglib/id3v1genres.h +++ b/taglib/include/taglib/id3v1genres.h @@ -60,7 +60,7 @@ namespace TagLib { * will be returned. */ int TAGLIB_EXPORT genreIndex(const String &name); - } -} + } // namespace ID3v1 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/id3v1tag.h b/taglib/include/taglib/id3v1tag.h index b61f06a..5803312 100644 --- a/taglib/include/taglib/id3v1tag.h +++ b/taglib/include/taglib/id3v1tag.h @@ -196,7 +196,7 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; - } -} + } // namespace ID3v1 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/id3v2.h b/taglib/include/taglib/id3v2.h index bef8251..36e7642 100644 --- a/taglib/include/taglib/id3v2.h +++ b/taglib/include/taglib/id3v2.h @@ -18,7 +18,7 @@ namespace TagLib { v3 = 3, // namespace TagLib { - namespace Mod { - class TAGLIB_EXPORT FileBase : public TagLib::File { protected: @@ -58,9 +56,6 @@ namespace TagLib { bool readU16B(unsigned short &number); bool readU32B(unsigned long &number); }; - - } - -} - + } // namespace Mod +} // namespace TagLib #endif diff --git a/taglib/include/taglib/modproperties.h b/taglib/include/taglib/modproperties.h index 4712294..51bd924 100644 --- a/taglib/include/taglib/modproperties.h +++ b/taglib/include/taglib/modproperties.h @@ -30,9 +30,7 @@ #include "audioproperties.h" namespace TagLib { - namespace Mod { - class TAGLIB_EXPORT Properties : public AudioProperties { public: @@ -63,9 +61,6 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - - } - -} - + } // namespace Mod +} // namespace TagLib #endif diff --git a/taglib/include/taglib/modtag.h b/taglib/include/taglib/modtag.h index dee0661..f51a2e4 100644 --- a/taglib/include/taglib/modtag.h +++ b/taglib/include/taglib/modtag.h @@ -29,9 +29,7 @@ #include "tag.h" namespace TagLib { - namespace Mod { - /*! * Tags for module files (Mod, S3M, IT, XM). * @@ -186,9 +184,6 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; - - } - -} - + } // namespace Mod +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4atom.h b/taglib/include/taglib/mp4atom.h index cbb0d10..0a0669e 100644 --- a/taglib/include/taglib/mp4atom.h +++ b/taglib/include/taglib/mp4atom.h @@ -34,9 +34,7 @@ #include "tlist.h" namespace TagLib { - namespace MP4 { - class Atom; typedef TagLib::List AtomList; @@ -74,7 +72,7 @@ namespace TagLib { typedef TagLib::List AtomDataList; - class Atom + class TAGLIB_EXPORT Atom { public: Atom(File *file); @@ -88,11 +86,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); @@ -101,10 +99,8 @@ namespace TagLib { AtomList path(const char *name1, const char *name2 = 0, const char *name3 = 0, const char *name4 = 0); AtomList atoms; }; - - } - -} + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4coverart.h b/taglib/include/taglib/mp4coverart.h index ebfb3f9..6368480 100644 --- a/taglib/include/taglib/mp4coverart.h +++ b/taglib/include/taglib/mp4coverart.h @@ -32,9 +32,7 @@ #include "mp4atom.h" namespace TagLib { - namespace MP4 { - class TAGLIB_EXPORT CoverArt { public: @@ -76,9 +74,6 @@ namespace TagLib { }; typedef List CoverArtList; - - } - -} - + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4file.h b/taglib/include/taglib/mp4file.h index 8a46d17..b8f0a7c 100644 --- a/taglib/include/taglib/mp4file.h +++ b/taglib/include/taglib/mp4file.h @@ -33,10 +33,8 @@ #include "mp4tag.h" namespace TagLib { - //! An implementation of MP4 (AAC, ALAC, ...) metadata namespace MP4 { - class Atoms; /*! @@ -48,6 +46,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 +125,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. @@ -135,9 +155,6 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - - } - -} - + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4item.h b/taglib/include/taglib/mp4item.h index 3821135..526c3a6 100644 --- a/taglib/include/taglib/mp4item.h +++ b/taglib/include/taglib/mp4item.h @@ -31,9 +31,7 @@ #include "taglib_export.h" namespace TagLib { - namespace MP4 { - class TAGLIB_EXPORT Item { public: @@ -85,9 +83,6 @@ namespace TagLib { class ItemPrivate; ItemPrivate *d; }; - - } - -} - + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4properties.h b/taglib/include/taglib/mp4properties.h index 492a48c..5ad3f21 100644 --- a/taglib/include/taglib/mp4properties.h +++ b/taglib/include/taglib/mp4properties.h @@ -30,9 +30,7 @@ #include "audioproperties.h" namespace TagLib { - namespace MP4 { - class Atoms; class File; @@ -55,7 +53,7 @@ namespace TagLib { * * \note This method is just an alias of lengthInSeconds(). * - * \deprecated + * \deprecated Use lengthInSeconds(). */ TAGLIB_DEPRECATED virtual int length() const; @@ -112,9 +110,6 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - - } - -} - + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mp4tag.h b/taglib/include/taglib/mp4tag.h index ccee8e0..42b3d4b 100644 --- a/taglib/include/taglib/mp4tag.h +++ b/taglib/include/taglib/mp4tag.h @@ -36,11 +36,9 @@ #include "mp4item.h" namespace TagLib { - namespace MP4 { - /*! - * \deprecated + * \deprecated Use ItemMap. */ TAGLIB_DEPRECATED typedef TagLib::Map ItemListMap; typedef TagLib::Map ItemMap; @@ -72,7 +70,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,6 +100,11 @@ 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); @@ -156,9 +159,6 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; - - } - -} - + } // namespace MP4 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mpcfile.h b/taglib/include/taglib/mpcfile.h index eb3ec54..c983673 100644 --- a/taglib/include/taglib/mpcfile.h +++ b/taglib/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); @@ -232,7 +232,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace MPC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mpcproperties.h b/taglib/include/taglib/mpcproperties.h index 9a902dc..1db925d 100644 --- a/taglib/include/taglib/mpcproperties.h +++ b/taglib/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; @@ -152,7 +152,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace MPC +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mpegfile.h b/taglib/include/taglib/mpegfile.h index 3fcb727..381d89a 100644 --- a/taglib/include/taglib/mpegfile.h +++ b/taglib/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); @@ -381,7 +381,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace MPEG +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mpegheader.h b/taglib/include/taglib/mpegheader.h index ca51184..cb8eb25 100644 --- a/taglib/include/taglib/mpegheader.h +++ b/taglib/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); @@ -172,7 +172,7 @@ namespace TagLib { class HeaderPrivate; HeaderPrivate *d; }; - } -} + } // namespace MPEG +} // namespace TagLib #endif diff --git a/taglib/include/taglib/mpegproperties.h b/taglib/include/taglib/mpegproperties.h index a1a1af4..18e7ca1 100644 --- a/taglib/include/taglib/mpegproperties.h +++ b/taglib/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; @@ -146,7 +146,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace MPEG +} // namespace TagLib #endif diff --git a/taglib/include/taglib/oggfile.h b/taglib/include/taglib/oggfile.h index 7d889c2..a5d20c2 100644 --- a/taglib/include/taglib/oggfile.h +++ b/taglib/include/taglib/oggfile.h @@ -121,7 +121,7 @@ namespace TagLib { FilePrivate *d; }; - } -} + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/oggpage.h b/taglib/include/taglib/oggpage.h index af3fe2c..4829b07 100644 --- a/taglib/include/taglib/oggpage.h +++ b/taglib/include/taglib/oggpage.h @@ -223,6 +223,6 @@ namespace TagLib { class PagePrivate; PagePrivate *d; }; - } -} + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/oggpageheader.h b/taglib/include/taglib/oggpageheader.h index 571155f..d62feb3 100644 --- a/taglib/include/taglib/oggpageheader.h +++ b/taglib/include/taglib/oggpageheader.h @@ -226,7 +226,7 @@ namespace TagLib { PageHeaderPrivate *d; }; - } -} + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/opusfile.h b/taglib/include/taglib/opusfile.h index 0e094ea..bc78514 100644 --- a/taglib/include/taglib/opusfile.h +++ b/taglib/include/taglib/opusfile.h @@ -131,8 +131,8 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } - } -} + } // namespace Opus + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/opusproperties.h b/taglib/include/taglib/opusproperties.h index 2e44dea..2624fe1 100644 --- a/taglib/include/taglib/opusproperties.h +++ b/taglib/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; @@ -127,8 +127,8 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } - } -} + } // namespace Opus + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/ownershipframe.h b/taglib/include/taglib/ownershipframe.h index 06a1e23..24113b1 100644 --- a/taglib/include/taglib/ownershipframe.h +++ b/taglib/include/taglib/ownershipframe.h @@ -146,6 +146,6 @@ namespace TagLib { OwnershipFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/podcastframe.h b/taglib/include/taglib/podcastframe.h index a71278c..a4a02f4 100644 --- a/taglib/include/taglib/podcastframe.h +++ b/taglib/include/taglib/podcastframe.h @@ -77,6 +77,6 @@ namespace TagLib { PodcastFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/popularimeterframe.h b/taglib/include/taglib/popularimeterframe.h index 405ca69..59860b4 100644 --- a/taglib/include/taglib/popularimeterframe.h +++ b/taglib/include/taglib/popularimeterframe.h @@ -127,6 +127,6 @@ namespace TagLib { PopularimeterFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/privateframe.h b/taglib/include/taglib/privateframe.h index 06f82f3..eeed521 100644 --- a/taglib/include/taglib/privateframe.h +++ b/taglib/include/taglib/privateframe.h @@ -106,6 +106,6 @@ namespace TagLib { PrivateFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/relativevolumeframe.h b/taglib/include/taglib/relativevolumeframe.h index 55f13fc..a3ff9bd 100644 --- a/taglib/include/taglib/relativevolumeframe.h +++ b/taglib/include/taglib/relativevolumeframe.h @@ -269,6 +269,6 @@ namespace TagLib { RelativeVolumeFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/rifffile.h b/taglib/include/taglib/rifffile.h index 5c606b4..1ed4950 100644 --- a/taglib/include/taglib/rifffile.h +++ b/taglib/include/taglib/rifffile.h @@ -155,7 +155,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace RIFF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/s3mfile.h b/taglib/include/taglib/s3mfile.h index 4011bd1..f9ff605 100644 --- a/taglib/include/taglib/s3mfile.h +++ b/taglib/include/taglib/s3mfile.h @@ -106,7 +106,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace S3M +} // namespace TagLib #endif diff --git a/taglib/include/taglib/s3mproperties.h b/taglib/include/taglib/s3mproperties.h index 92b2a27..fda5952 100644 --- a/taglib/include/taglib/s3mproperties.h +++ b/taglib/include/taglib/s3mproperties.h @@ -88,7 +88,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace S3M +} // namespace TagLib #endif diff --git a/taglib/include/taglib/speexfile.h b/taglib/include/taglib/speexfile.h index 1be7113..f8c002a 100644 --- a/taglib/include/taglib/speexfile.h +++ b/taglib/include/taglib/speexfile.h @@ -131,8 +131,8 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } - } -} + } // namespace Speex + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/speexproperties.h b/taglib/include/taglib/speexproperties.h index 3f5a20f..12f09e0 100644 --- a/taglib/include/taglib/speexproperties.h +++ b/taglib/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; @@ -122,8 +122,8 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } - } -} + } // namespace Speex + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/synchronizedlyricsframe.h b/taglib/include/taglib/synchronizedlyricsframe.h index f520c59..a701d21 100644 --- a/taglib/include/taglib/synchronizedlyricsframe.h +++ b/taglib/include/taglib/synchronizedlyricsframe.h @@ -226,6 +226,6 @@ namespace TagLib { SynchronizedLyricsFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tableofcontentsframe.h b/taglib/include/taglib/tableofcontentsframe.h index 2e5401e..1f327e9 100644 --- a/taglib/include/taglib/tableofcontentsframe.h +++ b/taglib/include/taglib/tableofcontentsframe.h @@ -254,7 +254,7 @@ namespace TagLib { class TableOfContentsFramePrivate; TableOfContentsFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tag.h b/taglib/include/taglib/tag.h index be9628c..a445880 100644 --- a/taglib/include/taglib/tag.h +++ b/taglib/include/taglib/tag.h @@ -196,6 +196,6 @@ namespace TagLib { class TagPrivate; TagPrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/taglib.h b/taglib/include/taglib/taglib.h index ffce61f..b754b26 100644 --- a/taglib/include/taglib/taglib.h +++ b/taglib/include/taglib/taglib.h @@ -29,8 +29,8 @@ #include "taglib_config.h" #define TAGLIB_MAJOR_VERSION 1 -#define TAGLIB_MINOR_VERSION 12 -#define TAGLIB_PATCH_VERSION 0 +#define TAGLIB_MINOR_VERSION 13 +#define TAGLIB_PATCH_VERSION 1 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 1)) || defined(__clang__) #define TAGLIB_IGNORE_MISSING_DESTRUCTOR _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") @@ -84,7 +84,7 @@ namespace TagLib { * so I'm providing something here that should be constant. */ typedef std::basic_string wstring; -} +} // namespace TagLib /*! * \mainpage TagLib diff --git a/taglib/include/taglib/tbytevector.h b/taglib/include/taglib/tbytevector.h index 41373c7..bc8eda7 100644 --- a/taglib/include/taglib/tbytevector.h +++ b/taglib/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; @@ -624,7 +624,7 @@ namespace TagLib { class ByteVectorPrivate; ByteVectorPrivate *d; }; -} +} // namespace TagLib /*! * \relates TagLib::ByteVector diff --git a/taglib/include/taglib/tbytevectorlist.h b/taglib/include/taglib/tbytevectorlist.h index 5852583..27fc64a 100644 --- a/taglib/include/taglib/tbytevectorlist.h +++ b/taglib/include/taglib/tbytevectorlist.h @@ -86,6 +86,6 @@ namespace TagLib { ByteVectorListPrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tbytevectorstream.h b/taglib/include/taglib/tbytevectorstream.h index 84327c4..5aa8fcf 100644 --- a/taglib/include/taglib/tbytevectorstream.h +++ b/taglib/include/taglib/tbytevectorstream.h @@ -140,6 +140,6 @@ namespace TagLib { ByteVectorStreamPrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tdebuglistener.h b/taglib/include/taglib/tdebuglistener.h index 3c8e118..e4e4279 100644 --- a/taglib/include/taglib/tdebuglistener.h +++ b/taglib/include/taglib/tdebuglistener.h @@ -69,6 +69,6 @@ namespace TagLib * \see DebugListener */ TAGLIB_EXPORT void setDebugListener(DebugListener *listener); -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/textidentificationframe.h b/taglib/include/taglib/textidentificationframe.h index e49aa89..cc73f59 100644 --- a/taglib/include/taglib/textidentificationframe.h +++ b/taglib/include/taglib/textidentificationframe.h @@ -308,6 +308,6 @@ namespace TagLib { UserTextIdentificationFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tfile.h b/taglib/include/taglib/tfile.h index bdc4f12..bb8c2b3 100644 --- a/taglib/include/taglib/tfile.h +++ b/taglib/include/taglib/tfile.h @@ -261,14 +261,14 @@ namespace TagLib { * Returns true if \a file can be opened for reading. If the file does not * exist, this will return false. * - * \deprecated + * \deprecated Use system functions, e.g. access() (_access_s() on Windows). */ TAGLIB_DEPRECATED static bool isReadable(const char *file); /*! * Returns true if \a file can be opened for writing. * - * \deprecated + * \deprecated Use system functions, e.g. access() (_access_s() on Windows). */ TAGLIB_DEPRECATED static bool isWritable(const char *name); @@ -318,6 +318,6 @@ namespace TagLib { FilePrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tfilestream.h b/taglib/include/taglib/tfilestream.h index aa4d71b..dd3b865 100644 --- a/taglib/include/taglib/tfilestream.h +++ b/taglib/include/taglib/tfilestream.h @@ -154,6 +154,6 @@ namespace TagLib { FileStreamPrivate *d; }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tiostream.h b/taglib/include/taglib/tiostream.h index 1105316..1972d93 100644 --- a/taglib/include/taglib/tiostream.h +++ b/taglib/include/taglib/tiostream.h @@ -165,6 +165,6 @@ namespace TagLib { IOStream &operator=(const IOStream &); }; -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tlist.h b/taglib/include/taglib/tlist.h index 377b824..b4bd0fe 100644 --- a/taglib/include/taglib/tlist.h +++ b/taglib/include/taglib/tlist.h @@ -260,7 +260,7 @@ namespace TagLib { #endif }; -} +} // namespace TagLib // Since GCC doesn't support the "export" keyword, we have to include the // implementation. diff --git a/taglib/include/taglib/tmap.h b/taglib/include/taglib/tmap.h index f54e5a2..520a267 100644 --- a/taglib/include/taglib/tmap.h +++ b/taglib/include/taglib/tmap.h @@ -153,6 +153,14 @@ namespace TagLib { */ Map &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. + */ + T value(const Key &key, const T &defaultValue = T()) const; + /*! * Returns a reference to the value associated with \a key. * @@ -194,7 +202,7 @@ namespace TagLib { #endif }; -} +} // namespace TagLib // Since GCC doesn't support the "export" keyword, we have to include the // implementation. diff --git a/taglib/include/taglib/tmap.tcc b/taglib/include/taglib/tmap.tcc index 2e4ed5e..7964913 100644 --- a/taglib/include/taglib/tmap.tcc +++ b/taglib/include/taglib/tmap.tcc @@ -155,6 +155,13 @@ unsigned int Map::size() const return static_cast(d->map.size()); } +template +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/taglib/include/taglib/tpropertymap.h b/taglib/include/taglib/tpropertymap.h index 27731a8..9231642 100644 --- a/taglib/include/taglib/tpropertymap.h +++ b/taglib/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; @@ -186,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. + */ + StringList value(const String &key, + const StringList &defaultValue = StringList()) const; + /*! * Returns a reference to the value associated with \a key. * @@ -238,5 +252,5 @@ namespace TagLib { StringList unsupported; }; -} +} // namespace TagLib #endif /* TAGLIB_PROPERTYMAP_H_ */ diff --git a/taglib/include/taglib/trefcounter.h b/taglib/include/taglib/trefcounter.h index db97c53..b3ce883 100644 --- a/taglib/include/taglib/trefcounter.h +++ b/taglib/include/taglib/trefcounter.h @@ -107,7 +107,7 @@ namespace TagLib #endif }; -} +} // namespace TagLib #endif // DO_NOT_DOCUMENT #endif diff --git a/taglib/include/taglib/trueaudiofile.h b/taglib/include/taglib/trueaudiofile.h index 1f664d2..1019bfc 100644 --- a/taglib/include/taglib/trueaudiofile.h +++ b/taglib/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); @@ -253,7 +253,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace TrueAudio +} // namespace TagLib #endif diff --git a/taglib/include/taglib/trueaudioproperties.h b/taglib/include/taglib/trueaudioproperties.h index d25c7a7..490fea8 100644 --- a/taglib/include/taglib/trueaudioproperties.h +++ b/taglib/include/taglib/trueaudioproperties.h @@ -36,8 +36,6 @@ namespace TagLib { namespace TrueAudio { - class File; - static const unsigned int HeaderSize = 18; //! An implementation of audio property reading for TrueAudio @@ -67,7 +65,7 @@ namespace TagLib { * * \note This method is just an alias of lengthInSeconds(). * - * \deprecated + * \deprecated Use lengthInSeconds(). */ TAGLIB_DEPRECATED virtual int length() const; @@ -127,7 +125,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace TrueAudio +} // namespace TagLib #endif diff --git a/taglib/include/taglib/tstring.h b/taglib/include/taglib/tstring.h index 7028aab..e3853d8 100644 --- a/taglib/include/taglib/tstring.h +++ b/taglib/include/taglib/tstring.h @@ -45,7 +45,7 @@ #if defined(QT_VERSION) && (QT_VERSION >= 0x040000) #define QStringToTString(s) TagLib::String(s.toUtf8().data(), TagLib::String::UTF8) #else -#define QStringToTString(s) TagLib::String(s.utf8().data(), TagLib::String::UTF8) +#define QStringToTString(s) TagLib::String((s).utf8().data(), TagLib::String::UTF8) #endif /*! @@ -58,7 +58,7 @@ * */ -#define TStringToQString(s) QString::fromUtf8(s.toCString(true)) +#define TStringToQString(s) QString::fromUtf8((s).toCString(true)) namespace TagLib { @@ -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; @@ -546,28 +546,28 @@ namespace TagLib { class StringPrivate; StringPrivate *d; }; -} +} // namespace TagLib /*! * \relates TagLib::String * * Concatenates \a s1 and \a s2 and returns the result as a string. */ -TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2); +TAGLIB_EXPORT TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2); /*! * \relates TagLib::String * * Concatenates \a s1 and \a s2 and returns the result as a string. */ -TAGLIB_EXPORT const TagLib::String operator+(const char *s1, const TagLib::String &s2); +TAGLIB_EXPORT TagLib::String operator+(const char *s1, const TagLib::String &s2); /*! * \relates TagLib::String * * Concatenates \a s1 and \a s2 and returns the result as a string. */ -TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const char *s2); +TAGLIB_EXPORT TagLib::String operator+(const TagLib::String &s1, const char *s2); /*! diff --git a/taglib/include/taglib/tstringlist.h b/taglib/include/taglib/tstringlist.h index 41b7f6e..e18a54b 100644 --- a/taglib/include/taglib/tstringlist.h +++ b/taglib/include/taglib/tstringlist.h @@ -104,12 +104,12 @@ namespace TagLib { StringListPrivate *d; }; -} +} // 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/taglib/include/taglib/uniquefileidentifierframe.h b/taglib/include/taglib/uniquefileidentifierframe.h index decf1b0..cdbf1eb 100644 --- a/taglib/include/taglib/uniquefileidentifierframe.h +++ b/taglib/include/taglib/uniquefileidentifierframe.h @@ -117,7 +117,7 @@ namespace TagLib { class UniqueFileIdentifierFramePrivate; UniqueFileIdentifierFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/unknownframe.h b/taglib/include/taglib/unknownframe.h index 6559f4e..2223702 100644 --- a/taglib/include/taglib/unknownframe.h +++ b/taglib/include/taglib/unknownframe.h @@ -74,6 +74,6 @@ namespace TagLib { UnknownFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/unsynchronizedlyricsframe.h b/taglib/include/taglib/unsynchronizedlyricsframe.h index dad67c7..8ee378b 100644 --- a/taglib/include/taglib/unsynchronizedlyricsframe.h +++ b/taglib/include/taglib/unsynchronizedlyricsframe.h @@ -174,6 +174,6 @@ namespace TagLib { UnsynchronizedLyricsFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/urllinkframe.h b/taglib/include/taglib/urllinkframe.h index d9ac109..c9f75ab 100644 --- a/taglib/include/taglib/urllinkframe.h +++ b/taglib/include/taglib/urllinkframe.h @@ -185,6 +185,6 @@ namespace TagLib { UserUrlLinkFramePrivate *d; }; - } -} + } // namespace ID3v2 +} // namespace TagLib #endif diff --git a/taglib/include/taglib/vorbisfile.h b/taglib/include/taglib/vorbisfile.h index 04c0c04..a166db4 100644 --- a/taglib/include/taglib/vorbisfile.h +++ b/taglib/include/taglib/vorbisfile.h @@ -138,7 +138,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } + } // namespace Vorbis /* * To keep compatibility with the current version put Vorbis in the Ogg namespace @@ -152,6 +152,6 @@ namespace TagLib { namespace Ogg { namespace Vorbis { typedef TagLib::Vorbis::File File; } } #endif -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/vorbisproperties.h b/taglib/include/taglib/vorbisproperties.h index 472e039..4ca2bfe 100644 --- a/taglib/include/taglib/vorbisproperties.h +++ b/taglib/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; @@ -141,7 +141,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } + } // namespace Vorbis /* * To keep compatibility with the current version put Vorbis in the Ogg namespace @@ -155,6 +155,6 @@ namespace TagLib { namespace Ogg { namespace Vorbis { typedef TagLib::AudioProperties AudioProperties; } } #endif -} +} // namespace TagLib #endif diff --git a/taglib/include/taglib/wavfile.h b/taglib/include/taglib/wavfile.h index bc9ce31..bcd2841 100644 --- a/taglib/include/taglib/wavfile.h +++ b/taglib/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); @@ -208,8 +208,8 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } - } -} + } // namespace WAV + } // namespace RIFF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/wavpackfile.h b/taglib/include/taglib/wavpackfile.h index ccc4ef6..ffece73 100644 --- a/taglib/include/taglib/wavpackfile.h +++ b/taglib/include/taglib/wavpackfile.h @@ -217,7 +217,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace WavPack +} // namespace TagLib #endif diff --git a/taglib/include/taglib/wavpackproperties.h b/taglib/include/taglib/wavpackproperties.h index e6acdcc..e1a481d 100644 --- a/taglib/include/taglib/wavpackproperties.h +++ b/taglib/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; @@ -143,7 +143,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace WavPack +} // namespace TagLib #endif diff --git a/taglib/include/taglib/wavproperties.h b/taglib/include/taglib/wavproperties.h index 1ca7310..2b3c0be 100644 --- a/taglib/include/taglib/wavproperties.h +++ b/taglib/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; @@ -156,8 +156,8 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } - } -} + } // namespace WAV + } // namespace RIFF +} // namespace TagLib #endif diff --git a/taglib/include/taglib/xingheader.h b/taglib/include/taglib/xingheader.h index ce75619..4854168 100644 --- a/taglib/include/taglib/xingheader.h +++ b/taglib/include/taglib/xingheader.h @@ -123,7 +123,7 @@ namespace TagLib { class XingHeaderPrivate; XingHeaderPrivate *d; }; - } -} + } // namespace MPEG +} // namespace TagLib #endif diff --git a/taglib/include/taglib/xiphcomment.h b/taglib/include/taglib/xiphcomment.h index 674d616..cb4742b 100644 --- a/taglib/include/taglib/xiphcomment.h +++ b/taglib/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 { @@ -269,7 +274,7 @@ namespace TagLib { class XiphCommentPrivate; XiphCommentPrivate *d; }; - } -} + } // namespace Ogg +} // namespace TagLib #endif diff --git a/taglib/include/taglib/xmfile.h b/taglib/include/taglib/xmfile.h index 9211078..e72c92c 100644 --- a/taglib/include/taglib/xmfile.h +++ b/taglib/include/taglib/xmfile.h @@ -106,7 +106,7 @@ namespace TagLib { class FilePrivate; FilePrivate *d; }; - } -} + } // namespace XM +} // namespace TagLib #endif diff --git a/taglib/include/taglib/xmproperties.h b/taglib/include/taglib/xmproperties.h index 24a5221..8d953f2 100644 --- a/taglib/include/taglib/xmproperties.h +++ b/taglib/include/taglib/xmproperties.h @@ -79,7 +79,7 @@ namespace TagLib { class PropertiesPrivate; PropertiesPrivate *d; }; - } -} + } // namespace XM +} // namespace TagLib #endif diff --git a/taglib/lib/libtag.a b/taglib/lib/libtag.a index 1c36226..bf97ccd 100644 Binary files a/taglib/lib/libtag.a and b/taglib/lib/libtag.a differ diff --git a/taglib/lib/libtag_c.a b/taglib/lib/libtag_c.a index d06acc9..74f1f79 100644 Binary files a/taglib/lib/libtag_c.a and b/taglib/lib/libtag_c.a differ diff --git a/taglib/lib/pkgconfig/taglib.pc b/taglib/lib/pkgconfig/taglib.pc index ce332b3..f7b799a 100644 --- a/taglib/lib/pkgconfig/taglib.pc +++ b/taglib/lib/pkgconfig/taglib.pc @@ -1,11 +1,11 @@ -prefix=C:/taglib -exec_prefix=C:/taglib -libdir=C:/taglib/lib -includedir=C:/taglib/include +prefix=C:/Users/TaurusXin/Downloads/ncmdump/taglib +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include Name: TagLib Description: Audio meta-data library -Requires: -Version: 1.12 +Requires: +Version: 1.13.1 Libs: -L${libdir} -ltag Cflags: -I${includedir} -I${includedir}/taglib diff --git a/taglib/lib/pkgconfig/taglib_c.pc b/taglib/lib/pkgconfig/taglib_c.pc index b1fc695..68c15e7 100644 --- a/taglib/lib/pkgconfig/taglib_c.pc +++ b/taglib/lib/pkgconfig/taglib_c.pc @@ -1,12 +1,11 @@ -prefix=C:/taglib -exec_prefix=C:/taglib -libdir=C:/taglib/lib -includedir=C:/taglib/include - +prefix=C:/Users/TaurusXin/Downloads/ncmdump/taglib +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include Name: TagLib C Bindings Description: Audio meta-data library (C bindings) Requires: taglib -Version: 1.12 -Libs: -LC:/taglib/lib -ltag_c -Cflags: -IC:/taglib/include/taglib +Version: 1.13.1 +Libs: -L${libdir} -ltag_c +Cflags: -I${includedir}/taglib