diff --git a/Doxyfile.cmake b/Doxyfile.cmake
index 3c955f2a7..2f4b8b38f 100644
--- a/Doxyfile.cmake
+++ b/Doxyfile.cmake
@@ -12,7 +12,6 @@ OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
-OUTPUT_TEXT_DIRECTION = None
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
@@ -239,7 +238,6 @@ PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
-LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
LATEX_TIMESTAMP = NO
LATEX_EMOJI_DIRECTORY =
@@ -252,7 +250,6 @@ COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
-RTF_SOURCE_CODE = NO
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
@@ -273,7 +270,6 @@ XML_NS_MEMB_FILE_SCOPE = NO
#---------------------------------------------------------------------------
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
-DOCBOOK_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
@@ -309,7 +305,6 @@ EXTERNAL_PAGES = YES
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
diff --git a/bindings/README b/bindings/README
index bfbd44ae0..777910a81 100644
--- a/bindings/README
+++ b/bindings/README
@@ -2,5 +2,4 @@ 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
-
+https://taglib.org/#language-bindings
diff --git a/bindings/c/tag_c.h b/bindings/c/tag_c.h
index 641369911..44c855d62 100644
--- a/bindings/c/tag_c.h
+++ b/bindings/c/tag_c.h
@@ -164,7 +164,7 @@ TAGLIB_C_EXPORT TagLib_File *taglib_file_new_iostream(TagLib_IOStream *stream);
TAGLIB_C_EXPORT void taglib_file_free(TagLib_File *file);
/*!
- * Returns true if the file is open and readable and valid information for
+ * Returns \c true if the file is open and readable and valid information for
* the Tag and / or AudioProperties was found.
*/
diff --git a/taglib/ape/apefile.h b/taglib/ape/apefile.h
index 134e5fa27..1949bf376 100644
--- a/taglib/ape/apefile.h
+++ b/taglib/ape/apefile.h
@@ -48,7 +48,7 @@ namespace TagLib {
//! An implementation of APE metadata
/*!
- * This is implementation of APE metadata.
+ * this is an implementation of APE metadata.
*
* This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream
* properties from the file.
@@ -84,7 +84,7 @@ namespace TagLib {
};
/*!
- * Constructs an APE file from \a file. If \a readProperties is true the
+ * Constructs an APE file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* \note In the current implementation, \a propertiesStyle is ignored.
@@ -93,7 +93,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an APE file from \a stream. If \a readProperties is true the
+ * Constructs an APE file from \a stream. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* \note TagLib will *not* take ownership of the stream, the caller is
@@ -155,15 +155,15 @@ namespace TagLib {
/*!
* Returns a pointer to the ID3v1 tag of the file.
*
- * If \a create is false (the default) this may return a null pointer
- * if there is no valid ID3v1 tag. If \a create is true it will create
+ * If \a create is \c false (the default) this may return a null pointer
+ * if there is no valid ID3v1 tag. If \a create is \c true it will create
* an ID3v1 tag if one does not exist and returns a valid pointer.
*
* \note This may return a valid pointer regardless of whether or not the
* file on disk has an ID3v1 tag. Use hasID3v1Tag() to check if the file
* on disk actually has an ID3v1 tag.
*
- * \note The Tag is still owned by the MPEG::File and should not be
+ * \note The Tag is still owned by the APE::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -174,15 +174,15 @@ namespace TagLib {
/*!
* Returns a pointer to the APE tag of the file.
*
- * If \a create is false (the default) this may return a null pointer
- * if there is no valid APE tag. If \a create is true it will create
+ * If \a create is \c false (the default) this may return a null pointer
+ * if there is no valid APE tag. If \a create is \c true it will create
* an APE tag if one does not exist and returns a valid pointer.
*
* \note This may return a valid pointer regardless of whether or not the
* file on disk has an APE tag. Use hasAPETag() to check if the file
* on disk actually has an APE tag.
*
- * \note The Tag is still owned by the MPEG::File and should not be
+ * \note The Tag is still owned by the APE::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
diff --git a/taglib/ape/apefooter.h b/taglib/ape/apefooter.h
index 89b10d2c6..a516d855e 100644
--- a/taglib/ape/apefooter.h
+++ b/taglib/ape/apefooter.h
@@ -70,17 +70,17 @@ namespace TagLib {
unsigned int version() const;
/*!
- * Returns true if a header is present in the tag.
+ * Returns \c true if a header is present in the tag.
*/
bool headerPresent() const;
/*!
- * Returns true if a footer is present in the tag.
+ * Returns \c true if a footer is present in the tag.
*/
bool footerPresent() const;
/*!
- * Returns true this is actually the header.
+ * Returns \c true this is actually the header.
*/
bool isHeader() const;
@@ -145,8 +145,8 @@ namespace TagLib {
ByteVector renderFooter() const;
/*!
- * Renders the header corresponding to the footer. If headerPresent is
- * set to false, it returns an empty ByteVector.
+ * Renders the header corresponding to the footer. If headerPresent() is
+ * \c false, it returns an empty ByteVector.
*/
ByteVector renderHeader() const;
diff --git a/taglib/ape/apeitem.h b/taglib/ape/apeitem.h
index c672f653e..8e5e06646 100644
--- a/taglib/ape/apeitem.h
+++ b/taglib/ape/apeitem.h
@@ -63,7 +63,7 @@ namespace TagLib {
/*!
* Constructs an item with \a key and \a value.
- * If \a binary is true a Binary item will be created, otherwise \a value will be interpreted as text
+ * If \a binary is \c true a Binary item will be created, otherwise \a value will be interpreted as text
*/
Item(const String &key, const ByteVector &value, bool binary);
@@ -83,7 +83,7 @@ namespace TagLib {
Item &operator=(const Item &item);
/*!
- * Exchanges the content of this item by the content of \a item.
+ * Exchanges the content of this item with the content of \a item.
*/
void swap(Item &item) noexcept;
@@ -172,7 +172,7 @@ namespace TagLib {
void setReadOnly(bool readOnly);
/*!
- * Return true if the item is read-only.
+ * Return \c true if the item is read-only.
*/
bool isReadOnly() const;
@@ -189,7 +189,7 @@ namespace TagLib {
ItemTypes type() const;
/*!
- * Returns if the item has any real content.
+ * Returns \c false if the item has any real content.
*/
bool isEmpty() const;
diff --git a/taglib/ape/apetag.h b/taglib/ape/apetag.h
index a4d03c4f0..f3a528056 100644
--- a/taglib/ape/apetag.h
+++ b/taglib/ape/apetag.h
@@ -116,6 +116,7 @@ namespace TagLib {
*
* The only conversion done by this export function is to rename the APE tags
* TRACK to TRACKNUMBER, YEAR to DATE, and ALBUM ARTIST to ALBUMARTIST, respectively,
+ * (and a few other keys, see \ref p_propertymapping)
* in order to be compliant with the names used in other formats.
*/
PropertyMap properties() const override;
@@ -165,7 +166,7 @@ namespace TagLib {
/*!
* Adds to the text item specified by \a key the data \a value. If \a replace
- * is true, then all of the other values on the same key will be removed
+ * is \c true, then all of the other values on the same key will be removed
* first. If a binary item exists for \a key it will be removed first.
*/
void addValue(const String &key, const String &value, bool replace = true);
@@ -184,7 +185,7 @@ namespace TagLib {
void setItem(const String &key, const Item &item);
/*!
- * Returns true if the tag does not contain any data.
+ * Returns \c true if the tag does not contain any data.
*/
bool isEmpty() const override;
diff --git a/taglib/asf/asfattribute.h b/taglib/asf/asfattribute.h
index 5046065ae..7bb7ba613 100644
--- a/taglib/asf/asfattribute.h
+++ b/taglib/asf/asfattribute.h
@@ -38,6 +38,8 @@ namespace TagLib
class File;
class Picture;
+ //! Attribute of ASF (WMA) metadata
+
class TAGLIB_EXPORT Attribute
{
public:
@@ -114,7 +116,7 @@ namespace TagLib
Attribute &operator=(const Attribute &other);
/*!
- * Exchanges the content of the Attribute by the content of \a other.
+ * Exchanges the content of the Attribute with the content of \a other.
*/
void swap(Attribute &other) noexcept;
diff --git a/taglib/asf/asffile.h b/taglib/asf/asffile.h
index 5da96dc1b..ec3a9c9c9 100644
--- a/taglib/asf/asffile.h
+++ b/taglib/asf/asffile.h
@@ -35,6 +35,8 @@
namespace TagLib {
//! An implementation of ASF (WMA) metadata
namespace ASF {
+ //! An implementation of TagLib::File with ASF specific methods
+
/*!
* This implements and provides an interface for ASF files to the
* TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing
@@ -112,7 +114,7 @@ namespace TagLib {
/*!
* Save the file.
*
- * This returns true if the save was successful.
+ * This returns \c true if the save was successful.
*/
bool save() override;
diff --git a/taglib/asf/asfpicture.h b/taglib/asf/asfpicture.h
index 1102458a2..3703d14db 100644
--- a/taglib/asf/asfpicture.h
+++ b/taglib/asf/asfpicture.h
@@ -50,7 +50,7 @@ namespace TagLib
class TAGLIB_EXPORT Picture {
public:
- /*!
+ /*
* This describes the function or content of the picture.
*/
DECLARE_PICTURE_TYPE_ENUM(Type)
@@ -76,12 +76,12 @@ namespace TagLib
Picture& operator=(const Picture& other);
/*!
- * Exchanges the content of the Picture by the content of \a other.
+ * Exchanges the content of the Picture with the content of \a other.
*/
void swap(Picture &other) noexcept;
/*!
- * Returns true if Picture stores valid picture
+ * Returns \c true if Picture stores valid picture
*/
bool isValid() const;
@@ -136,7 +136,7 @@ namespace TagLib
/*!
* Returns the image data as a ByteVector.
*
- * \note ByteVector has a data() method that returns a const char * which
+ * \note ByteVector has a data() method that returns a const char * which
* should make it easy to export this data to external programs.
*
* \see setPicture()
diff --git a/taglib/asf/asftag.h b/taglib/asf/asftag.h
index d1150de34..7ac211ae3 100644
--- a/taglib/asf/asftag.h
+++ b/taglib/asf/asftag.h
@@ -39,6 +39,8 @@ namespace TagLib {
using AttributeList = List;
using AttributeListMap = Map;
+ //! An implementation of ASF (WMA) tags
+
class TAGLIB_EXPORT Tag : public TagLib::Tag {
friend class File;
@@ -64,7 +66,7 @@ namespace TagLib {
/*!
* Returns the album name; if no album name is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
String album() const override;
@@ -74,7 +76,7 @@ namespace TagLib {
String comment() const override;
/*!
- * Returns the genre name; if no genre is present in the tag String::null
+ * Returns the genre name; if no genre is present in the tag an empty string
* will be returned.
*/
String genre() const override;
@@ -85,7 +87,7 @@ namespace TagLib {
virtual String rating() const;
/*!
- * Returns the genre name; if no genre is present in the tag String::null
+ * Returns the genre name; if no genre is present in the tag an empty string
* will be returned.
*/
virtual String copyright() const;
@@ -112,7 +114,7 @@ namespace TagLib {
void setArtist(const String &value) override;
/*!
- * Sets the album to \a value. If \a value is String::null then this value will be
+ * Sets the album to \a value. If \a value is an empty string then this value will be
* cleared.
*/
void setAlbum(const String &value) override;
@@ -148,7 +150,7 @@ namespace TagLib {
void setTrack(unsigned int value) override;
/*!
- * Returns true if the tag does not contain any data. This should be
+ * Returns \c true if the tag does not contain any data. This should be
* reimplemented in subclasses that provide more than the basic tagging
* abilities in this class.
*/
@@ -168,7 +170,7 @@ namespace TagLib {
const AttributeListMap &attributeListMap() const;
/*!
- * \return True if a value for \a key is currently set.
+ * \return \c true if a value for \a key is currently set.
*/
bool contains(const String &key) const;
diff --git a/taglib/dsdiff/dsdifffile.h b/taglib/dsdiff/dsdifffile.h
index 4871423dc..bbfb2e008 100644
--- a/taglib/dsdiff/dsdifffile.h
+++ b/taglib/dsdiff/dsdifffile.h
@@ -36,20 +36,21 @@ namespace TagLib {
//! An implementation of DSDIFF metadata
/*!
- * This is implementation of DSDIFF metadata.
+ * This is an implementation of DSDIFF metadata.
*
* This supports an ID3v2 tag as well as reading stream from the ID3 RIFF
* chunk as well as properties from the file.
- * Description of the DSDIFF format is available
- * at http://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf
- * DSDIFF standard does not explicitly specify the ID3V2 chunk
- * It can be found at the root level, but also sometimes inside the PROP chunk
- * In addition, title and artist info are stored as part of the standard
+ * Description of the DSDIFF format is available at
+ *
+ * DSDIFF_1.5_Spec.pdf.
+ * The DSDIFF standard does not explicitly specify the ID3 chunk.
+ * It can be found at the root level, but also sometimes inside the PROP chunk.
+ * In addition, title and artist info are stored as part of the standard.
*/
namespace DSDIFF {
- //! An implementation of TagLib::File with DSDIFF specific methods
+ //! An implementation of TagLib::File with DSDIFF specific methods.
/*!
* This implements and provides an interface for DSDIFF files to the
@@ -78,7 +79,7 @@ namespace TagLib {
};
/*!
- * Constructs a DSDIFF file from \a file. If \a readProperties is true
+ * Constructs a DSDIFF file from \a file. If \a readProperties is \c true
* the file's audio properties will also be read.
*
* \note In the current implementation, \a propertiesStyle is ignored.
@@ -91,7 +92,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs an DSDIFF file from \a stream. If \a readProperties is true
+ * Constructs an DSDIFF file from \a stream. If \a readProperties is \c true
* the file's audio properties will also be read.
*
* If this file contains an ID3v2 tag, the frames will be created using
@@ -168,7 +169,7 @@ namespace TagLib {
/*!
* Save the file. If at least one tag -- ID3v1 or DIIN -- exists this
- * will duplicate its content into the other tag. This returns true
+ * will duplicate its content into the other tag. This returns \c true
* if saving was successful.
*
* If neither exists or if both tags are empty, this will strip the tags
@@ -177,7 +178,7 @@ namespace TagLib {
* This is the same as calling save(AllTags);
*
* If you would like more granular control over the content of the tags,
- * with the concession of generality, use paramaterized save call below.
+ * with the concession of generality, use parameterized save call below.
*
* \see save(int tags)
*/
@@ -193,7 +194,7 @@ namespace TagLib {
/*!
* 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
+ * file. By default it strips all tags. It returns \c true if the tags are
* successfully stripped.
*
* \note This will update the file immediately.
diff --git a/taglib/dsf/dsffile.cpp b/taglib/dsf/dsffile.cpp
index 384f4a3b3..de9572b47 100644
--- a/taglib/dsf/dsffile.cpp
+++ b/taglib/dsf/dsffile.cpp
@@ -31,8 +31,6 @@
using namespace TagLib;
-// The DSF specification is located at http://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf
-
class DSF::File::FilePrivate
{
public:
diff --git a/taglib/dsf/dsffile.h b/taglib/dsf/dsffile.h
index 2372bd421..289376959 100644
--- a/taglib/dsf/dsffile.h
+++ b/taglib/dsf/dsffile.h
@@ -36,7 +36,27 @@
#include "id3v2tag.h"
namespace TagLib {
+
+ //! An implementation of DSF metadata
+
+ /*!
+ * this is an implementation of DSF metadata using an ID3v2 tag inside the
+ * metadata chunk.
+ * The DSF specification is located at
+ * http://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf
+ */
+
namespace DSF {
+
+ //! An implementation of TagLib::File with DSF specific methods
+
+ /*!
+ * This implements and provides an interface for DSF files to the
+ * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing
+ * the abstract TagLib::File API as well as providing some additional
+ * information specific to DSF files.
+ */
+
class TAGLIB_EXPORT File : public TagLib::File {
public:
/*!
@@ -103,7 +123,7 @@ namespace TagLib {
/*!
* Save the file.
*
- * This returns true if the save was successful.
+ * This returns \c true if the save was successful.
*/
bool save() override;
diff --git a/taglib/dsf/dsfproperties.h b/taglib/dsf/dsfproperties.h
index f3ba730e4..ce2491b47 100644
--- a/taglib/dsf/dsfproperties.h
+++ b/taglib/dsf/dsfproperties.h
@@ -34,6 +34,7 @@
namespace TagLib {
namespace DSF {
+ //! An implementation of audio properties for DSF
class TAGLIB_EXPORT Properties : public AudioProperties {
public:
Properties(const ByteVector &data, ReadStyle style);
diff --git a/taglib/fileref.h b/taglib/fileref.h
index 749df48a6..e53eafe69 100644
--- a/taglib/fileref.h
+++ b/taglib/fileref.h
@@ -60,34 +60,12 @@ namespace TagLib {
{
public:
- //! A class for pluggable file type resolution.
+ //! A class for pluggable file type resolution.
- /*!
- * This class is used to extend TagLib's very basic file name based file
- * type resolution.
- *
- * This can be accomplished with:
- *
- * \code
- *
- * class MyFileTypeResolver : FileTypeResolver
- * {
- * TagLib::File *createFile(TagLib::FileName *fileName, bool, AudioProperties::ReadStyle) const
- * {
- * if(someCheckForAnMP3File(fileName))
- * return new TagLib::MPEG::File(fileName);
- * return 0;
- * }
- * }
- *
- * FileRef::addFileTypeResolver(new MyFileTypeResolver);
- *
- * \endcode
- *
- * Naturally a less contrived example would be slightly more complex. This
- * can be used to plug in mime-type detection systems or to add new file types
- * to TagLib.
- */
+ /*!
+ * %File type resolver, better implement StreamTypeResolver in order to
+ * support both file and stream resolution.
+ */
class TAGLIB_EXPORT FileTypeResolver
{
@@ -120,6 +98,44 @@ namespace TagLib {
std::unique_ptr d;
};
+ //! A class for pluggable stream type resolution.
+
+ /*!
+ * This class is used to extend TagLib's very basic file name based file
+ * type resolution.
+ *
+ * This can be accomplished with:
+ *
+ * \code
+ *
+ * class MyStreamTypeResolver : StreamTypeResolver
+ * {
+ * TagLib::File *createFile(TagLib::FileName *fileName, bool readProps,
+ * AudioProperties::ReadStyle readStyle) const override
+ * {
+ * if(someCheckForAnMP3File(fileName))
+ * return new TagLib::MPEG::File(fileName, readProps, readStyle);
+ * return nullptr;
+ * }
+ *
+ * TagLib::File *createFileFromStream(TagLib::IOStream *s, bool readProps,
+ * AudioProperties::ReadStyle readStyle) const override
+ * {
+ * if(someCheckForAnMP3Stream(s))
+ * return new TagLib::MPEG::File(s, readProps, readStyle);
+ * return nullptr;
+ * }
+ * }
+ *
+ * FileRef::addFileTypeResolver(new MyStreamTypeResolver);
+ *
+ * \endcode
+ *
+ * Naturally a less contrived example would be slightly more complex. This
+ * can be used to plug in mime-type detection systems or to add new file types
+ * to TagLib.
+ */
+
class TAGLIB_EXPORT StreamTypeResolver : public FileTypeResolver
{
public:
@@ -132,6 +148,17 @@ namespace TagLib {
StreamTypeResolver(const StreamTypeResolver &) = delete;
StreamTypeResolver &operator=(const StreamTypeResolver &) = delete;
+ /*!
+ * This method must be overridden to provide an additional stream type
+ * resolver. If the resolver is able to determine the file type it should
+ * return a valid File object; if not it should return nullptr.
+ *
+ * \note The created file is then owned by the FileRef and should not be
+ * deleted. Deletion will happen automatically when the FileRef passes
+ * out of scope.
+ *
+ * \see createFile()
+ */
virtual File *createFileFromStream(IOStream *stream,
bool readAudioProperties = true,
AudioProperties::ReadStyle
@@ -148,9 +175,9 @@ namespace TagLib {
FileRef();
/*!
- * Create a FileRef from \a fileName. If \a readAudioProperties is true then
+ * Create a FileRef from \a fileName. If \a readAudioProperties is \c true then
* the audio properties will be read using \a audioPropertiesStyle. If
- * \a readAudioProperties is false then \a audioPropertiesStyle will be
+ * \a readAudioProperties is \c false then \a audioPropertiesStyle will be
* ignored.
*
* Also see the note in the class documentation about why you may not want to
@@ -163,8 +190,8 @@ namespace TagLib {
/*!
* Construct a FileRef from an opened \a IOStream. If \a readAudioProperties
- * is true then the audio properties will be read using \a audioPropertiesStyle.
- * If \a readAudioProperties is false then \a audioPropertiesStyle will be
+ * is \c true then the audio properties will be read using \a audioPropertiesStyle.
+ * If \a readAudioProperties is \c false then \a audioPropertiesStyle will be
* ignored.
*
* Also see the note in the class documentation about why you may not want to
@@ -287,7 +314,7 @@ namespace TagLib {
/*!
* Returns the audio properties for this FileRef. If no audio properties
- * were read then this will returns a null pointer.
+ * were read then this will return a null pointer.
*/
AudioProperties *audioProperties() const;
@@ -309,7 +336,7 @@ namespace TagLib {
File *file() const;
/*!
- * Saves the file. Returns true on success.
+ * Saves the file. Returns \c true on success.
*/
bool save();
@@ -351,7 +378,7 @@ namespace TagLib {
static StringList defaultFileExtensions();
/*!
- * Returns true if the file (and as such other pointers) are null.
+ * Returns \c true if the file (and as such other pointers) are null.
*/
bool isNull() const;
@@ -361,17 +388,17 @@ namespace TagLib {
FileRef &operator=(const FileRef &ref);
/*!
- * Exchanges the content of the FileRef by the content of \a ref.
+ * Exchanges the content of the FileRef with the content of \a ref.
*/
void swap(FileRef &ref) noexcept;
/*!
- * Returns true if this FileRef and \a ref point to the same File object.
+ * Returns \c true if this FileRef and \a ref point to the same File object.
*/
bool operator==(const FileRef &ref) const;
/*!
- * Returns true if this FileRef and \a ref do not point to the same File
+ * Returns \c true if this FileRef and \a ref do not point to the same File
* object.
*/
bool operator!=(const FileRef &ref) const;
diff --git a/taglib/flac/flacfile.h b/taglib/flac/flacfile.h
index 0ee161b73..6ab4762ee 100644
--- a/taglib/flac/flacfile.h
+++ b/taglib/flac/flacfile.h
@@ -43,7 +43,7 @@ namespace TagLib {
//! An implementation of FLAC metadata
/*!
- * This is implementation of FLAC metadata for non-Ogg FLAC files. At some
+ * this is an implementation of FLAC metadata for non-Ogg FLAC files. At some
* point when Ogg / FLAC is more common there will be a similar implementation
* under the Ogg hierarchy.
*
@@ -83,7 +83,7 @@ namespace TagLib {
};
/*!
- * Constructs a FLAC file from \a file. If \a readProperties is true the
+ * Constructs a FLAC file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* \note In the current implementation, \a propertiesStyle is ignored.
@@ -96,13 +96,15 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs an FLAC file from \a file. If \a readProperties is true the
+ * Constructs an FLAC file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* If this file contains an ID3v2 tag, the frames will be created using
* \a frameFactory.
*
* \note In the current implementation, \a propertiesStyle is ignored.
+ *
+ * \deprecated Use the constructor above.
*/
TAGLIB_DEPRECATED
File(FileName file, ID3v2::FrameFactory *frameFactory,
@@ -110,7 +112,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs a FLAC file from \a stream. If \a readProperties is true the
+ * Constructs a FLAC file from \a stream. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* \note TagLib will *not* take ownership of the stream, the caller is
@@ -126,7 +128,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs a FLAC file from \a stream. If \a readProperties is true the
+ * Constructs a FLAC file from \a stream. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* \note TagLib will *not* take ownership of the stream, the caller is
@@ -136,6 +138,8 @@ namespace TagLib {
* \a frameFactory.
*
* \note In the current implementation, \a propertiesStyle is ignored.
+ *
+ * \deprecated Use the constructor above.
*/
TAGLIB_DEPRECATED
File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
@@ -207,22 +211,22 @@ namespace TagLib {
* will also keep any old ID3-tags up to date. If the file
* has no XiphComment, one will be constructed from the ID3-tags.
*
- * This returns true if the save was successful.
+ * This returns \c true if the save was successful.
*/
bool save() override;
/*!
* Returns a pointer to the ID3v2 tag of the file.
*
- * If \a create is false (the default) this returns a null pointer
- * if there is no valid ID3v2 tag. If \a create is true it will create
+ * If \a create is \c false (the default) this returns a null pointer
+ * if there is no valid ID3v2 tag. If \a create is \c true it will create
* an ID3v2 tag if one does not exist and returns a valid pointer.
*
* \note This may return a valid pointer regardless of whether or not the
* file on disk has an ID3v2 tag. Use hasID3v2Tag() to check if the file
* on disk actually has an ID3v2 tag.
*
- * \note The Tag is still owned by the MPEG::File and should not be
+ * \note The Tag is still owned by the FLAC::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -233,15 +237,15 @@ namespace TagLib {
/*!
* Returns a pointer to the ID3v1 tag of the file.
*
- * If \a create is false (the default) this returns a null pointer
- * if there is no valid APE tag. If \a create is true it will create
+ * If \a create is \c false (the default) this returns a null pointer
+ * if there is no valid APE tag. If \a create is \c true it will create
* an APE tag if one does not exist and returns a valid pointer.
*
* \note This may return a valid pointer regardless of whether or not the
* file on disk has an ID3v1 tag. Use hasID3v1Tag() to check if the file
* on disk actually has an ID3v1 tag.
*
- * \note The Tag is still owned by the MPEG::File and should not be
+ * \note The Tag is still owned by the FLAC::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -252,8 +256,8 @@ namespace TagLib {
/*!
* Returns a pointer to the XiphComment for the file.
*
- * If \a create is false (the default) this returns a null pointer
- * if there is no valid XiphComment. If \a create is true it will create
+ * If \a create is \c false (the default) this returns a null pointer
+ * if there is no valid XiphComment. If \a create is \c true it will create
* a XiphComment if one does not exist and returns a valid pointer.
*
* \note This may return a valid pointer regardless of whether or not the
@@ -274,8 +278,8 @@ namespace TagLib {
List