FileRefPrivate::fileTypeResolvers.prepend(resolver);
}
+StringList FileRef::defaultFileExtensions()
+{
+ StringList l;
+
+ l.append("ogg");
+ l.append("flac");
+ l.append("mp3");
+ l.append("mpc");
+
+ return l;
+}
+
bool FileRef::isNull() const
{
return !d->file || !d->file->isValid();
String s = fileName;
+ // 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 Vorbis::File(fileName, readAudioProperties, audioPropertiesStyle);
#ifndef TAGLIB_FILEREF_H
#define TAGLIB_FILEREF_H
+#include <tstringlist.h>
+
#include "audioproperties.h"
namespace TagLib {
audioPropertiesStyle = AudioProperties::Average) const = 0;
};
+ /*!
+ * Creates a null FileRef.
+ */
FileRef();
/*!
* additional FileTypeResolver is added to the front of a list of resolvers
* that are tried. If the FileTypeResolver returns zero the next resolver
* is tried.
+ *
+ * \see FileTypeResolver
*/
static void addFileTypeResolver(const FileTypeResolver *resolver);
+ /*!
+ * As is mentioned elsewhere in this class's documentation, the default file
+ * type resolution code provided by TagLib only works by comparing file
+ * extensions.
+ *
+ * This method returns the list of file extensions that are used by default.
+ *
+ * The extensions are all returned in lowercase, though the comparison used
+ * by TagLib for resolution is case-insensitive.
+ *
+ * \note This does not account for any additional file type resolvers that
+ * are plugged in. Also note that this is not intended to replace a propper
+ * mime-type resolution system, but is just here for reference.
+ *
+ * \see FileTypeResolver
+ */
+ static StringList defaultFileExtensions();
+
/*!
* Returns true if the file (and as such other pointers) are null.
*/
*
* \note You generally shouldn't use this method, but instead the constructor
* directly.
+ *
+ * \deprecated
*/
static File *create(const char *fileName,
bool readAudioProperties = true,
AudioProperties::ReadStyle audioPropertiesStyle = AudioProperties::Average);
+
private:
class FileRefPrivate;
FileRefPrivate *d;