1 /***************************************************************************
2 copyright : (C) 2008 by Scott Wheeler
3 email : wheeler@kde.org
4 ***************************************************************************/
6 /***************************************************************************
7 * This library is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU Lesser General Public License version *
9 * 2.1 as published by the Free Software Foundation. *
11 * This library is distributed in the hope that it will be useful, but *
12 * WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14 * Lesser General Public License for more details. *
16 * You should have received a copy of the GNU Lesser General Public *
17 * License along with this library; if not, write to the Free Software *
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
21 * Alternatively, this file is available under the Mozilla Public *
22 * License Version 1.1. You may obtain a copy of the License at *
23 * http://www.mozilla.org/MPL/ *
24 ***************************************************************************/
26 #include <tbytevector.h>
32 using namespace TagLib;
34 class RIFF::AIFF::File::FilePrivate
50 Properties *properties;
54 ////////////////////////////////////////////////////////////////////////////////
56 ////////////////////////////////////////////////////////////////////////////////
58 RIFF::AIFF::File::File(FileName file, bool readProperties,
59 Properties::ReadStyle propertiesStyle) : RIFF::File(file, BigEndian)
63 read(readProperties, propertiesStyle);
66 RIFF::AIFF::File::~File()
71 ID3v2::Tag *RIFF::AIFF::File::tag() const
76 RIFF::AIFF::Properties *RIFF::AIFF::File::audioProperties() const
81 bool RIFF::AIFF::File::save()
84 debug("RIFF::AIFF::File::save() -- File is read only.");
88 setChunkData("ID3 ", d->tag->render());
93 ////////////////////////////////////////////////////////////////////////////////
95 ////////////////////////////////////////////////////////////////////////////////
97 void RIFF::AIFF::File::read(bool readProperties, Properties::ReadStyle propertiesStyle)
99 for(uint i = 0; i < chunkCount(); i++) {
100 if(chunkName(i) == "ID3 ")
101 d->tag = new ID3v2::Tag(this, chunkOffset(i));
102 else if(chunkName(i) == "COMM" && readProperties)
103 d->properties = new Properties(chunkData(i), propertiesStyle);
107 d->tag = new ID3v2::Tag;