diff --git a/taglib/ogg/vorbis/vorbisproperties.cpp b/taglib/ogg/vorbis/vorbisproperties.cpp index c67e1677..ef07e08f 100644 --- a/taglib/ogg/vorbis/vorbisproperties.cpp +++ b/taglib/ogg/vorbis/vorbisproperties.cpp @@ -123,6 +123,15 @@ int Vorbis::Properties::bitrateMinimum() const return d->bitrateMinimum; } +String Vorbis::Properties::toString() const +{ + StringList desc; + desc.append("Ogg Vorbis audio (version " + String::number(vorbisVersion()) + ")"); + desc.append(String::number(length()) + " seconds"); + desc.append(String::number(bitrate()) + " kbps"); + return desc.toString(", "); +} + //////////////////////////////////////////////////////////////////////////////// // private members //////////////////////////////////////////////////////////////////////////////// diff --git a/taglib/ogg/vorbis/vorbisproperties.h b/taglib/ogg/vorbis/vorbisproperties.h index de46985b..256eb9b1 100644 --- a/taglib/ogg/vorbis/vorbisproperties.h +++ b/taglib/ogg/vorbis/vorbisproperties.h @@ -73,6 +73,7 @@ namespace TagLib { virtual int bitrate() const; virtual int sampleRate() const; virtual int channels() const; + virtual String toString() const; /*! * Returns the Vorbis version, currently "0" (as specified by the spec). diff --git a/taglib/ogg/xiphcomment.cpp b/taglib/ogg/xiphcomment.cpp index 0f0af75c..84d206b1 100644 --- a/taglib/ogg/xiphcomment.cpp +++ b/taglib/ogg/xiphcomment.cpp @@ -324,6 +324,17 @@ ByteVector Ogg::XiphComment::render(bool addFramingBit) const return data; } +String Ogg::XiphComment::toString() const +{ + StringList desc; + for(FieldListMap::ConstIterator i = d->fieldListMap.begin(); i != d->fieldListMap.end(); i++) { + for(StringList::ConstIterator j = i->second.begin(); j != i->second.end(); j++) { + desc.append(i->first + "=" + *j); + } + } + return desc.toString("\n"); +} + //////////////////////////////////////////////////////////////////////////////// // protected members //////////////////////////////////////////////////////////////////////////////// diff --git a/taglib/ogg/xiphcomment.h b/taglib/ogg/xiphcomment.h index 476e9833..7fbc151d 100644 --- a/taglib/ogg/xiphcomment.h +++ b/taglib/ogg/xiphcomment.h @@ -96,6 +96,7 @@ namespace TagLib { virtual void setTrack(uint i); virtual bool isEmpty() const; + virtual String toString() const; /*! * Returns the number of fields present in the comment.