mp4coverart.h
Go to the documentation of this file.
/**************************************************************************
copyright : (C) 2009 by Lukáš Lalinský
email : lalinsky@gmail.com
**************************************************************************/
/***************************************************************************
* 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_MP4COVERART_H
#define TAGLIB_MP4COVERART_H
#include "tlist.h"
#include "tbytevector.h"
#include "taglib_export.h"
#include "mp4atom.h"
namespace TagLib {
namespace MP4 {
class TAGLIB_EXPORT CoverArt
{
public:
enum Format {
JPEG = TypeJPEG,
PNG = TypePNG,
BMP = TypeBMP,
GIF = TypeGIF,
Unknown = TypeImplicit,
};
CoverArt(Format format, const ByteVector &data);
~CoverArt();
CoverArt(const CoverArt &item);
CoverArt &operator=(const CoverArt &item);
void swap(CoverArt &item) noexcept;
Format format() const;
ByteVector data() const;
bool operator==(const CoverArt &other) const;
bool operator!=(const CoverArt &other) const;
private:
class CoverArtPrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::shared_ptr<CoverArtPrivate> d;
};
using CoverArtList = List<CoverArt>;
} // namespace MP4
} // namespace TagLib
#endif
TagLib::ByteVector
A byte vector.
Definition tbytevector.h:46
TagLib::List
A generic, implicitly shared list.
Definition tlist.h:54
TagLib::MP4::CoverArt::Format
Format
Definition mp4coverart.h:43
TagLib::MP4::CoverArt::JPEG
@ JPEG
Definition mp4coverart.h:44
TagLib::MP4::CoverArt::PNG
@ PNG
Definition mp4coverart.h:45
TagLib::MP4::CoverArt::Unknown
@ Unknown
Definition mp4coverart.h:48
TagLib::MP4::CoverArt::BMP
@ BMP
Definition mp4coverart.h:46
TagLib::MP4::CoverArt::GIF
@ GIF
Definition mp4coverart.h:47
TagLib::MP4::CoverArt::format
Format format() const
Format of the image.
TagLib::MP4::CoverArt::CoverArt
CoverArt(Format format, const ByteVector &data)
TagLib::MP4::CoverArt::CoverArt
CoverArt(const CoverArt &item)
TagLib::MP4::CoverArt::operator=
CoverArt & operator=(const CoverArt &item)
TagLib::MP4::CoverArt::operator==
bool operator==(const CoverArt &other) const
TagLib::MP4::CoverArt::swap
void swap(CoverArt &item) noexcept
TagLib::MP4::CoverArt::data
ByteVector data() const
The image data.
TagLib::MP4::CoverArt::~CoverArt
~CoverArt()
TagLib::MP4::CoverArt::operator!=
bool operator!=(const CoverArt &other) const
mp4atom.h
TagLib::MP4
An implementation of MP4 (AAC, ALAC, ...) metadata.
Definition mp4atom.h:35
TagLib::MP4::TypeBMP
@ TypeBMP
Windows bitmap image.
Definition mp4atom.h:77
TagLib::MP4::TypeImplicit
@ TypeImplicit
For use with tags for which no type needs to be indicated because only one type is allowed.
Definition mp4atom.h:39
TagLib::MP4::TypePNG
@ TypePNG
A PNG image.
Definition mp4atom.h:61
TagLib::MP4::TypeJPEG
@ TypeJPEG
A JPEG image.
Definition mp4atom.h:59
TagLib::MP4::TypeGIF
@ TypeGIF
(Deprecated) A GIF image
Definition mp4atom.h:57
TagLib::MP4::CoverArtList
List< CoverArt > CoverArtList
Definition mp4coverart.h:89
TagLib
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
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
tbytevector.h
tlist.h