26#ifndef TAGLIB_FILEREF_H
27#define TAGLIB_FILEREF_H
92 bool readAudioProperties =
true,
96 class FileTypeResolverPrivate;
98 std::unique_ptr<FileTypeResolverPrivate> d;
163 bool readAudioProperties =
true,
167 class StreamTypeResolverPrivate;
169 std::unique_ptr<StreamTypeResolverPrivate> d;
187 bool readAudioProperties =
true,
204 bool readAudioProperties =
true,
410 class FileRefPrivate;
412 std::shared_ptr<FileRefPrivate> d;
A simple, abstract interface to common audio properties.
Definition: audioproperties.h:46
ReadStyle
Definition: audioproperties.h:56
@ Average
Read more of the file and make better values guesses.
Definition: audioproperties.h:60
A class for pluggable file type resolution.
Definition: fileref.h:71
virtual File * createFile(FileName fileName, bool readAudioProperties=true, AudioProperties::ReadStyle audioPropertiesStyle=AudioProperties::Average) const =0
virtual ~FileTypeResolver()=0
FileTypeResolver & operator=(const FileTypeResolver &)=delete
FileTypeResolver(const FileTypeResolver &)=delete
A class for pluggable stream type resolution.
Definition: fileref.h:140
virtual File * createFileFromStream(IOStream *stream, bool readAudioProperties=true, AudioProperties::ReadStyle audioPropertiesStyle=AudioProperties::Average) const =0
StreamTypeResolver(const StreamTypeResolver &)=delete
virtual ~StreamTypeResolver() override=0
StreamTypeResolver & operator=(const StreamTypeResolver &)=delete
This class provides a simple abstraction for creating and handling files.
Definition: fileref.h:60
PropertyMap properties() const
static StringList defaultFileExtensions()
static const FileTypeResolver * addFileTypeResolver(const FileTypeResolver *resolver)
FileRef(const FileRef &ref)
bool operator!=(const FileRef &ref) const
void swap(FileRef &ref) noexcept
List< VariantMap > complexProperties(const String &key) const
FileRef(IOStream *stream, bool readAudioProperties=true, AudioProperties::ReadStyle audioPropertiesStyle=AudioProperties::Average)
bool setComplexProperties(const String &key, const List< VariantMap > &value)
void removeUnsupportedProperties(const StringList &properties)
static void clearFileTypeResolvers()
FileRef(FileName fileName, bool readAudioProperties=true, AudioProperties::ReadStyle audioPropertiesStyle=AudioProperties::Average)
AudioProperties * audioProperties() const
StringList complexPropertyKeys() const
PropertyMap setProperties(const PropertyMap &properties)
FileRef & operator=(const FileRef &ref)
bool operator==(const FileRef &ref) const
A file class with some useful methods for tag manipulation.
Definition: tfile.h:51
An abstract class that provides operations on a sequence of bytes.
Definition: tiostream.h:65
A generic, implicitly shared list.
Definition: tlist.h:54
A map for format-independent <key,values> tag representations.
Definition: tpropertymap.h:123
A list of strings.
Definition: tstringlist.h:44
A wide string class suitable for unicode.
Definition: tstring.h:83
A simple, generic interface to common audio metadata fields.
Definition: tag.h:49
A namespace for all TagLib related classes and functions.
Definition: apefile.h:41
const char * FileName
Definition: tiostream.h:59
#define TAGLIB_EXPORT
Definition: taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition: taglib_export.h:55