1 /* DiscnumberFrame.cpp */ 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 #include "DiscnumberFrame.h" 22 23 #include <taglib/mp4item.h> 24 DiscnumberFrame(TagLib::MP4::Tag * tag)25MP4::DiscnumberFrame::DiscnumberFrame(TagLib::MP4::Tag* tag) : 26 MP4::MP4Frame<Models::Discnumber>(tag, "disk") {} 27 28 MP4::DiscnumberFrame::~DiscnumberFrame() = default; 29 mapItemToData(const TagLib::MP4::Item & item) const30std::optional<Models::Discnumber> MP4::DiscnumberFrame::mapItemToData(const TagLib::MP4::Item& item) const 31 { 32 const auto intPair = item.toIntPair(); 33 const auto discnumber = Models::Discnumber(intPair.first, intPair.second); 34 35 return std::optional(discnumber); 36 } 37 mapDataToItem(const Models::Discnumber & discnumber)38std::optional<TagLib::MP4::Item> MP4::DiscnumberFrame::mapDataToItem(const Models::Discnumber& discnumber) 39 { 40 const auto item = TagLib::MP4::Item(discnumber.disc, discnumber.disccount); 41 42 return std::optional(item); 43 } 44