1 /* Lyrics.h */ 2 3 /* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras) 4 * 5 * This file is part of sayonara player 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef SAYONARA_ID3V2_LYRICS_FRAME_H 22 #define SAYONARA_ID3V2_LYRICS_FRAME_H 23 24 #include "ID3v2Frame.h" 25 26 #include <QString> 27 28 #include <taglib/unsynchronizedlyricsframe.h> 29 30 namespace ID3v2 31 { 32 class LyricsFrame : 33 public ID3v2Frame<QString, TagLib::ID3v2::UnsynchronizedLyricsFrame> 34 { 35 public: 36 explicit LyricsFrame(TagLib::ID3v2::Tag* tag); 37 ~LyricsFrame() override; 38 39 protected: 40 std::optional<QString> mapFrameToData(const TagLib::ID3v2::UnsynchronizedLyricsFrame* frame) const override; 41 void mapDataToFrame(const QString& data, TagLib::ID3v2::UnsynchronizedLyricsFrame* frame) override; 42 43 TagLib::ID3v2::Frame* createId3v2Frame() override; 44 }; 45 } 46 47 #endif // SAYONARA_ID3V2_LYRICS_FRAME_H 48