diff --git a/taglib/Makefile.am b/taglib/Makefile.am index 9a0fedbd..5a997a80 100644 --- a/taglib/Makefile.am +++ b/taglib/Makefile.am @@ -12,6 +12,9 @@ INCLUDES = \ -I$(top_srcdir)/taglib/ogg/speex \ -I$(top_srcdir)/taglib/wavpack \ -I$(top_srcdir)/taglib/trueaudio \ + -I$(top_srcdir)/taglib/riff \ + -I$(top_srcdir)/taglib/riff/aiff \ + -I$(top_srcdir)/taglib/mpeg/id3v2 \ $(all_includes) lib_LTLIBRARIES = libtag.la diff --git a/taglib/fileref.cpp b/taglib/fileref.cpp index eee62f2c..0fc977a3 100644 --- a/taglib/fileref.cpp +++ b/taglib/fileref.cpp @@ -35,6 +35,7 @@ #include "wavpackfile.h" #include "speexfile.h" #include "trueaudiofile.h" +#include "aifffile.h" using namespace TagLib; @@ -58,7 +59,7 @@ List FileRef::FileRefPrivate::fileTypeResolve FileRef::FileRef() { - d = new FileRefPrivate(0); + d = new FileRefPrivate(0); } FileRef::FileRef(FileName fileName, bool readAudioProperties, @@ -121,6 +122,8 @@ StringList FileRef::defaultFileExtensions() l.append("wv"); l.append("spx"); l.append("tta"); + l.append("aif"); + l.append("aiff"); return l; } @@ -197,6 +200,12 @@ File *FileRef::create(FileName fileName, bool readAudioProperties, return new Ogg::Speex::File(fileName, readAudioProperties, audioPropertiesStyle); if(s.substr(s.size() - 4, 4).upper() == ".TTA") return new TrueAudio::File(fileName, readAudioProperties, audioPropertiesStyle); + if(s.substr(s.size() - 4, 4).upper() == ".AIF") + return new RIFF::AIFF::File(fileName, readAudioProperties, audioPropertiesStyle); + } + if(s.size() > 5) { + if(s.substr(s.size() - 5, 5).upper() == ".AIFF") + return new RIFF::AIFF::File(fileName, readAudioProperties, audioPropertiesStyle); } return 0; diff --git a/taglib/riff/rifffile.cpp b/taglib/riff/rifffile.cpp index 34c320ed..2aca44aa 100644 --- a/taglib/riff/rifffile.cpp +++ b/taglib/riff/rifffile.cpp @@ -123,7 +123,8 @@ void RIFF::File::setChunkData(const ByteVector &name, const ByteVector &data) // First we update the global size - insert(ByteVector::fromUInt(d->size + sizeDifference, d->endianness == BigEndian), 4, 4); + insert(ByteVector::fromUInt(d->size + sizeDifference, + d->endianness == BigEndian), 4, 4); // Now update the specific chunk