combinedtag.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 172 行

H
172
字号
/***************************************************************************    copyright            : (C) 2004 by Allan Sandfeld Jensen    email                : kde@carewolf.org ***************************************************************************//*************************************************************************** *   This library is free software; you can redistribute it and/or modify  * *   it  under the terms of the GNU Lesser General Public License version  * *   2.1 as published by the Free Software Foundation.                     * *                                                                         * *   This library is distributed in the hope that it will be useful, but   * *   WITHOUT ANY WARRANTY; without even the implied warranty of            * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     * *   Lesser General Public License for more details.                       * *                                                                         * *   You should have received a copy of the GNU Lesser General Public      * *   License along with this library; if not, write to the Free Software   * *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            * *   MA  02110-1301  USA                                                   * ***************************************************************************/#ifndef DO_NOT_DOCUMENT // Tell Doxygen not to document this header#ifndef TAGLIB_COMBINEDTAG_H#define TAGLIB_COMBINEDTAG_H////////////////////////////////////////////////////////////////////////////////// Note that this header is not installed.////////////////////////////////////////////////////////////////////////////////#include <tag.h>namespace TagLib {  /*!   * A union of two TagLib::Tags.   */  class CombinedTag : public TagLib::Tag  {  public:    CombinedTag(Tag *tag1 = 0, Tag *tag2 = 0)               : TagLib::Tag(),                 tag1(tag1), tag2(tag2) {}    virtual String title() const {      if(tag1 && !tag1->title().isEmpty())          return tag1->title();      if(tag2)          return tag2->title();      return String::null;    }    virtual String artist() const {      if(tag1 && !tag1->artist().isEmpty())          return tag1->artist();      if(tag2)          return tag2->artist();      return String::null;    }    virtual String album() const {      if(tag1 && !tag1->album().isEmpty())          return tag1->album();      if(tag2)          return tag2->album();      return String::null;    }    virtual String comment() const {      if(tag1 && !tag1->comment().isEmpty())          return tag1->comment();      if(tag2)          return tag2->comment();      return String::null;    }    virtual String genre() const {      if(tag1 && !tag1->genre().isEmpty())          return tag1->genre();      if(tag2)          return tag2->genre();      return String::null;    }    virtual uint year() const {      if(tag1 && tag1->year() > 0)          return tag1->year();      if(tag2)          return tag2->year();      return 0;    }    virtual uint track() const {      if(tag1 && tag1->track() > 0)          return tag1->track();      if(tag2)          return tag2->track();      return 0;    }    virtual void setTitle(const String &s) {      if(tag1)          tag1->setTitle(s);      if(tag2)          tag2->setTitle(s);    }    virtual void setArtist(const String &s) {      if(tag1)          tag1->setArtist(s);      if(tag2)          tag2->setArtist(s);    }    virtual void setAlbum(const String &s) {      if(tag1)          tag1->setAlbum(s);      if(tag2)          tag2->setAlbum(s);    }    virtual void setComment(const String &s) {      if(tag1)          tag1->setComment(s);      if(tag2)          tag2->setComment(s);    }    virtual void setGenre(const String &s) {      if(tag1)          tag1->setGenre(s);      if(tag2)          tag2->setGenre(s);    }    virtual void setYear(uint i) {      if(tag1)          tag1->setYear(i);      if(tag2)          tag2->setYear(i);    }    virtual void setTrack(uint i) {      if(tag1)          tag1->setTrack(i);      if(tag2)          tag2->setTrack(i);    }  private:      Tag *tag1;      Tag *tag2;  };}#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?