1 /* PopularimeterFrame.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_MP4_POPULARIMETERFRAME_H 22 #define SAYONARA_MP4_POPULARIMETERFRAME_H 23 24 #include "MP4Frame.h" 25 #include "Utils/Tagging/Models/Popularimeter.h" 26 27 namespace MP4 28 { 29 class PopularimeterFrame : 30 public MP4::MP4Frame<Models::Popularimeter> 31 { 32 public: 33 PopularimeterFrame(TagLib::MP4::Tag* tag); 34 ~PopularimeterFrame() override; 35 36 protected: 37 std::optional<Models::Popularimeter> mapItemToData(const TagLib::MP4::Item& item) const override; 38 std::optional<TagLib::MP4::Item> mapDataToItem(const Models::Popularimeter& model) override; 39 }; 40 } 41 42 #endif // SAYONARA_MP4_POPULARIMETERFRAME_H 43