audioproperties.h
Go to the documentation of this file.
/***************************************************************************
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., 51 Franklin Street, Fifth Floor, Boston, MA *
* 02110-1301 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/ *
***************************************************************************/
#ifndef TAGLIB_AUDIOPROPERTIES_H
#define TAGLIB_AUDIOPROPERTIES_H
#include <memory>
#include "taglib.h"
#include "taglib_export.h"
namespace TagLib {
class TAGLIB_EXPORT AudioProperties
{
public:
enum ReadStyle {
Fast,
Average,
Accurate
};
virtual ~AudioProperties();
AudioProperties(const AudioProperties &) = delete;
AudioProperties &operator=(const AudioProperties &) = delete;
TAGLIB_DEPRECATED
virtual int length() const;
virtual int lengthInSeconds() const;
virtual int lengthInMilliseconds() const;
virtual int bitrate() const;
virtual int sampleRate() const;
virtual int channels() const = 0;
protected:
AudioProperties(ReadStyle style);
private:
class AudioPropertiesPrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr<AudioPropertiesPrivate> d;
};
} // namespace TagLib
#endif
TagLib::AudioProperties::sampleRate
virtual int sampleRate() const
TagLib::AudioProperties::AudioProperties
AudioProperties(ReadStyle style)
TagLib::AudioProperties::length
virtual TAGLIB_DEPRECATED int length() const
TagLib::AudioProperties::AudioProperties
AudioProperties(const AudioProperties &)=delete
TagLib::AudioProperties::channels
virtual int channels() const =0
TagLib::AudioProperties::lengthInSeconds
virtual int lengthInSeconds() const
TagLib::AudioProperties::bitrate
virtual int bitrate() const
TagLib::AudioProperties::operator=
AudioProperties & operator=(const AudioProperties &)=delete
TagLib::AudioProperties::lengthInMilliseconds
virtual int lengthInMilliseconds() const
TagLib::AudioProperties::~AudioProperties
virtual ~AudioProperties()
TagLib::AudioProperties::ReadStyle
ReadStyle
Definition audioproperties.h:56
TagLib::AudioProperties::Accurate
@ Accurate
Read as much of the file as needed to report accurate values.
Definition audioproperties.h:62
TagLib::AudioProperties::Fast
@ Fast
Read as little of the file as possible.
Definition audioproperties.h:58
TagLib::AudioProperties::Average
@ Average
Read more of the file and make better values guesses.
Definition audioproperties.h:60
TagLib
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
taglib.h
TAGLIB_DEPRECATED
#define TAGLIB_DEPRECATED
Definition taglib.h:39
taglib_export.h
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition taglib_export.h:40
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55