]> granicus.if.org Git - taglib/commitdiff
Added ID3v2 PropertyMap interface documentation.
authorMichael Helmling <helmling@mathematik.uni-kl.de>
Sat, 25 Feb 2012 18:11:31 +0000 (19:11 +0100)
committerMichael Helmling <helmling@mathematik.uni-kl.de>
Sat, 25 Feb 2012 18:11:31 +0000 (19:11 +0100)
taglib/mpeg/id3v2/id3v2tag.cpp
taglib/mpeg/id3v2/id3v2tag.h

index cdfa4353f398977536228a6497accf1b2deaf904..4731ba556d1d3836dd0a950eda08b227ae25160b 100644 (file)
@@ -24,7 +24,6 @@
  ***************************************************************************/
 
 #include <tfile.h>
-#include <tdebug.h>
 
 #include "id3v2tag.h"
 #include "id3v2header.h"
@@ -34,6 +33,7 @@
 #include "tbytevector.h"
 #include "id3v1genres.h"
 #include "tpropertymap.h"
+#include <tdebug.h>
 
 #include "frames/textidentificationframe.h"
 #include "frames/commentsframe.h"
@@ -339,7 +339,6 @@ PropertyMap ID3v2::Tag::properties() const
   PropertyMap properties;
   for(FrameList::ConstIterator it = frameList().begin(); it != frameList().end(); ++it) {
     PropertyMap props = (*it)->asProperties();
-    debug("read properties:\n" + props.toString());
     properties.merge(props);
   }
   return properties;
index 56c055a3b2c777e412344614662e3c3bac1beba0..3728868af2a414fc8af63c2ad16b32c56cd03cea 100644 (file)
@@ -263,7 +263,30 @@ namespace TagLib {
       /*!
        * Implements the unified property interface -- export function.
        * This function does some work to translate the hard-specified ID3v2
-       * frame types into a free-form string-to-stringlist PropertyMap.
+       * frame types into a free-form string-to-stringlist PropertyMap:
+       *  - if ID3v2 frame ID is known by Frame::frameIDToKey(), the returned
+       *    key is used
+       *  - if the frame ID is "TXXX" (user text frame), the description() is
+       *    used as key
+       *  - if the frame ID is "WXXX" (user url frame),
+       *    - if the description is empty or "URL", the key "URL" is used
+       *    - otherwise, the key "URL:<description>" is used;
+       *  - if the frame ID is "COMM" (comments frame),
+       *    - if the description is empty or "COMMENT", the key "COMMENT"
+       *      is used
+       *    - otherwise, the key "COMMENT:<description>" is used;
+       *  - if the frame ID is "USLT" (unsynchronized lyrics),
+       *    - if the description is empty or "LYRICS", the key "LYRICS" is used
+       *    - otherwise, the key "LYRICS:<description>" is used;
+       *  - if the frame ID is "TIPL" (involved peoples list), and if all the
+       *    roles defined in the frame are known in TextIdentificationFrame::involvedPeopleMap(),
+       *    then "<role>=<name>" will be contained in the returned obejct for each
+       *  - if the frame ID is "TMCL" (musician credit list), then
+       *    "PERFORMER:<instrument>=<name>" will be contained in the returned
+       *    PropertyMap for each defined musician
+       *  In any other case, the unsupportedData() of the returned object will contain
+       *  the frame's ID and, in case of a frame ID which is allowed to appear more than
+       *  once, the description, separated by a "/".
        *
        */
       PropertyMap properties() const;