/*************************************************************************** copyright : (C) 2002, 2003, 2006 by Jochen Issing email : jochen.issing@isign-softart.de ***************************************************************************/ /*************************************************************************** * 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 * ***************************************************************************/ #include "mp4tagsproxy.h" #include "itunesdatabox.h" using namespace TagLib; class MP4::Mp4TagsProxy::Mp4TagsProxyPrivate { public: ITunesDataBox* titleData; ITunesDataBox* artistData; ITunesDataBox* albumData; ITunesDataBox* coverData; ITunesDataBox* genreData; ITunesDataBox* yearData; ITunesDataBox* trknData; ITunesDataBox* commentData; ITunesDataBox* groupingData; ITunesDataBox* composerData; ITunesDataBox* diskData; ITunesDataBox* bpmData; }; MP4::Mp4TagsProxy::Mp4TagsProxy() { d = new MP4::Mp4TagsProxy::Mp4TagsProxyPrivate(); d->titleData = 0; d->artistData = 0; d->albumData = 0; d->coverData = 0; d->genreData = 0; d->yearData = 0; d->trknData = 0; d->commentData = 0; d->groupingData = 0; d->composerData = 0; d->diskData = 0; d->bpmData = 0; } MP4::Mp4TagsProxy::~Mp4TagsProxy() { delete d; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::titleData() const { return d->titleData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::artistData() const { return d->artistData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::albumData() const { return d->albumData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::genreData() const { return d->genreData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::yearData() const { return d->yearData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::trknData() const { return d->trknData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::commentData() const { return d->commentData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::groupingData() const { return d->groupingData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::composerData() const { return d->composerData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::diskData() const { return d->diskData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::bpmData() const { return d->bpmData; } MP4::ITunesDataBox* MP4::Mp4TagsProxy::coverData() const { return d->coverData; } void MP4::Mp4TagsProxy::registerBox( EBoxType boxtype, ITunesDataBox* databox ) { switch( boxtype ) { case title: d->titleData = databox; break; case artist: d->artistData = databox; break; case album: d->albumData = databox; break; case cover: d->coverData = databox; break; case genre: d->genreData = databox; break; case year: d->yearData = databox; break; case trackno: d->trknData = databox; break; case comment: d->commentData = databox; break; case grouping: d->groupingData = databox; break; case composer: d->composerData = databox; break; case disk: d->diskData = databox; break; case bpm: d->bpmData = databox; break; } }