diff --git a/Doxyfile.cmake b/Doxyfile.cmake
index 3c955f2a..2f4b8b38 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 bfbd44ae..777910a8 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 64136991..44c855d6 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 134e5fa2..1949bf37 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 89b10d2c..a516d855 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 c672f653..8e5e0664 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 a4d03c4f..f3a52805 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 5046065a..7bb7ba61 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 5da96dc1..ec3a9c9c 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 1102458a..3703d14d 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 d1150de3..7ac211ae 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 4871423d..bbfb2e00 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 384f4a3b..de9572b4 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 2372bd42..28937695 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 f3ba730e..ce2491b4 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 749df48a..e53eafe6 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 0ee161b7..6ab4762e 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 pictureList();
/*!
- * Removes an attached picture. If \a del is true the picture's memory
- * will be freed; if it is false, it must be deleted by the user.
+ * Removes an attached picture. If \a del is \c true the picture's memory
+ * will be freed; if it is \c false, it must be deleted by the user.
*/
void removePicture(Picture *picture, bool del = true);
diff --git a/taglib/flac/flacmetadatablock.h b/taglib/flac/flacmetadatablock.h
index e69a6b04..150c5b54 100644
--- a/taglib/flac/flacmetadatablock.h
+++ b/taglib/flac/flacmetadatablock.h
@@ -32,6 +32,7 @@
namespace TagLib {
namespace FLAC {
+ //! FLAC metadata block
class TAGLIB_EXPORT MetadataBlock
{
public:
diff --git a/taglib/flac/flacpicture.h b/taglib/flac/flacpicture.h
index eb2a630e..c83867ee 100644
--- a/taglib/flac/flacpicture.h
+++ b/taglib/flac/flacpicture.h
@@ -35,11 +35,12 @@
namespace TagLib {
namespace FLAC {
+ //! FLAC picture
class TAGLIB_EXPORT Picture : public MetadataBlock
{
public:
- /*!
+ /*
* This describes the function or content of the picture.
*/
DECLARE_PICTURE_TYPE_ENUM(Type)
diff --git a/taglib/flac/flacunknownmetadatablock.h b/taglib/flac/flacunknownmetadatablock.h
index d50354d4..e1adfb75 100644
--- a/taglib/flac/flacunknownmetadatablock.h
+++ b/taglib/flac/flacunknownmetadatablock.h
@@ -33,6 +33,7 @@
namespace TagLib {
namespace FLAC {
+ //! Unknown FLAC metadata block
class TAGLIB_EXPORT UnknownMetadataBlock : public MetadataBlock
{
public:
diff --git a/taglib/it/itfile.h b/taglib/it/itfile.h
index c7f340d2..8ed8e95b 100644
--- a/taglib/it/itfile.h
+++ b/taglib/it/itfile.h
@@ -31,8 +31,23 @@
namespace TagLib {
+ //! An implementation of Impulse Tracker metadata
+
+ /*!
+ * this is an implementation of Impulse Tracker metadata.
+ */
+
namespace IT {
+ //! An implementation of TagLib::File with IT specific methods
+
+ /*!
+ * This implements and provides an interface for IT 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 IT files.
+ */
+
class TAGLIB_EXPORT File : public Mod::FileBase {
public:
/*!
diff --git a/taglib/it/itproperties.h b/taglib/it/itproperties.h
index 1d118b43..0aa149a3 100644
--- a/taglib/it/itproperties.h
+++ b/taglib/it/itproperties.h
@@ -31,6 +31,7 @@
namespace TagLib {
namespace IT {
+ //! An implementation of audio property reading for IT
class TAGLIB_EXPORT Properties : public AudioProperties {
public:
/*! Flag bits. */
diff --git a/taglib/mod/modfile.h b/taglib/mod/modfile.h
index f7cd13c9..8f654c99 100644
--- a/taglib/mod/modfile.h
+++ b/taglib/mod/modfile.h
@@ -34,7 +34,24 @@
#include "modproperties.h"
namespace TagLib {
+
+ //! An implementation of Protracker metadata
+
+ /*!
+ * this is an implementation of Protracker metadata.
+ */
+
namespace Mod {
+
+ //! An implementation of TagLib::File with Mod specific methods
+
+ /*!
+ * This implements and provides an interface for Mod 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 Mod files.
+ */
+
class TAGLIB_EXPORT File : public TagLib::Mod::FileBase
{
public:
diff --git a/taglib/mod/modfilebase.h b/taglib/mod/modfilebase.h
index 75fceab1..c3839f18 100644
--- a/taglib/mod/modfilebase.h
+++ b/taglib/mod/modfilebase.h
@@ -36,6 +36,7 @@
namespace TagLib {
namespace Mod {
+ //! Base class for module files
class TAGLIB_EXPORT FileBase : public TagLib::File
{
public:
diff --git a/taglib/mod/modproperties.h b/taglib/mod/modproperties.h
index 0cd5384e..325b1e5a 100644
--- a/taglib/mod/modproperties.h
+++ b/taglib/mod/modproperties.h
@@ -31,6 +31,7 @@
namespace TagLib {
namespace Mod {
+ //! An implementation of audio property reading for Mod
class TAGLIB_EXPORT Properties : public AudioProperties
{
public:
diff --git a/taglib/mod/modtag.h b/taglib/mod/modtag.h
index 974b1caf..53f40faa 100644
--- a/taglib/mod/modtag.h
+++ b/taglib/mod/modtag.h
@@ -30,6 +30,9 @@
namespace TagLib {
namespace Mod {
+
+ //! A module file tag implementation
+
/*!
* Tags for module files (Mod, S3M, IT, XM).
*
@@ -53,29 +56,29 @@ namespace TagLib {
/*!
* Returns the track name; if no track name is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
String title() const override;
/*!
- * Not supported by module files. Therefore always returns String::null.
+ * Not supported by module files. Therefore always returns an empty string.
*/
String artist() const override;
/*!
- * Not supported by module files. Therefore always returns String::null.
+ * Not supported by module files. Therefore always returns an empty string.
*/
String album() const override;
/*!
* Returns the track comment derived from the instrument/sample/pattern
- * names; if no comment is present in the tag String::null will be
+ * names; if no comment is present in the tag an empty string will be
* returned.
*/
String comment() const override;
/*!
- * Not supported by module files. Therefore always returns String::null.
+ * Not supported by module files. Therefore always returns an empty string.
*/
String genre() const override;
@@ -94,12 +97,12 @@ namespace TagLib {
* Only XM files store this tag to the file as such, for other formats
* (Mod, S3M, IT) this is derived from the file type or the flavour of
* the file type. Therefore only XM files might have an empty
- * (String::null) tracker name.
+ * tracker name.
*/
String trackerName() const;
/*!
- * Sets the title to \a title. If \a title is String::null then this
+ * Sets the title to \a title. If \a title is an empty string then this
* value will be cleared.
*
* The length limits per file type are (1 character = 1 byte):
@@ -119,7 +122,7 @@ namespace TagLib {
void setAlbum(const String &album) override;
/*!
- * Sets the comment to \a comment. If \a comment is String::null then
+ * Sets the comment to \a comment. If \a comment is an empty string then
* this value will be cleared.
*
* Note that module file formats don't actually support a comment tag.
@@ -154,7 +157,7 @@ namespace TagLib {
/*!
* Sets the tracker name to \a trackerName. If \a trackerName is
- * String::null then this value will be cleared.
+ * an empty string then this value will be cleared.
*
* Note that only XM files support this tag. Setting the
* tracker name for other module file formats will be ignored.
diff --git a/taglib/mp4/mp4atom.h b/taglib/mp4/mp4atom.h
index cad6cab6..4fbf9e2d 100644
--- a/taglib/mp4/mp4atom.h
+++ b/taglib/mp4/mp4atom.h
@@ -33,12 +33,8 @@
#include "tfile.h"
#include "tlist.h"
-#ifndef DO_NOT_DOCUMENT
-
namespace TagLib {
namespace MP4 {
- class Atom;
- using AtomList = TagLib::List;
enum AtomDataType {
TypeImplicit = 0, // for use with tags for which no type needs to be indicated because only one type is allowed
@@ -64,6 +60,7 @@ namespace TagLib {
TypeUndefined = 255 // undefined
};
+#ifndef DO_NOT_DOCUMENT
struct AtomData {
AtomData(AtomDataType type, const ByteVector &data) :
type(type), data(data) { }
@@ -72,6 +69,8 @@ namespace TagLib {
ByteVector data;
};
+ class Atom;
+ using AtomList = TagLib::List;
using AtomDataList = TagLib::List;
class TAGLIB_EXPORT Atom
@@ -116,9 +115,8 @@ namespace TagLib {
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr d;
};
+#endif // DO_NOT_DOCUMENT
} // namespace MP4
} // namespace TagLib
#endif
-
-#endif
diff --git a/taglib/mp4/mp4coverart.h b/taglib/mp4/mp4coverart.h
index 253b1bdb..ec17e687 100644
--- a/taglib/mp4/mp4coverart.h
+++ b/taglib/mp4/mp4coverart.h
@@ -33,6 +33,7 @@
namespace TagLib {
namespace MP4 {
+ //! MP4 picture
class TAGLIB_EXPORT CoverArt
{
public:
@@ -58,7 +59,7 @@ namespace TagLib {
CoverArt &operator=(const CoverArt &item);
/*!
- * Exchanges the content of the CoverArt by the content of \a item.
+ * Exchanges the content of the CoverArt with the content of \a item.
*/
void swap(CoverArt &item) noexcept;
diff --git a/taglib/mp4/mp4file.h b/taglib/mp4/mp4file.h
index c29c9d89..faf215e4 100644
--- a/taglib/mp4/mp4file.h
+++ b/taglib/mp4/mp4file.h
@@ -38,6 +38,7 @@ namespace TagLib {
class Atoms;
class ItemFactory;
+ //! An implementation of TagLib::File with MP4 specific methods
/*!
* This implements and provides an interface for MP4 files to the
@@ -62,7 +63,7 @@ namespace TagLib {
};
/*!
- * Constructs an MP4 file from \a file. If \a readProperties is true the
+ * Constructs an MP4 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.
@@ -74,7 +75,7 @@ namespace TagLib {
ItemFactory *itemFactory = nullptr);
/*!
- * Constructs an MP4 file from \a stream. If \a readProperties is true the
+ * Constructs an MP4 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
@@ -132,13 +133,13 @@ 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;
/*!
* 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/mp4/mp4item.h b/taglib/mp4/mp4item.h
index 962691c9..f584f009 100644
--- a/taglib/mp4/mp4item.h
+++ b/taglib/mp4/mp4item.h
@@ -32,6 +32,7 @@
namespace TagLib {
namespace MP4 {
+ //! MP4 item
class TAGLIB_EXPORT Item
{
public:
@@ -48,7 +49,7 @@ namespace TagLib {
Item &operator=(const Item &item);
/*!
- * Exchanges the content of the Item by the content of \a item.
+ * Exchanges the content of the Item with the content of \a item.
*/
void swap(Item &item) noexcept;
diff --git a/taglib/mp4/mp4tag.h b/taglib/mp4/mp4tag.h
index c1da3362..297e24dd 100644
--- a/taglib/mp4/mp4tag.h
+++ b/taglib/mp4/mp4tag.h
@@ -40,6 +40,7 @@ namespace TagLib {
class ItemFactory;
+ //! An MP4 tag implementation
class TAGLIB_EXPORT Tag: public TagLib::Tag
{
public:
@@ -91,7 +92,7 @@ namespace TagLib {
void removeItem(const String &key);
/*!
- * \return True if the tag contains an entry for \a key.
+ * \return \c true if the tag contains an entry for \a key.
*/
bool contains(const String &key) const;
diff --git a/taglib/mpc/mpcfile.h b/taglib/mpc/mpcfile.h
index 66c22961..76de2bb5 100644
--- a/taglib/mpc/mpcfile.h
+++ b/taglib/mpc/mpcfile.h
@@ -42,7 +42,7 @@ namespace TagLib {
//! An implementation of MPC metadata
/*!
- * This is implementation of MPC metadata.
+ * this is an implementation of MPC metadata.
*
* This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream
* properties from the file. ID3v2 tags are invalid in MPC-files, but will be skipped
@@ -82,7 +82,7 @@ namespace TagLib {
};
/*!
- * Constructs an MPC file from \a file. If \a readProperties is true the
+ * Constructs an MPC 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 +91,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an MPC file from \a stream. If \a readProperties is true the
+ * Constructs an MPC 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
@@ -141,22 +141,22 @@ namespace TagLib {
/*!
* Saves the file.
*
- * 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 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 MPC::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -167,8 +167,8 @@ 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. If
* there already be an ID3v1 tag, the new APE tag will be placed before it.
*
@@ -176,7 +176,7 @@ namespace TagLib {
* 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 MPC::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
diff --git a/taglib/mpc/mpcproperties.h b/taglib/mpc/mpcproperties.h
index 2e098439..dd7e15d4 100644
--- a/taglib/mpc/mpcproperties.h
+++ b/taglib/mpc/mpcproperties.h
@@ -50,7 +50,7 @@ namespace TagLib {
public:
/*!
* Create an instance of MPC::Properties with the data read directly
- * from a MPC::File.
+ * from an MPC::File.
*/
Properties(File *file, offset_t streamLength, ReadStyle style = Average);
diff --git a/taglib/mpeg/id3v1/id3v1tag.h b/taglib/mpeg/id3v1/id3v1tag.h
index 8a780f14..469061f1 100644
--- a/taglib/mpeg/id3v1/id3v1tag.h
+++ b/taglib/mpeg/id3v1/id3v1tag.h
@@ -38,7 +38,7 @@ namespace TagLib {
namespace ID3v1 {
- //! A abstraction for the string to data encoding in ID3v1 tags.
+ //! An abstraction for the string to data encoding in ID3v1 tags.
/*!
* ID3v1 should in theory always contain ISO-8859-1 (Latin1) data. In
diff --git a/taglib/mpeg/id3v2/frames/attachedpictureframe.h b/taglib/mpeg/id3v2/frames/attachedpictureframe.h
index 490dbb07..3e65beed 100644
--- a/taglib/mpeg/id3v2/frames/attachedpictureframe.h
+++ b/taglib/mpeg/id3v2/frames/attachedpictureframe.h
@@ -50,7 +50,7 @@ namespace TagLib {
public:
- /*!
+ /*
* This describes the function or content of the picture.
*/
DECLARE_PICTURE_TYPE_ENUM(Type)
@@ -67,7 +67,7 @@ namespace TagLib {
explicit AttachedPictureFrame(const ByteVector &data);
/*!
- * Destroys the AttahcedPictureFrame instance.
+ * Destroys the AttachedPictureFrame instance.
*/
~AttachedPictureFrame() override;
@@ -150,7 +150,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/mpeg/id3v2/frames/chapterframe.h b/taglib/mpeg/id3v2/frames/chapterframe.h
index ea4a6767..62cb13a5 100644
--- a/taglib/mpeg/id3v2/frames/chapterframe.h
+++ b/taglib/mpeg/id3v2/frames/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 embeddedFrames;
+ * \a embeddedFrames.
*
* All times are in milliseconds.
*/
@@ -153,7 +153,7 @@ namespace TagLib {
void setEndOffset(const unsigned int &eO);
/*!
- * Returns a reference to the frame list map. This is an FrameListMap of
+ * Returns a reference to the frame list map. This is a FrameListMap of
* all of the frames embedded in the CHAP frame.
*
* This is the most convenient structure for accessing the CHAP frame's
@@ -169,11 +169,11 @@ namespace TagLib {
const FrameListMap &embeddedFrameListMap() const;
/*!
- * Returns a reference to the embedded frame list. This is an FrameList
+ * Returns a reference to the embedded frame list. This is a FrameList
* of all of the frames embedded in the CHAP frame in the order that they
* were parsed.
*
- * This can be useful if for example you want iterate over the CHAP frame's
+ * This can be useful if for example you want to iterate over the CHAP frame's
* embedded frames in the order that they occur in the CHAP frame.
*
* \warning You should not modify this data structure directly, instead
@@ -204,8 +204,8 @@ namespace TagLib {
void addEmbeddedFrame(Frame *frame);
/*!
- * Remove an embedded frame from the CHAP frame. If \a del is true the frame's
- * memory will be freed; if it is false, it must be deleted by the user.
+ * Remove an embedded frame from the CHAP frame. If \a del is \c true the frame's
+ * memory will be freed; if it is \c false, it must be deleted by the user.
*
* \note Using this method will invalidate any pointers on the list
* returned by embeddedFrameList()
diff --git a/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h b/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h
index 8dc8f864..f70976af 100644
--- a/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h
+++ b/taglib/mpeg/id3v2/frames/eventtimingcodesframe.h
@@ -137,7 +137,7 @@ namespace TagLib {
EventTimingCodesFrame &operator=(const EventTimingCodesFrame &) = delete;
/*!
- * Returns a null string.
+ * Returns an empty string.
*/
String toString() const override;
diff --git a/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h b/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h
index 9d0b76c6..d4562dea 100644
--- a/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h
+++ b/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h
@@ -151,7 +151,7 @@ namespace TagLib {
/*!
* Returns the object 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 setObject()
diff --git a/taglib/mpeg/id3v2/frames/ownershipframe.cpp b/taglib/mpeg/id3v2/frames/ownershipframe.cpp
index b2a6a073..01918b87 100644
--- a/taglib/mpeg/id3v2/frames/ownershipframe.cpp
+++ b/taglib/mpeg/id3v2/frames/ownershipframe.cpp
@@ -127,7 +127,7 @@ void OwnershipFrame::parseFields(const ByteVector &data)
d->textEncoding = static_cast(data[0]);
pos += 1;
- // Read the price paid this is a null terminate string
+ // Read the price paid, this is a null terminated string
d->pricePaid = readStringField(data, String::Latin1, &pos);
// If we don't have at least 8 bytes left then don't parse the rest of the
diff --git a/taglib/mpeg/id3v2/frames/ownershipframe.h b/taglib/mpeg/id3v2/frames/ownershipframe.h
index dddbfd04..0d04744d 100644
--- a/taglib/mpeg/id3v2/frames/ownershipframe.h
+++ b/taglib/mpeg/id3v2/frames/ownershipframe.h
@@ -51,7 +51,7 @@ namespace TagLib {
explicit OwnershipFrame(String::Type encoding = String::Latin1);
/*!
- * Construct a ownership based on the data in \a data.
+ * Construct an ownership frame based on the data in \a data.
*/
explicit OwnershipFrame(const ByteVector &data);
diff --git a/taglib/mpeg/id3v2/frames/podcastframe.h b/taglib/mpeg/id3v2/frames/podcastframe.h
index c63e8fa9..da151433 100644
--- a/taglib/mpeg/id3v2/frames/podcastframe.h
+++ b/taglib/mpeg/id3v2/frames/podcastframe.h
@@ -56,7 +56,7 @@ namespace TagLib {
PodcastFrame &operator=(const PodcastFrame &) = delete;
/*!
- * Returns a null string.
+ * Returns an empty string.
*/
String toString() const override;
diff --git a/taglib/mpeg/id3v2/frames/privateframe.h b/taglib/mpeg/id3v2/frames/privateframe.h
index b8002573..ddc4a31b 100644
--- a/taglib/mpeg/id3v2/frames/privateframe.h
+++ b/taglib/mpeg/id3v2/frames/privateframe.h
@@ -34,7 +34,7 @@ namespace TagLib {
namespace ID3v2 {
- //! An implementation of ID3v2 privateframe
+ //! An implementation of ID3v2 private frame
class TAGLIB_EXPORT PrivateFrame : public Frame
{
diff --git a/taglib/mpeg/id3v2/frames/tableofcontentsframe.h b/taglib/mpeg/id3v2/frames/tableofcontentsframe.h
index 0c12c20d..1e457f23 100644
--- a/taglib/mpeg/id3v2/frames/tableofcontentsframe.h
+++ b/taglib/mpeg/id3v2/frames/tableofcontentsframe.h
@@ -78,7 +78,7 @@ namespace TagLib {
ByteVector elementID() const;
/*!
- * Returns true, if the frame is top-level (doesn't have
+ * Returns \c true, if the frame is top-level (doesn't have
* any parent CTOC frame).
*
* \see setIsTopLevel()
@@ -86,7 +86,7 @@ namespace TagLib {
bool isTopLevel() const;
/*!
- * Returns true, if the child elements list entries
+ * Returns \c true, if the child elements list entries
* are ordered.
*
* \see setIsOrdered()
@@ -153,7 +153,7 @@ namespace TagLib {
void removeChildElement(const ByteVector &cE);
/*!
- * Returns a reference to the frame list map. This is an FrameListMap of
+ * Returns a reference to the frame list map. This is a FrameListMap of
* all of the frames embedded in the CTOC frame.
*
* This is the most convenient structure for accessing the CTOC frame's
@@ -169,11 +169,11 @@ namespace TagLib {
const FrameListMap &embeddedFrameListMap() const;
/*!
- * Returns a reference to the embedded frame list. This is an FrameList
+ * Returns a reference to the embedded frame list. This is a FrameList
* of all of the frames embedded in the CTOC frame in the order that they
* were parsed.
*
- * This can be useful if for example you want iterate over the CTOC frame's
+ * This can be useful if for example you want to iterate over the CTOC frame's
* embedded frames in the order that they occur in the CTOC frame.
*
* \warning You should not modify this data structure directly, instead
@@ -204,8 +204,8 @@ namespace TagLib {
void addEmbeddedFrame(Frame *frame);
/*!
- * Remove an embedded frame from the CTOC frame. If \a del is true the frame's
- * memory will be freed; if it is false, it must be deleted by the user.
+ * Remove an embedded frame from the CTOC frame. If \a del is \c true the frame's
+ * memory will be freed; if it is \c false, it must be deleted by the user.
*
* \note Using this method will invalidate any pointers on the list
* returned by embeddedFrameList()
diff --git a/taglib/mpeg/id3v2/frames/textidentificationframe.h b/taglib/mpeg/id3v2/frames/textidentificationframe.h
index 0d175456..1dbcdc09 100644
--- a/taglib/mpeg/id3v2/frames/textidentificationframe.h
+++ b/taglib/mpeg/id3v2/frames/textidentificationframe.h
@@ -59,7 +59,7 @@ namespace TagLib {
* TDTG Tagging time
* TENC Encoded by
* TEXT Lyricist/Text writer
- * TFLT File type
+ * TFLT %File type
* TIPL Involved people list
* TIT1 Content group description
* TIT2 Title/songname/content description
@@ -74,7 +74,7 @@ namespace TagLib {
* TOFN Original filename
* TOLY Original lyricist(s)/text writer(s)
* TOPE Original artist(s)/performer(s)
- * TOWN File owner/licensee
+ * TOWN %File owner/licensee
* TPE1 Lead performer(s)/Soloist(s)
* TPE2 Band/orchestra/accompaniment
* TPE3 Conductor/performer refinement
diff --git a/taglib/mpeg/id3v2/frames/unknownframe.h b/taglib/mpeg/id3v2/frames/unknownframe.h
index 233d7f6e..213e6fd8 100644
--- a/taglib/mpeg/id3v2/frames/unknownframe.h
+++ b/taglib/mpeg/id3v2/frames/unknownframe.h
@@ -37,7 +37,7 @@ namespace TagLib {
/*!
* This class represents a frame type not known (or more often simply
- * unimplemented) in TagLib. This is here provide a basic API for
+ * unimplemented) in TagLib. This is here to provide a basic API for
* manipulating the binary data of unknown frames and to provide a means
* of rendering such \e unknown frames.
*
diff --git a/taglib/mpeg/id3v2/id3v2.h b/taglib/mpeg/id3v2/id3v2.h
index 6dfba5fb..aa6b4bc4 100644
--- a/taglib/mpeg/id3v2/id3v2.h
+++ b/taglib/mpeg/id3v2/id3v2.h
@@ -8,6 +8,16 @@ namespace TagLib {
* This is a relatively complete and flexible framework for working with ID3v2
* tags.
*
+ * More information about ID3v2 tags can be found at
+ * -
+ * id3v2.2.0.txt
+ * -
+ * id3v2.3.0.txt
+ * -
+ * id3v2.4.0-structure.txt
+ * -
+ * id3v2.4.0-frames.txt
+ *
* \see ID3v2::Tag
*/
namespace ID3v2 {
diff --git a/taglib/mpeg/id3v2/id3v2extendedheader.h b/taglib/mpeg/id3v2/id3v2extendedheader.h
index 2113b8a3..3b57925e 100644
--- a/taglib/mpeg/id3v2/id3v2extendedheader.h
+++ b/taglib/mpeg/id3v2/id3v2extendedheader.h
@@ -42,7 +42,8 @@ namespace TagLib {
* the ID3v2 standard. The API is based on the properties of ID3v2 extended
* headers specified there. If any of the terms used in this documentation
* are unclear please check the specification in the linked section.
- * (Structure, 3.2)
+ * (
+ * id3v2.4.0-structure.txt, 3.2)
*/
class TAGLIB_EXPORT ExtendedHeader
diff --git a/taglib/mpeg/id3v2/id3v2frame.h b/taglib/mpeg/id3v2/id3v2frame.h
index ed1c2177..fc2976de 100644
--- a/taglib/mpeg/id3v2/id3v2frame.h
+++ b/taglib/mpeg/id3v2/id3v2frame.h
@@ -45,10 +45,12 @@ namespace TagLib {
/*!
* This class is the main ID3v2 frame implementation. In ID3v2, a tag is
* split between a collection of frames (which are in turn split into fields
- * (Structure, 4)
- * (Frames). This class provides an API for
+ * (
+ * id3v2.4.0-structure.txt, 4)
+ * (
+ * id3v2.4.0-frames.txt). This class provides an API for
* gathering information about and modifying ID3v2 frames. Functionality
- * specific to a given frame type is handed in one of the many subclasses.
+ * specific to a given frame type is handled in one of the many subclasses.
*/
class TAGLIB_EXPORT Frame
@@ -67,8 +69,11 @@ namespace TagLib {
Frame &operator=(const Frame &) = delete;
/*!
- * Returns the Frame ID (Structure, 4)
- * (Frames, 4)
+ * Returns the Frame ID
+ * (
+ * id3v2.4.0-structure.txt, 4)
+ * (
+ * id3v2.4.0-frames.txt, 4)
*/
ByteVector frameID() const;
@@ -177,7 +182,7 @@ namespace TagLib {
explicit Frame(const ByteVector &data);
/*!
- * This creates an Frame using the header \a h.
+ * This creates a Frame using the header \a h.
*
* The ownership of this header will be assigned to the frame and the
* header will be deleted when the frame is destroyed.
@@ -185,7 +190,7 @@ namespace TagLib {
Frame(Header *h);
/*!
- * Sets the header to \a h. If \a deleteCurrent is true, this will free
+ * Sets the header to \a h. If \a deleteCurrent is \c true, this will free
* the memory of the current header.
*
* The ownership of this header will be assigned to the frame and the
@@ -229,7 +234,7 @@ namespace TagLib {
int *position = nullptr);
/*!
- * Checks a the list of string values to see if they can be used with the
+ * Checks the list of string values to see if they can be used with the
* specified encoding and returns the recommended encoding. This method
* also checks the ID3v2 version and makes sure the encoding can be used
* in the version specified by the frame's header.
@@ -271,7 +276,9 @@ namespace TagLib {
//! ID3v2 frame header implementation
/*!
- * The ID3v2 Frame Header (Structure, 4)
+ * The ID3v2 Frame Header
+ * (
+ * id3v2.4.0-structure.txt, 4)
*
* Every ID3v2::Frame has an associated header that gives some general
* properties of the frame and also makes it possible to identify the frame
@@ -309,8 +316,11 @@ namespace TagLib {
void setData(const ByteVector &data, unsigned int version = 4);
/*!
- * Returns the Frame ID (Structure, 4)
- * (Frames, 4)
+ * Returns the Frame ID
+ * (
+ * id3v2.4.0-structure.txt, 4)
+ * (
+ * id3v2.4.0-frames.txt, 4)
*/
ByteVector frameID() const;
@@ -353,7 +363,7 @@ namespace TagLib {
unsigned int size();
/*!
- * Returns true if the flag for tag alter preservation is set.
+ * Returns \c true if the flag for tag alter preservation is set.
*
* The semantics are a little backwards from what would seem natural
* (setting the preservation flag to throw away the frame), but this
@@ -365,7 +375,7 @@ namespace TagLib {
/*!
* Sets the flag for preservation of this frame if the tag is set. If
- * this is set to true the frame will not be written when the tag is
+ * this is set to \c true the frame will not be written when the tag is
* saved.
*
* The semantics are a little backwards from what would seem natural
@@ -377,47 +387,47 @@ namespace TagLib {
void setTagAlterPreservation(bool preserve);
/*!
- * Returns true if the flag for file alter preservation is set.
+ * Returns \c true if the flag for file alter preservation is set.
*
* \note This flag is currently ignored internally in TagLib.
*/
bool fileAlterPreservation() const;
/*!
- * Returns true if the frame is meant to be read only.
+ * Returns \c true if the frame is meant to be read only.
*
* \note This flag is currently ignored internally in TagLib.
*/
bool readOnly() const;
/*!
- * Returns true if the flag for the grouping identity is set.
+ * Returns \c true if the flag for the grouping identity is set.
*
* \note This flag is currently ignored internally in TagLib.
*/
bool groupingIdentity() const;
/*!
- * Returns true if compression is enabled for this frame.
+ * Returns \c true if compression is enabled for this frame.
*
* \note This flag is currently ignored internally in TagLib.
*/
bool compression() const;
/*!
- * Returns true if encryption is enabled for this frame.
+ * Returns \c true if encryption is enabled for this frame.
*
* \note This flag is currently ignored internally in TagLib.
*/
bool encryption() const;
/*!
- * Returns true if unsynchronisation is enabled for this frame.
+ * Returns \c true if unsynchronisation is enabled for this frame.
*/
bool unsynchronisation() const;
/*!
- * Returns true if the flag for a data length indicator is set.
+ * Returns \c true if the flag for a data length indicator is set.
*/
bool dataLengthIndicator() const;
diff --git a/taglib/mpeg/id3v2/id3v2framefactory.h b/taglib/mpeg/id3v2/id3v2framefactory.h
index 13c4aed9..8f6c579e 100644
--- a/taglib/mpeg/id3v2/id3v2framefactory.h
+++ b/taglib/mpeg/id3v2/id3v2framefactory.h
@@ -50,14 +50,15 @@ namespace TagLib {
* 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.
- * See \c testFrameFactory() in \e tests/test_mpeg.cpp for an example.
+ * See
+ * tests/test_id3v2framefactory.cpp for an example.
*
* This implements both abstract factory and singleton patterns
* of which more information is available on the web and in software design
- * textbooks (Notably Design Patterns).
+ * textbooks (notably Design Patterns).
*
* \note You do not need to use this factory to create new frames to add to
- * an ID3v2::Tag. You can instantiate frame subclasses directly (with new)
+ * an ID3v2::Tag. You can instantiate frame subclasses directly (with \c new)
* and add them to a tag using ID3v2::Tag::addFrame()
*
* \see ID3v2::Tag::addFrame()
@@ -115,7 +116,7 @@ namespace TagLib {
void setDefaultTextEncoding(String::Type encoding);
/*!
- * Returns true if defaultTextEncoding() is used.
+ * Returns \c true if defaultTextEncoding() is used.
* The default text encoding is used when setDefaultTextEncoding() has
* been called. In this case, reimplementations of FrameFactory should
* use defaultTextEncoding() on the frames (having a text encoding field)
@@ -144,8 +145,8 @@ namespace TagLib {
* is not compatible with the current standard, this method either updates
* the frame or indicates that it should be discarded.
*
- * This method with return true (with or without changes to the frame) if
- * this frame should be kept or false if it should be discarded.
+ * This method with return \c true (with or without changes to the frame) if
+ * this frame should be kept or \c false if it should be discarded.
*
* See the id3v2.4.0-changes.txt document for further information.
*/
@@ -157,7 +158,7 @@ namespace TagLib {
* \param data data of the frame (might be modified)
* \param tagHeader the tag header
* \return {header, ok}: header is a created frame header or nullptr
- * if the frame is invalid; ok is true if the frame is supported.
+ * if the frame is invalid; ok is \c true if the frame is supported.
*/
std::pair prepareFrameHeader(
ByteVector &data, const Header *tagHeader) const;
diff --git a/taglib/mpeg/id3v2/id3v2header.h b/taglib/mpeg/id3v2/id3v2header.h
index 1c6313c9..53a22ee7 100644
--- a/taglib/mpeg/id3v2/id3v2header.h
+++ b/taglib/mpeg/id3v2/id3v2header.h
@@ -42,7 +42,8 @@ namespace TagLib {
* the ID3v2 standard. The API is based on the properties of ID3v2 headers
* specified there. If any of the terms used in this documentation are
* unclear please check the specification in the linked section.
- * (Structure, 3.1)
+ * (
+ * id3v2.4.0-structure.txt, 3.1)
*/
class TAGLIB_EXPORT Header
@@ -91,22 +92,22 @@ namespace TagLib {
unsigned int revisionNumber() const;
/*!
- * Returns true if unsynchronisation has been applied to all frames.
+ * Returns \c true if unsynchronisation has been applied to all frames.
*/
bool unsynchronisation() const;
/*!
- * Returns true if an extended header is present in the tag.
+ * Returns \c true if an extended header is present in the tag.
*/
bool extendedHeader() const;
/*!
- * Returns true if the experimental indicator flag is set.
+ * Returns \c true if the experimental indicator flag is set.
*/
bool experimentalIndicator() 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;
/*!
diff --git a/taglib/mpeg/id3v2/id3v2synchdata.h b/taglib/mpeg/id3v2/id3v2synchdata.h
index 0edce13b..c91774ff 100644
--- a/taglib/mpeg/id3v2/id3v2synchdata.h
+++ b/taglib/mpeg/id3v2/id3v2synchdata.h
@@ -47,8 +47,9 @@ namespace TagLib {
{
/*!
* This returns the unsigned integer value of \a data where \a data is a
- * ByteVector that contains a \e synchsafe integer (Structure,
- * 6.2). The default \a length of
+ * ByteVector that contains a \e synchsafe integer
+ * (
+ * id3v2.4.0-structure.txt, 6.2). The default \a length of
* 4 is used if another value is not specified.
*/
TAGLIB_EXPORT unsigned int toUInt(const ByteVector &data);
diff --git a/taglib/mpeg/id3v2/id3v2tag.h b/taglib/mpeg/id3v2/id3v2tag.h
index 3cf4fb73..929cb309 100644
--- a/taglib/mpeg/id3v2/id3v2tag.h
+++ b/taglib/mpeg/id3v2/id3v2tag.h
@@ -88,18 +88,18 @@ namespace TagLib {
/*!
* This is the main class in the ID3v2 implementation. It serves two
- * functions. This first, as is obvious from the public API, is to provide a
+ * functions. The first, as is obvious from the public API, is to provide a
* container for the other ID3v2 related classes. In addition, through the
* read() and parse() protected methods, it provides the most basic level of
* parsing. In these methods the ID3v2 tag is extracted from the file and
* split into data components.
*
* ID3v2 tags have several parts, TagLib attempts to provide an interface
- * for them all. header(), footer() and extendedHeader() correspond to those
+ * for them all. header() and extendedHeader() correspond to those
* data structures in the ID3v2 standard and the APIs for the classes that
* they return attempt to reflect this.
*
- * Also ID3v2 tags are built up from a list of frames, which are in turn
+ * Also ID3v2 tags are built up from a list of frames, which
* have a header and a list of fields. TagLib provides two ways of accessing
* the list of frames that are in a given ID3v2 tag. The first is simply
* via the frameList() method. This is just a list of pointers to the frames.
@@ -126,7 +126,7 @@ namespace TagLib {
* with said spec (which is distributed with the TagLib sources). TagLib
* tries to do most of the work, but with a little luck, you can still
* convince it to generate invalid ID3v2 tags. The APIs for ID3v2 assume a
- * working knowledge of ID3v2 structure. You're been warned.
+ * working knowledge of ID3v2 structure. You've been warned.
*/
class TAGLIB_EXPORT Tag : public TagLib::Tag
@@ -194,7 +194,7 @@ namespace TagLib {
ExtendedHeader *extendedHeader() const;
/*!
- * Returns a reference to the frame list map. This is an FrameListMap of
+ * Returns a reference to the frame list map. This is a FrameListMap of
* all of the frames in the tag.
*
* This is the most convenient structure for accessing the tag's frames.
@@ -230,10 +230,10 @@ namespace TagLib {
const FrameListMap &frameListMap() const;
/*!
- * Returns a reference to the frame list. This is an FrameList of all of
+ * Returns a reference to the frame list. This is a FrameList of all of
* the frames in the tag in the order that they were parsed.
*
- * This can be useful if for example you want iterate over the tag's frames
+ * This can be useful if for example you want to iterate over the tag's frames
* in the order that they occur in the tag.
*
* \warning You should not modify this data structure directly, instead
@@ -264,8 +264,8 @@ namespace TagLib {
void addFrame(Frame *frame);
/*!
- * Remove a frame from the tag. If \a del is true the frame's memory
- * will be freed; if it is false, it must be deleted by the user.
+ * Remove a frame from the tag. If \a del is \c true the frame's memory
+ * will be freed; if it is \c false, it must be deleted by the user.
*
* \note Using this method will invalidate any pointers on the list
* returned by frameList()
diff --git a/taglib/mpeg/mpegfile.h b/taglib/mpeg/mpegfile.h
index 70872943..3c3e62d2 100644
--- a/taglib/mpeg/mpegfile.h
+++ b/taglib/mpeg/mpegfile.h
@@ -71,7 +71,7 @@ namespace TagLib {
};
/*!
- * Constructs an MPEG file from \a file. If \a readProperties is true the
+ * Constructs an MPEG file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read.
*
* If \a propertiesStyle is not Fast, the file will be scanned
@@ -85,7 +85,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs an MPEG file from \a file. If \a readProperties is true the
+ * Constructs an MPEG 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
@@ -93,6 +93,8 @@ namespace TagLib {
*
* If \a propertiesStyle is not Fast, the file will be scanned
* completely if no ID3v2 tag or MPEG sync code is found at the start.
+ *
+ * \deprecated Use the constructor above.
*/
TAGLIB_DEPRECATED
File(FileName file, ID3v2::FrameFactory *frameFactory,
@@ -100,7 +102,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an MPEG file from \a stream. If \a readProperties is true the
+ * Constructs an MPEG 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
@@ -120,7 +122,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs an MPEG file from \a stream. If \a readProperties is true the
+ * Constructs an MPEG 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
@@ -131,6 +133,8 @@ namespace TagLib {
*
* If \a propertiesStyle is not Fast, the file will be scanned
* completely if no ID3v2 tag or MPEG sync code is found at the start.
+ *
+ * \deprecated Use the constructor above.
*/
TAGLIB_DEPRECATED
File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
@@ -192,7 +196,7 @@ namespace TagLib {
/*!
* Save the file. If at least one tag -- ID3v1 or ID3v2 -- 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
@@ -217,7 +221,7 @@ namespace TagLib {
* \a version specifies the ID3v2 version to be used for writing tags. By
* default, the latest standard, ID3v2.4 is used.
*
- * If \a duplicate is set to DuplicateTags and at least one tag -- ID3v1
+ * If \a duplicate is set to Duplicate and at least one tag -- ID3v1
* or ID3v2 -- exists this will duplicate its content into the other tag.
*/
bool save(int tags, StripTags strip = StripOthers,
@@ -227,8 +231,8 @@ namespace TagLib {
/*!
* Returns a pointer to the ID3v2 tag of the file.
*
- * If \a create is false (the default) this may return 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 may return 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
@@ -246,8 +250,8 @@ 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
@@ -265,8 +269,8 @@ 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
@@ -283,10 +287,10 @@ 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.
*
- * If \a freeMemory is true the ID3 and APE tags will be deleted and
+ * If \a freeMemory is \c true the ID3 and APE tags will be deleted and
* pointers to them will be invalidated.
*
* \note This will update the file immediately.
@@ -300,13 +304,13 @@ namespace TagLib {
/*!
* Returns the position in the file of the next MPEG frame,
- * using the current position as start
+ * using the current position as start.
*/
offset_t nextFrameOffset(offset_t position);
/*!
* Returns the position in the file of the previous MPEG frame,
- * using the current position as start
+ * using the current position as start.
*/
offset_t previousFrameOffset(offset_t position);
diff --git a/taglib/mpeg/mpegheader.h b/taglib/mpeg/mpegheader.h
index 41260e9c..23365698 100644
--- a/taglib/mpeg/mpegheader.h
+++ b/taglib/mpeg/mpegheader.h
@@ -42,9 +42,12 @@ namespace TagLib {
/*!
* This is an implementation of MPEG Layer III headers. The API follows more
- * or less the binary format of these headers. I've used
- * this
- * document as a reference.
+ * or less the binary format of these headers.
+ *
+ * See these documents as a reference
+ * -
+ * MPEG Audio Layer I/II/III frame header
+ * - ADTS
*/
class TAGLIB_EXPORT Header
@@ -53,7 +56,7 @@ namespace TagLib {
/*!
* Parses an MPEG header based on \a file and \a offset.
*
- * \note If \a checkLength is true, this requires the next MPEG frame to
+ * \note If \a checkLength is \c true, this requires the next MPEG frame to
* check if the frame length is parsed and calculated correctly. So it's
* suitable for seeking for the first valid frame.
*/
@@ -70,7 +73,7 @@ namespace TagLib {
virtual ~Header();
/*!
- * Returns true if the frame is at least an appropriate size and has
+ * Returns \c true if the frame is at least an appropriate size and has
* legal values.
*/
bool isValid() const;
@@ -100,7 +103,7 @@ namespace TagLib {
int layer() const;
/*!
- * Returns true if the MPEG protection bit is enabled.
+ * Returns \c true if the MPEG protection bit is enabled.
*/
bool protectionEnabled() const;
@@ -115,7 +118,7 @@ namespace TagLib {
int sampleRate() const;
/*!
- * Returns true if the frame is padded.
+ * Returns \c true if the frame is padded.
*/
bool isPadded() const;
@@ -143,13 +146,24 @@ namespace TagLib {
* MPEG-4 channel configuration.
*/
enum ChannelConfiguration {
+ //! Defined in audio object type (AOT) specific configuration
Custom = 0,
+ //! 1 channel: front-center
FrontCenter = 1,
+ //! 2 channels: front-left, front-right
FrontLeftRight = 2,
+ //! 3 channels: front-center, front-left, front-right
FrontCenterLeftRight = 3,
+ //! 4 channels: front-center, front-left, front-right, back-center
FrontCenterLeftRightBackCenter = 4,
+ //! 5 channels: front-center, front-left, front-right, back-left,
+ //! back-right
FrontCenterLeftRightBackLeftRight = 5,
+ //! 6 channels: front-center, front-left, front-right, back-left,
+ //! back-right, LFE-channel
FrontCenterLeftRightBackLeftRightLFE = 6,
+ //! 8 channels: front-center, front-left, front-right, side-left,
+ //! side-right, back-left, back-right, LFE-channel
FrontCenterLeftRightSideLeftRightBackLeftRightLFE = 7
};
@@ -159,18 +173,18 @@ namespace TagLib {
ChannelConfiguration channelConfiguration() const;
/*!
- * Returns true if this is the header of an Audio Data Transport Stream
+ * Returns \c true if this is the header of an Audio Data Transport Stream
* (ADTS), usually AAC.
*/
bool isADTS() const;
/*!
- * Returns true if the copyrighted bit is set.
+ * Returns \c true if the copyrighted bit is set.
*/
bool isCopyrighted() const;
/*!
- * Returns true if the "original" bit is set.
+ * Returns \c true if the "original" bit is set.
*/
bool isOriginal() const;
diff --git a/taglib/mpeg/mpegproperties.h b/taglib/mpeg/mpegproperties.h
index 3b7c7e6e..c92a3b03 100644
--- a/taglib/mpeg/mpegproperties.h
+++ b/taglib/mpeg/mpegproperties.h
@@ -100,7 +100,7 @@ namespace TagLib {
int layer() const;
/*!
- * Returns true if the MPEG protection bit is enabled.
+ * Returns \c true if the MPEG protection bit is enabled.
*/
bool protectionEnabled() const;
@@ -115,17 +115,17 @@ namespace TagLib {
Header::ChannelConfiguration channelConfiguration() const;
/*!
- * Returns true for an Audio Data Transport Stream (ADTS), usually AAC.
+ * Returns \c true for an Audio Data Transport Stream (ADTS), usually AAC.
*/
bool isADTS() const;
/*!
- * Returns true if the copyrighted bit is set.
+ * Returns \c true if the copyrighted bit is set.
*/
bool isCopyrighted() const;
/*!
- * Returns true if the "original" bit is set.
+ * Returns \c true if the "original" bit is set.
*/
bool isOriginal() const;
diff --git a/taglib/mpeg/xingheader.h b/taglib/mpeg/xingheader.h
index 25e664c5..88128d00 100644
--- a/taglib/mpeg/xingheader.h
+++ b/taglib/mpeg/xingheader.h
@@ -45,8 +45,8 @@ namespace TagLib {
* to make it easy to compute the length and quality of a VBR stream. Our
* implementation is only concerned with the total size of the stream (so
* that we can calculate the total playing time and the average bitrate).
- * It uses
- * this text and the XMMS sources as references.
+ * It uses
+ * mp3extensions.txt and the XMMS sources as references.
*/
class TAGLIB_EXPORT XingHeader
@@ -88,7 +88,7 @@ namespace TagLib {
XingHeader &operator=(const XingHeader &) = delete;
/*!
- * Returns true if the data was parsed properly and if there is a valid
+ * Returns \c true if the data was parsed properly and if there is a valid
* Xing/VBRI header present.
*/
bool isValid() const;
diff --git a/taglib/ogg/flac/oggflacfile.h b/taglib/ogg/flac/oggflacfile.h
index 4d4d4d51..0ca26875 100644
--- a/taglib/ogg/flac/oggflacfile.h
+++ b/taglib/ogg/flac/oggflacfile.h
@@ -40,7 +40,7 @@ namespace TagLib {
//! An implementation of Ogg FLAC metadata
/*!
- * This is implementation of FLAC metadata for Ogg FLAC files. For "pure"
+ * this is an implementation of FLAC metadata for Ogg FLAC files. For "pure"
* FLAC files look under the FLAC hierarchy.
*
* Unlike "pure" FLAC-files, Ogg FLAC only supports Xiph-comments,
@@ -63,7 +63,7 @@ namespace TagLib {
{
public:
/*!
- * Constructs an Ogg/FLAC file from \a file. If \a readProperties is true
+ * Constructs an Ogg/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.
@@ -72,7 +72,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an Ogg/FLAC file from \a stream. If \a readProperties is true
+ * Constructs an Ogg/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
@@ -98,7 +98,7 @@ namespace TagLib {
* the file on disk has a XiphComment. Use hasXiphComment() to check if
* the file on disk actually has a XiphComment.
*
- * \note The Tag is still owned by the FLAC::File and should not be
+ * \note The Tag is still owned by the Ogg::FLAC::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -128,7 +128,7 @@ namespace TagLib {
/*!
* Save the file. This will primarily save and update the XiphComment.
- * Returns true if the save is successful.
+ * Returns \c true if the save is successful.
*/
bool save() override;
diff --git a/taglib/ogg/oggpage.h b/taglib/ogg/oggpage.h
index 4fc9f5a4..f0696836 100644
--- a/taglib/ogg/oggpage.h
+++ b/taglib/ogg/oggpage.h
@@ -174,7 +174,7 @@ namespace TagLib {
* Pack \a packets into Ogg pages using the \a strategy for pagination.
* The page number indicator inside of the rendered packets will start
* with \a firstPage and be incremented for each page rendered.
- * \a containsLastPacket should be set to true if \a packets contains the
+ * \a containsLastPacket should be set to \c true if \a packets contains the
* last page in the stream and will set the appropriate flag in the last
* rendered Ogg page's header. \a streamSerialNumber should be set to
* the serial number for this stream.
diff --git a/taglib/ogg/oggpageheader.h b/taglib/ogg/oggpageheader.h
index b177c55d..6b61196d 100644
--- a/taglib/ogg/oggpageheader.h
+++ b/taglib/ogg/oggpageheader.h
@@ -63,7 +63,7 @@ namespace TagLib {
PageHeader &operator=(const PageHeader &) = delete;
/*!
- * Returns true if the header parsed properly and is valid.
+ * Returns \c true if the header parsed properly and is valid.
*/
bool isValid() const;
@@ -87,7 +87,7 @@ namespace TagLib {
/*!
* Some packets can be continued across multiple pages. If the
* first packet in the current page is a continuation this will return
- * true. If this is page starts with a new packet this will return false.
+ * \c true. If this is page starts with a new packet this will return \c false.
*
* \see lastPacketCompleted()
* \see setFirstPacketContinued()
@@ -103,7 +103,7 @@ namespace TagLib {
void setFirstPacketContinued(bool continued);
/*!
- * Returns true if the last packet of this page is completely contained in
+ * Returns \c true if the last packet of this page is completely contained in
* this page.
*
* \see firstPacketContinued()
@@ -120,7 +120,7 @@ namespace TagLib {
void setLastPacketCompleted(bool completed);
/*!
- * This returns true if this is the first page of the Ogg (logical) stream.
+ * This returns \c true if this is the first page of the Ogg (logical) stream.
*
* \see setFirstPageOfStream()
*/
@@ -134,7 +134,7 @@ namespace TagLib {
void setFirstPageOfStream(bool first);
/*!
- * This returns true if this is the last page of the Ogg (logical) stream.
+ * This returns \c true if this is the last page of the Ogg (logical) stream.
*
* \see setLastPageOfStream()
*/
diff --git a/taglib/ogg/opus/opusfile.h b/taglib/ogg/opus/opusfile.h
index 0d8a8975..9918bbca 100644
--- a/taglib/ogg/opus/opusfile.h
+++ b/taglib/ogg/opus/opusfile.h
@@ -55,7 +55,7 @@ namespace TagLib {
{
public:
/*!
- * Constructs an Opus file from \a file. If \a readProperties is true the
+ * Constructs an Opus 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.
@@ -64,7 +64,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an Opus file from \a stream. If \a readProperties is true the
+ * Constructs an Opus 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
@@ -111,7 +111,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/ogg/speex/speexfile.h b/taglib/ogg/speex/speexfile.h
index 771e9ab2..284f2ca4 100644
--- a/taglib/ogg/speex/speexfile.h
+++ b/taglib/ogg/speex/speexfile.h
@@ -55,7 +55,7 @@ namespace TagLib {
{
public:
/*!
- * Constructs a Speex file from \a file. If \a readProperties is true the
+ * Constructs a Speex 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.
@@ -64,7 +64,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs a Speex file from \a stream. If \a readProperties is true the
+ * Constructs a Speex 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
@@ -111,7 +111,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/ogg/vorbis/vorbisfile.h b/taglib/ogg/vorbis/vorbisfile.h
index c69a5a21..10f0ec94 100644
--- a/taglib/ogg/vorbis/vorbisfile.h
+++ b/taglib/ogg/vorbis/vorbisfile.h
@@ -64,7 +64,7 @@ namespace TagLib {
{
public:
/*!
- * Constructs a Vorbis file from \a file. If \a readProperties is true the
+ * Constructs a Vorbis 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.
@@ -73,7 +73,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs a Vorbis file from \a stream. If \a readProperties is true the
+ * Constructs a Vorbis 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
@@ -121,7 +121,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/ogg/xiphcomment.h b/taglib/ogg/xiphcomment.h
index 39ee6447..13becb5d 100644
--- a/taglib/ogg/xiphcomment.h
+++ b/taglib/ogg/xiphcomment.h
@@ -184,7 +184,7 @@ namespace TagLib {
/*!
* Add the field specified by \a key with the data \a value. If \a replace
- * is true, then all of the other fields with the same key will be removed
+ * is \c true, then all of the other fields with the same key will be removed
* first.
*
* If the field value is empty, the field will be removed.
@@ -213,7 +213,7 @@ namespace TagLib {
void removeAllFields();
/*!
- * Returns true if the field is contained within the comment.
+ * Returns \c true if the field is contained within the comment.
*
* \note This is safer than checking for membership in the FieldListMap.
*/
@@ -222,7 +222,7 @@ namespace TagLib {
/*!
* Renders the comment to a ByteVector suitable for inserting into a file.
*
- * If \a addFramingBit is true the standard Vorbis comment framing bit will
+ * If \a addFramingBit is \c true the standard Vorbis comment framing bit will
* be appended. However some formats (notably FLAC) do not work with this
* in place.
*/
@@ -235,8 +235,8 @@ namespace TagLib {
List pictureList();
/*!
- * Removes an picture. If \a del is true the picture's memory
- * will be freed; if it is false, it must be deleted by the user.
+ * Removes an picture. If \a del is \c true the picture's memory
+ * will be freed; if it is \c false, it must be deleted by the user.
*/
void removePicture(FLAC::Picture *picture, bool del = true);
diff --git a/taglib/riff/aiff/aifffile.h b/taglib/riff/aiff/aifffile.h
index 0a0cee35..4619ae5c 100644
--- a/taglib/riff/aiff/aifffile.h
+++ b/taglib/riff/aiff/aifffile.h
@@ -37,7 +37,7 @@ namespace TagLib {
//! An implementation of AIFF metadata
/*!
- * This is implementation of AIFF metadata.
+ * this is an implementation of AIFF metadata.
*
* This supports an ID3v2 tag as well as reading stream from the ID3 RIFF
* chunk as well as properties from the file.
@@ -58,7 +58,7 @@ namespace TagLib {
{
public:
/*!
- * Constructs an AIFF file from \a file. If \a readProperties is true the
+ * Constructs an AIFF 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.
@@ -71,7 +71,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs an AIFF file from \a stream. If \a readProperties is true the
+ * Constructs an AIFF 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
diff --git a/taglib/riff/aiff/aiffproperties.h b/taglib/riff/aiff/aiffproperties.h
index 72cdc563..2c8f9100 100644
--- a/taglib/riff/aiff/aiffproperties.h
+++ b/taglib/riff/aiff/aiffproperties.h
@@ -94,7 +94,7 @@ namespace TagLib {
unsigned int sampleFrames() const;
/*!
- * Returns true if the file is in AIFF-C format, false if AIFF format.
+ * Returns \c true if the file is in AIFF-C format, \c false if AIFF format.
*/
bool isAiffC() const;
diff --git a/taglib/riff/rifffile.h b/taglib/riff/rifffile.h
index 78ed38e4..3dd4cf56 100644
--- a/taglib/riff/rifffile.h
+++ b/taglib/riff/rifffile.h
@@ -119,7 +119,7 @@ namespace TagLib {
* given name already exists it will be overwritten, otherwise it will be
* created after the existing chunks.
*
- * \note If \a alwaysCreate is true, a new chunk is created regardless of
+ * \note If \a alwaysCreate is \c true, a new chunk is created regardless of
* whether or not the chunk \a name exists. It should only be used for
* "LIST" chunks.
*
diff --git a/taglib/riff/wav/infotag.h b/taglib/riff/wav/infotag.h
index db506e42..95b0451e 100644
--- a/taglib/riff/wav/infotag.h
+++ b/taglib/riff/wav/infotag.h
@@ -37,13 +37,13 @@ namespace TagLib {
class File;
- //! A RIFF INFO tag implementation.
namespace RIFF {
+ //! A RIFF INFO tag implementation.
namespace Info {
using FieldListMap = Map;
- //! A abstraction for the string to data encoding in Info tags.
+ //! An abstraction for the string to data encoding in Info tags.
/*!
* RIFF INFO tag has no clear definitions about character encodings.
@@ -84,7 +84,7 @@ namespace TagLib {
std::unique_ptr d;
};
- //! The main class in the ID3v2 implementation
+ //! The main class in the INFO tag implementation
/*!
* This is the main class in the INFO tag implementation. RIFF INFO tag is a
@@ -147,22 +147,22 @@ namespace TagLib {
*/
FieldListMap fieldListMap() const;
- /*
+ /*!
* Gets the value of the field with the ID \a id.
*/
String fieldText(const ByteVector &id) const;
- /*
- * Sets the value of the field with the ID \a id to \a s.
- * If the field does not exist, it is created.
- * If \s is empty, the field is removed.
- *
- * \note fieldId must be four-byte long pure ASCII string. This function
- * performs nothing if fieldId is invalid.
- */
+ /*!
+ * Sets the value of the field with the ID \a id to \a s.
+ * If the field does not exist, it is created.
+ * If \a s is empty, the field is removed.
+ *
+ * \note fieldId must be four-byte long pure ASCII string. This function
+ * performs nothing if fieldId is invalid.
+ */
void setFieldText(const ByteVector &id, const String &s);
- /*
+ /*!
* Removes the field with the ID \a id.
*/
void removeField(const ByteVector &id);
diff --git a/taglib/riff/wav/wavfile.h b/taglib/riff/wav/wavfile.h
index cfb4de80..b457563a 100644
--- a/taglib/riff/wav/wavfile.h
+++ b/taglib/riff/wav/wavfile.h
@@ -38,7 +38,7 @@ namespace TagLib {
//! An implementation of WAV metadata
/*!
- * This is implementation of WAV metadata.
+ * this is an implementation of WAV metadata.
*
* This supports an ID3v2 tag as well as reading stream from the ID3 RIFF
* chunk as well as properties from the file.
@@ -70,7 +70,7 @@ namespace TagLib {
};
/*!
- * Constructs a WAV file from \a file. If \a readProperties is true the
+ * Constructs a WAV 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.
@@ -83,7 +83,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs a WAV file from \a stream. If \a readProperties is true the
+ * Constructs a WAV 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,7 +136,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/s3m/s3mfile.h b/taglib/s3m/s3mfile.h
index 690d397f..f50bc0f9 100644
--- a/taglib/s3m/s3mfile.h
+++ b/taglib/s3m/s3mfile.h
@@ -35,8 +35,23 @@
namespace TagLib {
+ //! An implementation of ScreamTracker III metadata
+
+ /*!
+ * this is an implementation of ScreamTracker III metadata.
+ */
+
namespace S3M {
+ //! An implementation of TagLib::File with S3M specific methods
+
+ /*!
+ * This implements and provides an interface for S3M 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 S3M files.
+ */
+
class TAGLIB_EXPORT File : public Mod::FileBase {
public:
/*!
diff --git a/taglib/s3m/s3mproperties.h b/taglib/s3m/s3mproperties.h
index d6c74d28..8b3feb1f 100644
--- a/taglib/s3m/s3mproperties.h
+++ b/taglib/s3m/s3mproperties.h
@@ -31,6 +31,7 @@
namespace TagLib {
namespace S3M {
+ //! An implementation of audio property reading for S3M
class TAGLIB_EXPORT Properties : public AudioProperties {
public:
/*! Flag bits. */
diff --git a/taglib/tag.h b/taglib/tag.h
index 24d73c4e..ed9a53ed 100644
--- a/taglib/tag.h
+++ b/taglib/tag.h
@@ -33,7 +33,9 @@
namespace TagLib {
- //! A simple, generic interface to common audio meta data fields
+ class PropertyMap;
+
+ //! A simple, generic interface to common audio meta data fields.
/*!
* This is an attempt to abstract away the difference in the meta data formats
@@ -43,8 +45,6 @@ namespace TagLib {
* in TagLib::AudioProperties, TagLib::File and TagLib::FileRef.
*/
- class PropertyMap;
-
class TAGLIB_EXPORT Tag
{
public:
@@ -125,30 +125,30 @@ namespace TagLib {
/*!
* Returns the track name; if no track name is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
virtual String title() const = 0;
/*!
* Returns the artist name; if no artist name is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
virtual String artist() const = 0;
/*!
* Returns the album name; if no album name is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
virtual String album() const = 0;
/*!
* Returns the track comment; if no comment is present in the tag
- * String::null will be returned.
+ * an empty string will be returned.
*/
virtual String comment() const = 0;
/*!
- * 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 genre() const = 0;
@@ -165,31 +165,31 @@ namespace TagLib {
virtual unsigned int track() const = 0;
/*!
- * Sets the title to \a s. If \a s is String::null then this value will be
+ * Sets the title to \a s. If \a s is an empty string then this value will be
* cleared.
*/
virtual void setTitle(const String &s) = 0;
/*!
- * Sets the artist to \a s. If \a s is String::null then this value will be
+ * Sets the artist to \a s. If \a s is an empty string then this value will be
* cleared.
*/
virtual void setArtist(const String &s) = 0;
/*!
- * Sets the album to \a s. If \a s is String::null then this value will be
+ * Sets the album to \a s. If \a s is an empty string then this value will be
* cleared.
*/
virtual void setAlbum(const String &s) = 0;
/*!
- * Sets the comment to \a s. If \a s is String::null then this value will be
+ * Sets the comment to \a s. If \a s is an empty string then this value will be
* cleared.
*/
virtual void setComment(const String &s) = 0;
/*!
- * Sets the genre to \a s. If \a s is String::null then this value will be
+ * Sets the genre to \a s. If \a s is an empty string then this value will be
* cleared. For tag formats that use a fixed set of genres, the appropriate
* value will be selected based on a string comparison. A list of available
* genres for those formats should be available in that type's
@@ -208,7 +208,7 @@ namespace TagLib {
virtual void setTrack(unsigned int i) = 0;
/*!
- * 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.
*/
@@ -222,8 +222,8 @@ namespace TagLib {
* set, this will not modify or copy that. This just copies using the API
* in this class.
*
- * If \a overwrite is true then the values will be unconditionally copied.
- * If false only empty values will be overwritten.
+ * If \a overwrite is \c true then the values will be unconditionally copied.
+ * If \c false only empty values will be overwritten.
*/
static void duplicate(const Tag *source, Tag *target, bool overwrite = true);
diff --git a/taglib/toolkit/taglib.h b/taglib/toolkit/taglib.h
index 8d65c1ea..a53a871a 100644
--- a/taglib/toolkit/taglib.h
+++ b/taglib/toolkit/taglib.h
@@ -78,7 +78,7 @@ namespace TagLib {
#endif
/*!
- * Unfortunately std::wstring isn't defined on some systems, (i.e. GCC < 3)
+ * Unfortunately \c std::wstring isn't defined on some systems, (i.e. GCC < 3)
* so I'm providing something here that should be constant.
*/
using wstring = std::basic_string;
@@ -89,7 +89,7 @@ namespace TagLib {
*
* \section intro Introduction
*
- * TagLib is a library for reading and editing audio meta data, commonly know as \e tags.
+ * TagLib is a library for reading and editing audio meta data, commonly known as \e tags.
*
* Features:
* - A clean, high level, C++ API to handling audio meta data.
@@ -109,8 +109,8 @@ namespace TagLib {
* TagLib originally was written to provide an updated and improved ID3v2 implementation in C++ for use
* in a variety of Open Source projects. Since development began in 2002 and the 1.0 release in 2004
* it has expanded to cover a wide variety of tag and file formats and is used in a wide variety of
- * Open Source and proprietary applications. It now supports a variety of UNIXes, including Apple's OS
- * X, as well as Microsoft Windows.
+ * Open Source and proprietary applications. It now supports a variety of UNIXes, including Apple's
+ * macOS, as well as Microsoft Windows.
*
* \section commercial Usage in Commercial Applications
*
@@ -138,15 +138,17 @@ namespace TagLib {
*
* TagLib provides both simple, abstract APIs which make it possible to ignore the differences between tagging
* formats and format specific APIs which allow programmers to work with the features of specific tagging
- * schemes. There is a similar abstraction mechanism for AudioProperties.
+ * schemes. There is a similar abstraction mechanism for \link TagLib::AudioProperties AudioProperties \endlink.
*
- * The best place to start is with the Class Hierarchy linked at the top of the page. The File and
- * AudioProperties classes and their subclasses are the core of TagLib. The FileRef class is also a convenient
- * way for using a value-based handle.
+ * The best place to start is with the Class Hierarchy linked at the top of the page.
+ * The \link TagLib::File File \endlink and \link TagLib::AudioProperties AudioProperties \endlink
+ * classes and their subclasses are the core of TagLib. The \link TagLib::FileRef FileRef \endlink
+ * class is also a convenient way for using a value-based handle.
*
- * \note When working with FileRef please consider that it has only the most basic (extension-based) file
- * type resolution. Please see its documentation on how to plug in more advanced file type resolution. (Such
- * resolution may be part of later TagLib releases by default.)
+ * \note When working with \link TagLib::FileRef FileRef \endlink please consider that it has only
+ * the most basic (extension-based) file type resolution. Please see its documentation on how to
+ * plug in more advanced file type resolution.
+ * (Such resolution may be part of later TagLib releases by default.)
*
* Here's a very simple example with TagLib:
*
@@ -186,7 +188,7 @@ namespace TagLib {
* f.save();
* \endcode
*
- * An additional \link FileRef::complexProperties() abstraction \endlink is
+ * An additional \link TagLib::FileRef::complexProperties() abstraction \endlink is
* provided to handle complex (i.e. non textual) properties.
*
* \code {.cpp}
diff --git a/taglib/toolkit/tbytevector.h b/taglib/toolkit/tbytevector.h
index 918bbd9f..4a5b790c 100644
--- a/taglib/toolkit/tbytevector.h
+++ b/taglib/toolkit/tbytevector.h
@@ -38,9 +38,9 @@ namespace TagLib {
//! A byte vector
/*!
- * This class provides a byte vector with some methods that are useful for
- * tagging purposes. Many of the search functions are tailored to what is
- * useful for finding tag related patterns in a data array.
+ * This class provides an implicitly shared byte vector with some methods that
+ * are useful for tagging purposes. Many of the search functions are tailored
+ * to what is useful for finding tag related patterns in a data array.
*/
class TAGLIB_EXPORT ByteVector
@@ -171,12 +171,12 @@ namespace TagLib {
unsigned int patternOffset = 0, unsigned int patternLength = 0xffffffff) const;
/*!
- * Returns true if the vector starts with \a pattern.
+ * Returns \c true if the vector starts with \a pattern.
*/
bool startsWith(const ByteVector &pattern) const;
/*!
- * Returns true if the vector ends with \a pattern.
+ * Returns \c true if the vector ends with \a pattern.
*/
bool endsWith(const ByteVector &pattern) const;
@@ -282,7 +282,7 @@ namespace TagLib {
ConstReverseIterator rend() const;
/*!
- * Returns true if the ByteVector is empty.
+ * Returns \c true if the ByteVector is empty.
*
* \see size()
*/
@@ -291,9 +291,9 @@ namespace TagLib {
/*!
* Converts the first 4 bytes of the vector to an unsigned integer.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $00 $00 $01 == 0x00000001 == 1, if false, $01 00 00 00 ==
+ * \c true then $00 $00 $00 $01 == 0x00000001 == 1, if \c false, $01 00 00 00 ==
* 0x01000000 == 1.
*
* \see fromUInt()
@@ -303,9 +303,9 @@ namespace TagLib {
/*!
* Converts the 4 bytes at \a offset of the vector to an unsigned integer.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $00 $00 $01 == 0x00000001 == 1, if false, $01 00 00 00 ==
+ * \c true then $00 $00 $00 $01 == 0x00000001 == 1, if \c false, $01 00 00 00 ==
* 0x01000000 == 1.
*
* \see fromUInt()
@@ -316,9 +316,9 @@ namespace TagLib {
* Converts the \a length bytes at \a offset of the vector to an unsigned
* integer. If \a length is larger than 4, the excess is ignored.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $00 $00 $01 == 0x00000001 == 1, if false, $01 00 00 00 ==
+ * \c true then $00 $00 $00 $01 == 0x00000001 == 1, if \c false, $01 00 00 00 ==
* 0x01000000 == 1.
*
* \see fromUInt()
@@ -329,9 +329,9 @@ namespace TagLib {
/*!
* Converts the first 2 bytes of the vector to a (signed) short.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1.
+ * \c true then $00 $01 == 0x0001 == 1, if \c false, $01 00 == 0x01000000 == 1.
*
* \see fromShort()
*/
@@ -340,9 +340,9 @@ namespace TagLib {
/*!
* Converts the 2 bytes at \a offset of the vector to a (signed) short.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1.
+ * \c true then $00 $01 == 0x0001 == 1, if \c false, $01 00 == 0x01000000 == 1.
*
* \see fromShort()
*/
@@ -351,9 +351,9 @@ namespace TagLib {
/*!
* Converts the first 2 bytes of the vector to an unsigned short.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1.
+ * \c true then $00 $01 == 0x0001 == 1, if \c false, $01 00 == 0x01000000 == 1.
*
* \see fromUShort()
*/
@@ -362,9 +362,9 @@ namespace TagLib {
/*!
* Converts the 2 bytes at \a offset of the vector to an unsigned short.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1.
+ * \c true then $00 $01 == 0x0001 == 1, if \c false, $01 00 == 0x01000000 == 1.
*
* \see fromUShort()
*/
@@ -373,10 +373,10 @@ namespace TagLib {
/*!
* Converts the first 8 bytes of the vector to a (signed) long long.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
- * if false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
+ * \c true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
+ * if \c false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see fromLongLong()
*/
@@ -385,10 +385,10 @@ namespace TagLib {
/*!
* Converts the 8 bytes at \a offset of the vector to a (signed) long long.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
- * if false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
+ * \c true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
+ * if \c false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see fromLongLong()
*/
@@ -397,10 +397,10 @@ namespace TagLib {
/*!
* Converts the first 8 bytes of the vector to an unsigned long long.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
- * if false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
+ * \c true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
+ * if \c false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see fromULongLong()
*/
@@ -409,48 +409,56 @@ namespace TagLib {
/*!
* Converts the 8 bytes at \a offset of the vector to an unsigned long long.
*
- * If \a mostSignificantByteFirst is true this will operate left to right
+ * If \a mostSignificantByteFirst is \c true this will operate left to right
* evaluating the integer. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
- * if false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
+ * \c true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1,
+ * if \c false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see fromULongLong()
*/
unsigned long long toULongLong(unsigned int offset, bool mostSignificantByteFirst = true) const;
- /*
+ /*!
* Converts the 4 bytes at \a offset of the vector to a float as an IEEE754
* 32-bit little-endian floating point number.
+ *
+ * \see fromFloat32LE()
*/
float toFloat32LE(size_t offset) const;
- /*
+ /*!
* Converts the 4 bytes at \a offset of the vector to a float as an IEEE754
* 32-bit big-endian floating point number.
+ *
+ * \see fromFloat32BE()
*/
float toFloat32BE(size_t offset) const;
- /*
+ /*!
* Converts the 8 bytes at \a offset of the vector to a double as an IEEE754
* 64-bit little-endian floating point number.
+ *
+ * \see fromFloat64LE()
*/
double toFloat64LE(size_t offset) const;
- /*
+ /*!
* Converts the 8 bytes at \a offset of the vector to a double as an IEEE754
* 64-bit big-endian floating point number.
+ *
+ * \see fromFloat64BE()
*/
double toFloat64BE(size_t offset) const;
- /*
- * Converts the 10 bytes at \a offset of the vector to a long double as an
- * IEEE754 80-bit little-endian floating point number.
- *
- * \note This may compromise the precision depends on the size of long double.
- */
+ /*!
+ * Converts the 10 bytes at \a offset of the vector to a long double as an
+ * IEEE754 80-bit little-endian floating point number.
+ *
+ * \note This may compromise the precision depends on the size of long double.
+ */
long double toFloat80LE(size_t offset) const;
- /*
+ /*!
* Converts the 10 bytes at \a offset of the vector to a long double as an
* IEEE754 80-bit big-endian floating point number.
*
@@ -460,9 +468,9 @@ namespace TagLib {
/*!
* Creates a 4 byte ByteVector based on \a value. If
- * \a mostSignificantByteFirst is true, then this will operate left to right
+ * \a mostSignificantByteFirst is \c true, then this will operate left to right
* in building the ByteVector. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 01 == 0x00000001 == 1, if false, $01 00 00 00 ==
+ * \c true then $00 00 00 01 == 0x00000001 == 1, if \c false, $01 00 00 00 ==
* 0x01000000 == 1.
*
* \see toUInt()
@@ -471,9 +479,9 @@ namespace TagLib {
/*!
* Creates a 2 byte ByteVector based on \a value. If
- * \a mostSignificantByteFirst is true, then this will operate left to right
+ * \a mostSignificantByteFirst is \c true, then this will operate left to right
* in building the ByteVector. For example if \a mostSignificantByteFirst is
- * true then $00 01 == 0x0001 == 1, if false, $01 00 == 0x0100 == 1.
+ * \c true then $00 01 == 0x0001 == 1, if \c false, $01 00 == 0x0100 == 1.
*
* \see toShort()
*/
@@ -481,9 +489,9 @@ namespace TagLib {
/*!
* Creates a 2 byte ByteVector based on \a value. If
- * \a mostSignificantByteFirst is true, then this will operate left to right
+ * \a mostSignificantByteFirst is \c true, then this will operate left to right
* in building the ByteVector. For example if \a mostSignificantByteFirst is
- * true then $00 01 == 0x0001 == 1, if false, $01 00 == 0x0100 == 1.
+ * \c true then $00 01 == 0x0001 == 1, if \c false, $01 00 == 0x0100 == 1.
*
* \see toUShort()
*/
@@ -491,9 +499,9 @@ namespace TagLib {
/*!
* Creates a 8 byte ByteVector based on \a value. If
- * \a mostSignificantByteFirst is true, then this will operate left to right
+ * \a mostSignificantByteFirst is \c true, then this will operate left to right
* in building the ByteVector. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 01 == 0x0000000000000001 == 1, if false,
+ * \c true then $00 00 00 01 == 0x0000000000000001 == 1, if \c false,
* $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see toLongLong()
@@ -502,9 +510,9 @@ namespace TagLib {
/*!
* Creates a 8 byte ByteVector based on \a value. If
- * \a mostSignificantByteFirst is true, then this will operate left to right
+ * \a mostSignificantByteFirst is \c true, then this will operate left to right
* in building the ByteVector. For example if \a mostSignificantByteFirst is
- * true then $00 00 00 01 == 0x0000000000000001 == 1, if false,
+ * \c true then $00 00 00 01 == 0x0000000000000001 == 1, if \c false,
* $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1.
*
* \see toULongLong()
@@ -515,7 +523,7 @@ namespace TagLib {
* Creates a 4 byte ByteVector based on \a value as an IEEE754 32-bit
* little-endian floating point number.
*
- * \see fromFloat32BE()
+ * \see toFloat32LE()
*/
static ByteVector fromFloat32LE(float value);
@@ -523,7 +531,7 @@ namespace TagLib {
* Creates a 4 byte ByteVector based on \a value as an IEEE754 32-bit
* big-endian floating point number.
*
- * \see fromFloat32LE()
+ * \see toFloat32BE()
*/
static ByteVector fromFloat32BE(float value);
@@ -531,7 +539,7 @@ namespace TagLib {
* Creates a 8 byte ByteVector based on \a value as an IEEE754 64-bit
* little-endian floating point number.
*
- * \see fromFloat64BE()
+ * \see toFloat64LE()
*/
static ByteVector fromFloat64LE(double value);
@@ -539,7 +547,7 @@ namespace TagLib {
* Creates a 8 byte ByteVector based on \a value as an IEEE754 64-bit
* big-endian floating point number.
*
- * \see fromFloat64LE()
+ * \see toFloat64BE()
*/
static ByteVector fromFloat64BE(double value);
@@ -559,36 +567,36 @@ namespace TagLib {
char &operator[](int index);
/*!
- * Returns true if this ByteVector and \a v are equal.
+ * Returns \c true if this ByteVector and \a v are equal.
*/
bool operator==(const ByteVector &v) const;
/*!
- * Returns true if this ByteVector and \a v are not equal.
+ * Returns \c true if this ByteVector and \a v are not equal.
*/
bool operator!=(const ByteVector &v) const;
/*!
- * Returns true if this ByteVector and the null terminated C string \a s
+ * Returns \c true if this ByteVector and the null terminated C string \a s
* contain the same data.
*/
bool operator==(const char *s) const;
/*!
- * Returns true if this ByteVector and the null terminated C string \a s
+ * Returns \c true if this ByteVector and the null terminated C string \a s
* do not contain the same data.
*/
bool operator!=(const char *s) const;
/*!
- * Returns true if this ByteVector is less than \a v. The value of the
+ * Returns \c true if this ByteVector is less than \a v. The value of the
* vectors is determined by evaluating the character from left to right, and
* in the event one vector is a superset of the other, the size is used.
*/
bool operator<(const ByteVector &v) const;
/*!
- * Returns true if this ByteVector is greater than \a v.
+ * Returns \c true if this ByteVector is greater than \a v.
*/
bool operator>(const ByteVector &v) const;
@@ -615,7 +623,7 @@ namespace TagLib {
ByteVector &operator=(const char *data);
/*!
- * Exchanges the content of the ByteVector by the content of \a v.
+ * Exchanges the content of the ByteVector with the content of \a v.
*/
void swap(ByteVector &v) noexcept;
@@ -626,16 +634,20 @@ namespace TagLib {
/*!
* Returns a base64 encoded copy of the byte vector
+ *
+ * \see fromBase64()
*/
ByteVector toBase64() const;
/*!
* Decodes the base64 encoded byte vector.
+ *
+ * \see toBase64()
*/
static ByteVector fromBase64(const ByteVector &);
protected:
- /*
+ /*!
* If this ByteVector is being shared via implicit sharing, do a deep copy
* of the data and separate from the shared members. This should be called
* by all non-const subclass members.
diff --git a/taglib/toolkit/tbytevectorstream.cpp b/taglib/toolkit/tbytevectorstream.cpp
index 7a142f57..f65f591d 100644
--- a/taglib/toolkit/tbytevectorstream.cpp
+++ b/taglib/toolkit/tbytevectorstream.cpp
@@ -56,7 +56,7 @@ ByteVectorStream::~ByteVectorStream() = default;
FileName ByteVectorStream::name() const
{
- return ""; // XXX do we need a name?
+ return "";
}
ByteVector ByteVectorStream::readBlock(size_t length)
diff --git a/taglib/toolkit/tbytevectorstream.h b/taglib/toolkit/tbytevectorstream.h
index 10efe860..ce33a39d 100644
--- a/taglib/toolkit/tbytevectorstream.h
+++ b/taglib/toolkit/tbytevectorstream.h
@@ -43,8 +43,7 @@ namespace TagLib {
{
public:
/*!
- * Construct a File object and opens the \a file. \a file should be a
- * be a C-string in the local file system encoding.
+ * Construct a ByteVectorStream from the bytes in \a data.
*/
ByteVectorStream(const ByteVector &data);
@@ -57,7 +56,7 @@ namespace TagLib {
ByteVectorStream &operator=(const ByteVectorStream &) = delete;
/*!
- * Returns the file name in the local file system encoding.
+ * Returns an empty string.
*/
FileName name() const override;
@@ -67,9 +66,7 @@ namespace TagLib {
ByteVector readBlock(size_t length) override;
/*!
- * Attempts to write the block \a data at the current get pointer. If the
- * file is currently only opened read only -- i.e. readOnly() returns true --
- * this attempts to reopen the file in read/write mode.
+ * Writes the block \a data at the current get pointer.
*
* \note This should be used instead of using the streaming output operator
* for a ByteVector. And even this function is significantly slower than
@@ -96,13 +93,12 @@ namespace TagLib {
void removeBlock(offset_t start = 0, size_t length = 0) override;
/*!
- * Returns true if the file is read only (or if the file can not be opened).
+ * Returns \c false.
*/
bool readOnly() const override;
/*!
- * Since the file can currently only be opened as an argument to the
- * constructor (sort-of by design), this returns if that open succeeded.
+ * Returns \c true.
*/
bool isOpen() const override;
@@ -115,7 +111,7 @@ namespace TagLib {
void seek(offset_t offset, Position p = Beginning) override;
/*!
- * Reset the end-of-file and error flags on the file.
+ * Does nothing.
*/
void clear() override;
diff --git a/taglib/toolkit/tfile.h b/taglib/toolkit/tfile.h
index 8347b6b9..5752a82e 100644
--- a/taglib/toolkit/tfile.h
+++ b/taglib/toolkit/tfile.h
@@ -164,7 +164,7 @@ namespace TagLib {
/*!
* Save the file and its associated tags. This should be reimplemented in
- * the concrete subclasses. Returns true if the save succeeds.
+ * the concrete subclasses. Returns \c true if the save succeeds.
*
* \warning On UNIX multiple processes are able to write to the same file at
* the same time. This can result in serious file corruption. If you are
@@ -181,7 +181,7 @@ namespace TagLib {
/*!
* Attempts to write the block \a data at the current get pointer. If the
- * file is currently only opened read only -- i.e. readOnly() returns true --
+ * file is currently only opened read only -- i.e. readOnly() returns \c true --
* this attempts to reopen the file in read/write mode.
*
* \note This should be used instead of using the streaming output operator
@@ -241,7 +241,7 @@ namespace TagLib {
void removeBlock(offset_t start = 0, size_t length = 0);
/*!
- * Returns true if the file is read only (or if the file can not be opened).
+ * Returns \c true if the file is read only (or if the file can not be opened).
*/
bool readOnly() const;
@@ -252,7 +252,7 @@ namespace TagLib {
bool isOpen() const;
/*!
- * Returns true if the file is open and readable.
+ * Returns \c true if the file is open and readable.
*/
bool isValid() const;
@@ -282,7 +282,7 @@ namespace TagLib {
protected:
/*!
* Construct a File object and opens the \a file. \a file should be a
- * be a C-string in the local file system encoding.
+ * C-string in the local file system encoding.
*
* \note Constructor is protected since this class should only be
* instantiated through subclasses.
diff --git a/taglib/toolkit/tfilestream.h b/taglib/toolkit/tfilestream.h
index 3a7618eb..3eec5630 100644
--- a/taglib/toolkit/tfilestream.h
+++ b/taglib/toolkit/tfilestream.h
@@ -37,25 +37,19 @@ namespace TagLib {
class Tag;
class AudioProperties;
- //! A file class with some useful methods for tag manipulation
-
- /*!
- * This class is a basic file class with some methods that are particularly
- * useful for tag editors. It has methods to take advantage of
- * ByteVector and a binary search method for finding patterns in a file.
- */
+ //! I/O stream with data from a file.
class TAGLIB_EXPORT FileStream : public IOStream
{
public:
/*!
- * Construct a File object and opens the \a file. \a file should be a
- * be a C-string in the local file system encoding.
+ * Construct a FileStream object and opens the \a file. \a file should be a
+ * C-string in the local file system encoding.
*/
FileStream(FileName file, bool openReadOnly = false);
/*!
- * Construct a File object and opens the \a file using file descriptor.
+ * Construct a FileStream object using an existing \a fileDescriptor.
*/
FileStream(int fileDescriptor, bool openReadOnly = false);
@@ -79,7 +73,7 @@ namespace TagLib {
/*!
* Attempts to write the block \a data at the current get pointer. If the
- * file is currently only opened read only -- i.e. readOnly() returns true --
+ * file is currently only opened read only -- i.e. readOnly() returns \c true --
* this attempts to reopen the file in read/write mode.
*
* \note This should be used instead of using the streaming output operator
@@ -107,7 +101,7 @@ namespace TagLib {
void removeBlock(offset_t start = 0, size_t length = 0) override;
/*!
- * Returns true if the file is read only (or if the file can not be opened).
+ * Returns \c true if the file is read only (or if the file can not be opened).
*/
bool readOnly() const override;
diff --git a/taglib/toolkit/tiostream.h b/taglib/toolkit/tiostream.h
index 6d9698b4..29609b34 100644
--- a/taglib/toolkit/tiostream.h
+++ b/taglib/toolkit/tiostream.h
@@ -94,7 +94,7 @@ namespace TagLib {
/*!
* Attempts to write the block \a data at the current get pointer. If the
- * file is currently only opened read only -- i.e. readOnly() returns true --
+ * file is currently only opened read only -- i.e. readOnly() returns \c true --
* this attempts to reopen the file in read/write mode.
*
* \note This should be used instead of using the streaming output operator
@@ -123,7 +123,7 @@ namespace TagLib {
virtual void removeBlock(offset_t start = 0, size_t length = 0) = 0;
/*!
- * Returns true if the file is read only (or if the file can not be opened).
+ * Returns \c true if the file is read only (or if the file can not be opened).
*/
virtual bool readOnly() const = 0;
diff --git a/taglib/toolkit/tlist.h b/taglib/toolkit/tlist.h
index 6f0273e6..9e070710 100644
--- a/taglib/toolkit/tlist.h
+++ b/taglib/toolkit/tlist.h
@@ -37,8 +37,8 @@ namespace TagLib {
//! A generic, implicitly shared list.
/*!
- * This is basic generic list that's somewhere between a std::list and a
- * QValueList. This class is implicitly shared. For example:
+ * This is a basic generic list that's somewhere between a std::list and a
+ * QList. This class is implicitly shared. For example:
*
* \code
*
@@ -46,7 +46,7 @@ namespace TagLib {
*
* \endcode
*
- * The above example is very cheap. This also makes lists suitable for the
+ * The above example is very cheap. This also makes lists suitable as
* return types of functions. The above example will just copy a pointer rather
* than copying the data in the list. When your \e shared list's data changes,
* only \e then will the data be copied.
@@ -85,37 +85,37 @@ namespace TagLib {
/*!
* Returns an STL style iterator to the beginning of the list. See
- * std::list::const_iterator for the semantics.
+ * \c std::list::const_iterator for the semantics.
*/
Iterator begin();
/*!
* Returns an STL style constant iterator to the beginning of the list. See
- * std::list::iterator for the semantics.
+ * \c std::list::iterator for the semantics.
*/
ConstIterator begin() const;
/*!
* Returns an STL style constant iterator to the beginning of the list. See
- * std::list::iterator for the semantics.
+ * \c std::list::iterator for the semantics.
*/
ConstIterator cbegin() const;
/*!
* Returns an STL style iterator to the end of the list. See
- * std::list::iterator for the semantics.
+ * \c std::list::iterator for the semantics.
*/
Iterator end();
/*!
* Returns an STL style constant iterator to the end of the list. See
- * std::list::const_iterator for the semantics.
+ * \c std::list::const_iterator for the semantics.
*/
ConstIterator end() const;
/*!
* Returns an STL style constant iterator to the end of the list. See
- * std::list::const_iterator for the semantics.
+ * \c std::list::const_iterator for the semantics.
*/
ConstIterator cend() const;
@@ -130,7 +130,7 @@ namespace TagLib {
/*!
* Inserts the \a value into the list. This assumes that the list is
- * currently sorted. If \a unique is true then the value will not
+ * currently sorted. If \a unique is \c true then the value will not
* be inserted if it is already in the list.
*/
List &sortedInsert(const T &value, bool unique = false);
@@ -197,7 +197,7 @@ namespace TagLib {
ConstIterator cfind(const T &value) const;
/*!
- * Returns true if the list contains \a value.
+ * Returns \c true if the list contains \a value.
*/
bool contains(const T &value) const;
@@ -241,7 +241,7 @@ namespace TagLib {
void setAutoDelete(bool autoDelete);
/*!
- * Returns true is auto-deletion is enabled.
+ * Returns \c true is auto-deletion is enabled.
*/
bool autoDelete() const;
@@ -274,18 +274,18 @@ namespace TagLib {
List &operator=(std::initializer_list init);
/*!
- * Exchanges the content of this list by the content of \a l.
+ * Exchanges the content of this list with the content of \a l.
*/
void swap(List &l) noexcept;
/*!
- * Compares this list with \a l and returns true if all of the elements are
+ * Compares this list with \a l and returns \c true if all of the elements are
* the same.
*/
bool operator==(const List &l) const;
/*!
- * Compares this list with \a l and returns true if the lists differ.
+ * Compares this list with \a l and returns \c true if the lists differ.
*/
bool operator!=(const List &l) const;
@@ -296,14 +296,14 @@ namespace TagLib {
/*!
* Sorts this list in ascending order using the comparison
- * function object \a comp which returns true if the first argument is
+ * function object \a comp which returns \c true if the first argument is
* less than the second.
*/
template
void sort(Compare&& comp);
protected:
- /*
+ /*!
* If this List is being shared via implicit sharing, do a deep copy of the
* data and separate from the shared members. This should be called by all
* non-const subclass members without Iterator parameters.
diff --git a/taglib/toolkit/tmap.h b/taglib/toolkit/tmap.h
index 8404a10d..b6df8d58 100644
--- a/taglib/toolkit/tmap.h
+++ b/taglib/toolkit/tmap.h
@@ -88,37 +88,37 @@ namespace TagLib {
/*!
* Returns an STL style iterator to the beginning of the map. See
- * std::map::iterator for the semantics.
+ * \c std::map::iterator for the semantics.
*/
Iterator begin();
/*!
* Returns an STL style iterator to the beginning of the map. See
- * std::map::const_iterator for the semantics.
+ * \c std::map::const_iterator for the semantics.
*/
ConstIterator begin() const;
/*!
* Returns an STL style iterator to the beginning of the map. See
- * std::map::const_iterator for the semantics.
+ * \c std::map::const_iterator for the semantics.
*/
ConstIterator cbegin() const;
/*!
* Returns an STL style iterator to the end of the map. See
- * std::map::iterator for the semantics.
+ * \c std::map::iterator for the semantics.
*/
Iterator end();
/*!
* Returns an STL style iterator to the end of the map. See
- * std::map::const_iterator for the semantics.
+ * \c std::map::const_iterator for the semantics.
*/
ConstIterator end() const;
/*!
* Returns an STL style iterator to the end of the map. See
- * std::map::const_iterator for the semantics.
+ * \c std::map::const_iterator for the semantics.
*/
ConstIterator cend() const;
@@ -129,7 +129,7 @@ namespace TagLib {
Map &insert(const Key &key, const T &value);
/*!
- * Removes all of the elements from elements from the map. This however
+ * Removes all of the elements from the map. This however
* will not delete pointers if the mapped type is a pointer type.
*/
Map &clear();
@@ -142,7 +142,7 @@ namespace TagLib {
unsigned int size() const;
/*!
- * Returns true if the map is empty.
+ * Returns \c true if the map is empty.
*
* \see size()
*/
@@ -159,7 +159,7 @@ namespace TagLib {
ConstIterator find(const Key &key) const;
/*!
- * Returns true if the map contains an instance of \a key.
+ * Returns \c true if the map contains an item for \a key.
*/
bool contains(const Key &key) const;
@@ -180,8 +180,8 @@ namespace TagLib {
/*!
* 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.
+ * If the map does not contain \a key, it returns \a defaultValue.
+ * If no \a defaultValue is specified, it returns a default-constructed value.
*/
T value(const Key &key, const T &defaultValue = T()) const;
@@ -212,23 +212,23 @@ namespace TagLib {
Map &operator=(std::initializer_list> init);
/*!
- * Exchanges the content of this map by the content of \a m.
+ * Exchanges the content of this map with the content of \a m.
*/
void swap(Map &m) noexcept;
/*!
- * Compares this map with \a m and returns true if all of the elements are
+ * Compares this map with \a m and returns \c true if all of the elements are
* the same.
*/
bool operator==(const Map &m) const;
/*!
- * Compares this map with \a m and returns true if the maps differ.
+ * Compares this map with \a m and returns \c true if the maps differ.
*/
bool operator!=(const Map &m) const;
protected:
- /*
+ /*!
* If this Map is being shared via implicit sharing, do a deep copy of the
* data and separate from the shared members. This should be called by all
* non-const subclass members without Iterator parameters.
diff --git a/taglib/toolkit/tpropertymap.h b/taglib/toolkit/tpropertymap.h
index 5f276822..0cc4486b 100644
--- a/taglib/toolkit/tpropertymap.h
+++ b/taglib/toolkit/tpropertymap.h
@@ -38,7 +38,7 @@ namespace TagLib {
using SimplePropertyMap = Map;
- //! A map for format-independent tag representations.
+ //! A map for format-independent tag representations.
/*!
* This map implements a generic representation of textual audio metadata
@@ -175,13 +175,13 @@ namespace TagLib {
ConstIterator find(const String &key) const;
/*!
- * Returns true if the map contains values for \a key.
+ * Returns \c true if the map contains values for \a key.
*/
TAGLIB_EXPORT
bool contains(const String &key) const;
/*!
- * Returns true if this map contains all keys of \a other
+ * Returns \c true if this map contains all keys of \a other
* and the values coincide for that keys. Does not take
* the unsupportedData list into account.
*/
@@ -212,8 +212,8 @@ namespace TagLib {
/*!
* 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.
+ * If the map does not contain \a key, it returns \a defaultValue.
+ * If no \a defaultValue is specified, it returns an empty string list.
*/
TAGLIB_EXPORT
StringList value(const String &key,
@@ -222,7 +222,7 @@ namespace TagLib {
/*!
* Returns a reference to the value associated with \a key.
*
- * \note: If \a key is not contained in the map, an empty
+ * \note If \a key is not contained in the map, an empty
* StringList is returned without error.
*/
TAGLIB_EXPORT
@@ -231,7 +231,7 @@ namespace TagLib {
/*!
* Returns a reference to the value associated with \a key.
*
- * \note: If \a key is not contained in the map, an empty
+ * \note If \a key is not contained in the map, an empty
* StringList is returned. You can also directly add entries
* by using this function as an lvalue.
*/
@@ -239,25 +239,26 @@ namespace TagLib {
StringList &operator[](const String &key);
/*!
- * Returns true if and only if \a other has the same contents as this map.
+ * Returns \c true if and only if \a other has the same contents as this map.
*/
TAGLIB_EXPORT
bool operator==(const PropertyMap &other) const;
/*!
- * Returns false if and only \a other has the same contents as this map.
+ * Returns \c false if and only if \a other has the same contents as this map.
*/
TAGLIB_EXPORT
bool operator!=(const PropertyMap &other) const;
/*!
- * If a PropertyMap is read from a File object using File::properties(),
+ * If a PropertyMap is read from a File object using File::properties()
+ * (or a FileRef object using FileRef::properties()),
* the StringList returned from this function will represent metadata
* that could not be parsed into the PropertyMap representation. This could
* be e.g. binary data, unknown ID3 frames, etc.
- * You can remove items from the returned list, which tells TagLib to remove
- * those unsupported elements if you call File::setProperties() with the
- * same PropertyMap as argument.
+ *
+ * \see File::removeUnsupportedProperties(),
+ * FileRef::removeUnsupportedProperties()
*/
TAGLIB_EXPORT
const StringList &unsupportedData() const;
diff --git a/taglib/toolkit/tstring.h b/taglib/toolkit/tstring.h
index 78abe3ec..070013c2 100644
--- a/taglib/toolkit/tstring.h
+++ b/taglib/toolkit/tstring.h
@@ -69,16 +69,16 @@ namespace TagLib {
/*!
* This is an implicitly shared \e wide string. For storage it uses
* TagLib::wstring, but as this is an implementation detail this of
- * course could change. Strings are stored internally as UTF-16(without BOM/
- * CPU byte order)
+ * course could change. Strings are stored internally as UTF-16 (without
+ * BOM/CPU byte order)
*
* The use of implicit sharing means that copying a string is cheap, the only
* \e cost comes into play when the copy is modified. Prior to that the string
* just has a pointer to the data of the \e parent String. This also makes
* this class suitable as a function return type.
*
- * In addition to adding implicit sharing, this class keeps track of four
- * possible encodings, which are the four supported by the ID3v2 standard.
+ * In addition to adding implicit sharing, this class keeps track of
+ * possible encodings, which are those supported by the ID3v2 standard.
*/
class TAGLIB_EXPORT String
@@ -92,6 +92,7 @@ namespace TagLib {
/**
* The four types of string encodings supported by the ID3v2 specification.
+ * (plus UTF16LE).
* ID3v1 is assumed to be Latin1 and Ogg Vorbis comments use UTF8.
*/
enum Type {
@@ -190,8 +191,8 @@ namespace TagLib {
~String();
/*!
- * Returns a deep copy of this String as an std::string. The returned string
- * is encoded in UTF8 if \a unicode is true, otherwise Latin1.
+ * Returns a deep copy of this String as an \c std::string. The returned string
+ * is encoded in UTF8 if \a unicode is \c true, otherwise Latin1.
*
* \see toCString()
*/
@@ -199,7 +200,7 @@ namespace TagLib {
/*!
* Returns a deep copy of this String as a wstring. The returned string is
- * encoded in UTF-16 (without BOM/CPU byte order), not UTF-32 even if wchar_t
+ * encoded in UTF-16 (without BOM/CPU byte order), not UTF-32 even if \c wchar_t
* is 32-bit wide.
*
* \see toCWString()
@@ -208,7 +209,7 @@ namespace TagLib {
/*!
* Creates and returns a standard C-style (null-terminated) version of this
- * String. The returned string is encoded in UTF8 if \a unicode is true,
+ * String. The returned string is encoded in UTF8 if \a unicode is \c true,
* otherwise Latin1.
*
* The returned string is still owned by this String and should not be deleted
@@ -229,7 +230,7 @@ namespace TagLib {
/*!
* Returns a standard C-style (null-terminated) wide character version of
* this String. The returned string is encoded in UTF-16 (without BOM/CPU byte
- * order), not UTF-32 even if wchar_t is 32-bit wide.
+ * order), not UTF-32 even if \c wchar_t is 32-bit wide.
*
* The returned string is still owned by this String and should not be deleted
* by the user.
@@ -296,7 +297,7 @@ namespace TagLib {
StringList split(const String &separator = " ") const;
/*!
- * Returns true if the strings starts with the substring \a s.
+ * Returns \c true if the strings starts with the substring \a s.
*/
bool startsWith(const String &s) const;
@@ -335,7 +336,7 @@ namespace TagLib {
unsigned int length() const;
/*!
- * Returns true if the string is empty.
+ * Returns \c true if the string is empty.
*/
bool isEmpty() const;
@@ -355,7 +356,7 @@ namespace TagLib {
* Convert the string to an integer.
*
* If the conversion was successful, it sets the value of \a *ok to
- * true and returns the integer. Otherwise it sets \a *ok to false
+ * \c true and returns the integer. Otherwise it sets \a *ok to \c false
* and the result is undefined.
*/
int toInt(bool *ok = nullptr) const;
@@ -366,12 +367,12 @@ namespace TagLib {
String stripWhiteSpace() const;
/*!
- * Returns true if the file only uses characters required by Latin1.
+ * Returns \c true if the file only uses characters required by Latin1.
*/
bool isLatin1() const;
/*!
- * Returns true if the file only uses characters required by (7-bit) ASCII.
+ * Returns \c true if the file only uses characters required by (7-bit) ASCII.
*/
bool isAscii() const;
@@ -397,37 +398,37 @@ namespace TagLib {
/*!
* Compares each character of the String with each character of \a s and
- * returns true if the strings match.
+ * returns \c true if the strings match.
*/
bool operator==(const String &s) const;
/*!
* Compares each character of the String with each character of \a s and
- * returns false if the strings match.
+ * returns \c false if the strings match.
*/
bool operator!=(const String &s) const;
/*!
* Compares each character of the String with each character of \a s and
- * returns true if the strings match.
+ * returns \c true if the strings match.
*/
bool operator==(const char *s) const;
/*!
* Compares each character of the String with each character of \a s and
- * returns false if the strings match.
+ * returns \c false if the strings match.
*/
bool operator!=(const char *s) const;
/*!
* Compares each character of the String with each character of \a s and
- * returns true if the strings match.
+ * returns \c true if the strings match.
*/
bool operator==(const wchar_t *s) const;
/*!
* Compares each character of the String with each character of \a s and
- * returns false if the strings match.
+ * returns \c false if the strings match.
*/
bool operator!=(const wchar_t *s) const;
@@ -498,13 +499,13 @@ namespace TagLib {
String &operator=(const ByteVector &v);
/*!
- * Exchanges the content of the String by the content of \a s.
+ * Exchanges the content of the String with the content of \a s.
*/
void swap(String &s) noexcept;
/*!
* To be able to use this class in a Map, this operator needed to be
- * implemented. Returns true if \a s is less than this string in a byte-wise
+ * implemented. Returns \c true if \a s is less than this string in a byte-wise
* comparison.
*/
bool operator<(const String &s) const;
diff --git a/taglib/toolkit/tstringlist.h b/taglib/toolkit/tstringlist.h
index 31f19dc2..2c599797 100644
--- a/taglib/toolkit/tstringlist.h
+++ b/taglib/toolkit/tstringlist.h
@@ -38,8 +38,8 @@ namespace TagLib {
//! A list of strings
/*!
- * This is a specialization of the List class with some members convention for
- * string operations.
+ * This is a specialization of the List class with some convenience members
+ * for string operations.
*/
class StringList : public List
diff --git a/taglib/toolkit/tvariant.h b/taglib/toolkit/tvariant.h
index bfbe1828..f814fc0f 100644
--- a/taglib/toolkit/tvariant.h
+++ b/taglib/toolkit/tvariant.h
@@ -50,6 +50,8 @@ namespace TagLib {
class ByteVector;
class ByteVectorList;
+ //! An implicitly shared discriminated union.
+
/*!
* This is an implicitly shared discriminated union.
*
@@ -65,19 +67,19 @@ namespace TagLib {
// The number and order of these types must correspond to the template
// parameters for StdVariantType in tvariant.cpp!
enum Type {
- Void,
- Bool,
- Int,
- UInt,
- LongLong,
- ULongLong,
- Double,
- String,
- StringList,
- ByteVector,
- ByteVectorList,
- VariantList,
- VariantMap
+ Void, //!< variant is empty
+ Bool, //!< \c bool
+ Int, //!< \c int
+ UInt, //!< unsigned int
+ LongLong, //!< long long
+ ULongLong, //!< unsigned long long
+ Double, //!< \c double
+ String, //!< String
+ StringList, //!< StringList
+ ByteVector, //!< ByteVector
+ ByteVectorList, //!< ByteVectorList
+ VariantList, //!< \link TagLib::VariantList VariantList \endlink
+ VariantMap //!< \link TagLib::VariantMap VariantMap \endlink
};
/*!
@@ -85,11 +87,7 @@ namespace TagLib {
*/
Variant();
- /*!
- * Constructs a Variant from an integer value.
- */
Variant(int val);
-
Variant(unsigned int val);
Variant(long long val);
Variant(unsigned long long val);
@@ -121,49 +119,60 @@ namespace TagLib {
Type type() const;
/*!
- * Returns true if the Variant is empty.
+ * Returns \c true if the Variant is empty.
*/
bool isEmpty() const;
/*!
- * Extracts an integer value from the Variant.
- * If \a ok is passed, its boolean variable will be set to true if the
+ * Extracts a value from the Variant.
+ * If \a ok is passed, its boolean variable will be set to \c true if the
* Variant contains the correct type, and the returned value is the value
- * of the Variant. Otherwise, the \a ok variable is set to false and
+ * of the Variant. Otherwise, the \a ok variable is set to \c false and
* a dummy default value is returned.
*/
int toInt(bool *ok = nullptr) const;
+ //! \copydoc toInt()
unsigned int toUInt(bool *ok = nullptr) const;
+ //! \copydoc toInt()
long long toLongLong(bool *ok = nullptr) const;
+ //! \copydoc toInt()
unsigned long long toULongLong(bool *ok = nullptr) const;
+ //! \copydoc toInt()
bool toBool(bool *ok = nullptr) const;
+ //! \copydoc toInt()
double toDouble(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::String toString(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::StringList toStringList(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::ByteVector toByteVector(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::ByteVectorList toByteVectorList(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::List toList(bool *ok = nullptr) const;
+ //! \copydoc toInt()
TagLib::Map toMap(bool *ok = nullptr) const;
/*!
* Extracts value of type \a T from the Variant.
- * If \a ok is passed, its boolean variable will be set to true if the
+ * If \a ok is passed, its boolean variable will be set to \c true if the
* Variant contains the correct type, and the returned value is the value
- * of the Variant. Otherwise, the \a ok variable is set to false and
+ * of the Variant. Otherwise, the \a ok variable is set to \c false and
* a dummy default value is returned.
*/
template
T value(bool *ok = nullptr) const;
/*!
- * Returns true it the Variant and \a v are of the same type and contain the
+ * Returns \c true it the Variant and \a v are of the same type and contain the
* same value.
*/
bool operator==(const Variant &v) const;
/*!
- * Returns true it the Variant and \a v differ in type or value.
+ * Returns \c true it the Variant and \a v differ in type or value.
*/
bool operator!=(const Variant &v) const;
diff --git a/taglib/toolkit/tversionnumber.h b/taglib/toolkit/tversionnumber.h
index 9b112fba..5d61673a 100644
--- a/taglib/toolkit/tversionnumber.h
+++ b/taglib/toolkit/tversionnumber.h
@@ -35,9 +35,8 @@ namespace TagLib {
class String;
- /*!
- * Version number with major, minor and patch segments.
- */
+ //! Version number with major, minor and patch segments.
+
class TAGLIB_EXPORT VersionNumber {
public:
/*!
@@ -80,42 +79,42 @@ namespace TagLib {
}
/*!
- * Returns true if this version is equal to \a rhs.
+ * Returns \c true if this version is equal to \a rhs.
*/
constexpr bool operator==(const VersionNumber &rhs) const {
return m_combined == rhs.m_combined;
}
/*!
- * Returns true if this version is not equal to \a rhs.
+ * Returns \c true if this version is not equal to \a rhs.
*/
constexpr bool operator!=(const VersionNumber &rhs) const {
return m_combined != rhs.m_combined;
}
/*!
- * Returns true if this version is less than \a rhs.
+ * Returns \c true if this version is less than \a rhs.
*/
constexpr bool operator<(const VersionNumber &rhs) const {
return m_combined < rhs.m_combined;
}
/*!
- * Returns true if this version is greater than \a rhs.
+ * Returns \c true if this version is greater than \a rhs.
*/
constexpr bool operator>(const VersionNumber &rhs) const {
return m_combined > rhs.m_combined;
}
/*!
- * Returns true if this version is less or equal than \a rhs.
+ * Returns \c true if this version is less or equal than \a rhs.
*/
constexpr bool operator<=(const VersionNumber &rhs) const {
return m_combined <= rhs.m_combined;
}
/*!
- * Returns true if this version is greater or equal than \a rhs.
+ * Returns \c true if this version is greater or equal than \a rhs.
*/
constexpr bool operator>=(const VersionNumber &rhs) const {
return m_combined >= rhs.m_combined;
diff --git a/taglib/trueaudio/trueaudiofile.h b/taglib/trueaudio/trueaudiofile.h
index d0b7f967..62b3685c 100644
--- a/taglib/trueaudio/trueaudiofile.h
+++ b/taglib/trueaudio/trueaudiofile.h
@@ -44,7 +44,7 @@ namespace TagLib {
//! An implementation of TrueAudio metadata
/*!
- * This is implementation of TrueAudio metadata.
+ * this is an implementation of TrueAudio metadata.
*
* This supports ID3v1 and ID3v2 tags as well as reading stream
* properties from the file.
@@ -80,7 +80,7 @@ namespace TagLib {
};
/*!
- * Constructs a TrueAudio file from \a file. If \a readProperties is true
+ * Constructs a TrueAudio 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
@@ -93,13 +93,15 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs a TrueAudio file from \a file. If \a readProperties is true
+ * Constructs a TrueAudio 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,
@@ -107,7 +109,7 @@ namespace TagLib {
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs a TrueAudio file from \a stream. If \a readProperties is true
+ * Constructs a TrueAudio 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
@@ -123,7 +125,7 @@ namespace TagLib {
ID3v2::FrameFactory *frameFactory = nullptr);
/*!
- * Constructs a TrueAudio file from \a stream. If \a readProperties is true
+ * Constructs a TrueAudio 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
@@ -133,6 +135,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,
@@ -182,15 +186,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 TrueAudio::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -201,15 +205,15 @@ namespace TagLib {
/*!
* Returns a pointer to the ID3v2 tag of the file.
*
- * If \a create is false (the default) this may return 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 may return 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 TrueAudio::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
diff --git a/taglib/wavpack/wavpackfile.h b/taglib/wavpack/wavpackfile.h
index 779287a2..c9e82e6b 100644
--- a/taglib/wavpack/wavpackfile.h
+++ b/taglib/wavpack/wavpackfile.h
@@ -44,7 +44,7 @@ namespace TagLib {
//! An implementation of WavPack metadata
/*!
- * This is implementation of WavPack metadata.
+ * this is an implementation of WavPack metadata.
*
* This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream
* properties from the file.
@@ -80,17 +80,17 @@ namespace TagLib {
};
/*!
- * Constructs a WavPack file from \a file. If \a readProperties is true the
+ * Constructs a WavPack file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read using \a propertiesStyle. If
- * false, \a propertiesStyle is ignored
+ * \c false, \a propertiesStyle is ignored
*/
File(FileName file, bool readProperties = true,
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
- * Constructs an WavPack file from \a file. If \a readProperties is true the
+ * Constructs an WavPack file from \a file. If \a readProperties is \c true the
* file's audio properties will also be read using \a propertiesStyle. If
- * false, \a propertiesStyle is ignored.
+ * \c false, \a propertiesStyle is ignored.
*
* \note TagLib will *not* take ownership of the stream, the caller is
* responsible for deleting it after the File object.
@@ -137,22 +137,22 @@ namespace TagLib {
/*!
* Saves the file.
*
- * 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 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 WavPack::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
@@ -163,15 +163,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 WavPack::File and should not be
* deleted by the user. It will be deleted when the file (object) is
* destroyed.
*
diff --git a/taglib/xm/xmfile.h b/taglib/xm/xmfile.h
index b365e9a3..b0cd55e2 100644
--- a/taglib/xm/xmfile.h
+++ b/taglib/xm/xmfile.h
@@ -35,8 +35,23 @@
namespace TagLib {
+ //! An implementation of Extended Module metadata
+
+ /*!
+ * this is an implementation of Extended Module metadata.
+ */
+
namespace XM {
+ //! An implementation of TagLib::File with XM specific methods
+
+ /*!
+ * This implements and provides an interface for XM 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 XM files.
+ */
+
class TAGLIB_EXPORT File : public Mod::FileBase {
public:
/*!
diff --git a/taglib/xm/xmproperties.h b/taglib/xm/xmproperties.h
index cca58da2..8b03b3f6 100644
--- a/taglib/xm/xmproperties.h
+++ b/taglib/xm/xmproperties.h
@@ -32,6 +32,7 @@
namespace TagLib {
namespace XM {
+ //! An implementation of audio property reading for XM
class TAGLIB_EXPORT Properties : public AudioProperties {
public:
/*! Flag bits. */