summaryrefslogtreecommitdiff
path: root/libs/taglib/taglib/fileref.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/taglib/taglib/fileref.cpp')
-rw-r--r--libs/taglib/taglib/fileref.cpp203
1 files changed, 0 insertions, 203 deletions
diff --git a/libs/taglib/taglib/fileref.cpp b/libs/taglib/taglib/fileref.cpp
deleted file mode 100644
index eee62f2cfc..0000000000
--- a/libs/taglib/taglib/fileref.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-/***************************************************************************
- copyright : (C) 2002 - 2008 by Scott Wheeler
- email : wheeler@kde.org
- ***************************************************************************/
-
-/***************************************************************************
- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
- * USA *
- * *
- * Alternatively, this file is available under the Mozilla Public *
- * License Version 1.1. You may obtain a copy of the License at *
- * http://www.mozilla.org/MPL/ *
- ***************************************************************************/
-
-#include <tfile.h>
-#include <tstring.h>
-
-#include "fileref.h"
-#include "mpegfile.h"
-#include "vorbisfile.h"
-#include "flacfile.h"
-#include "oggflacfile.h"
-#include "mpcfile.h"
-#include "wavpackfile.h"
-#include "speexfile.h"
-#include "trueaudiofile.h"
-
-using namespace TagLib;
-
-class FileRef::FileRefPrivate : public RefCounter
-{
-public:
- FileRefPrivate(File *f) : RefCounter(), file(f) {}
- ~FileRefPrivate() {
- delete file;
- }
-
- File *file;
- static List<const FileTypeResolver *> fileTypeResolvers;
-};
-
-List<const FileRef::FileTypeResolver *> FileRef::FileRefPrivate::fileTypeResolvers;
-
-////////////////////////////////////////////////////////////////////////////////
-// public members
-////////////////////////////////////////////////////////////////////////////////
-
-FileRef::FileRef()
-{
- d = new FileRefPrivate(0);
-}
-
-FileRef::FileRef(FileName fileName, bool readAudioProperties,
- AudioProperties::ReadStyle audioPropertiesStyle)
-{
- d = new FileRefPrivate(create(fileName, readAudioProperties, audioPropertiesStyle));
-}
-
-FileRef::FileRef(File *file)
-{
- d = new FileRefPrivate(file);
-}
-
-FileRef::FileRef(const FileRef &ref) : d(ref.d)
-{
- d->ref();
-}
-
-FileRef::~FileRef()
-{
- if(d->deref())
- delete d;
-}
-
-Tag *FileRef::tag() const
-{
- return d->file->tag();
-}
-
-AudioProperties *FileRef::audioProperties() const
-{
- return d->file->audioProperties();
-}
-
-File *FileRef::file() const
-{
- return d->file;
-}
-
-bool FileRef::save()
-{
- return d->file->save();
-}
-
-const FileRef::FileTypeResolver *FileRef::addFileTypeResolver(const FileRef::FileTypeResolver *resolver) // static
-{
- FileRefPrivate::fileTypeResolvers.prepend(resolver);
- return resolver;
-}
-
-StringList FileRef::defaultFileExtensions()
-{
- StringList l;
-
- l.append("ogg");
- l.append("flac");
- l.append("oga");
- l.append("mp3");
- l.append("mpc");
- l.append("wv");
- l.append("spx");
- l.append("tta");
-
- return l;
-}
-
-bool FileRef::isNull() const
-{
- return !d->file || !d->file->isValid();
-}
-
-FileRef &FileRef::operator=(const FileRef &ref)
-{
- if(&ref == this)
- return *this;
-
- if(d->deref())
- delete d;
-
- d = ref.d;
- d->ref();
-
- return *this;
-}
-
-bool FileRef::operator==(const FileRef &ref) const
-{
- return ref.d->file == d->file;
-}
-
-bool FileRef::operator!=(const FileRef &ref) const
-{
- return ref.d->file != d->file;
-}
-
-File *FileRef::create(FileName fileName, bool readAudioProperties,
- AudioProperties::ReadStyle audioPropertiesStyle) // static
-{
-
- List<const FileTypeResolver *>::ConstIterator it = FileRefPrivate::fileTypeResolvers.begin();
-
- for(; it != FileRefPrivate::fileTypeResolvers.end(); ++it) {
- File *file = (*it)->createFile(fileName, readAudioProperties, audioPropertiesStyle);
- if(file)
- return file;
- }
-
- // Ok, this is really dumb for now, but it works for testing.
-
- String s;
-
-#ifdef _WIN32
- s = (wcslen((const wchar_t *) fileName) > 0) ? String((const wchar_t *) fileName) : String((const char *) fileName);
-#else
- s = fileName;
-#endif
-
- // If this list is updated, the method defaultFileExtensions() should also be
- // updated. However at some point that list should be created at the same time
- // that a default file type resolver is created.
-
- if(s.size() > 4) {
- if(s.substr(s.size() - 4, 4).upper() == ".OGG")
- return new Ogg::Vorbis::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 4, 4).upper() == ".MP3")
- return new MPEG::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 4, 4).upper() == ".OGA")
- return new Ogg::FLAC::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 5, 5).upper() == ".FLAC")
- return new FLAC::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 4, 4).upper() == ".MPC")
- return new MPC::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 3, 3).upper() == ".WV")
- return new WavPack::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 4, 4).upper() == ".SPX")
- return new Ogg::Speex::File(fileName, readAudioProperties, audioPropertiesStyle);
- if(s.substr(s.size() - 4, 4).upper() == ".TTA")
- return new TrueAudio::File(fileName, readAudioProperties, audioPropertiesStyle);
- }
-
- return 0;
-}