MythTV master
metaioflacvorbis.h
Go to the documentation of this file.
1#ifndef METAIOFLACVORBIS_H_
2#define METAIOFLACVORBIS_H_
3
4// libmythmetadata
5#include "metaiotaglib.h"
6#include "musicmetadata.h"
7
8// Taglib
9#include <taglib/flacfile.h>
10
19{
20public:
21 MetaIOFLACVorbis(void) = default;
22 ~MetaIOFLACVorbis(void) override = default;
23
24 bool write(const QString &filename, MusicMetadata* mdata) override; // MetaIOTagLib
25 bool writeAlbumArt(const QString &filename, const AlbumArtImage *albumart) override; // MetaIO
26 bool removeAlbumArt(const QString &filename, const AlbumArtImage *albumart) override; // MetaIO
27
28 MusicMetadata* read(const QString &filename) override; // MetaIOTagLib
29 AlbumArtList getAlbumArtList(const QString &filename) override; // MetaIO
30 QImage *getAlbumArt(const QString &filename, ImageType type) override; // MetaIO
31
32 bool supportsEmbeddedImages(void) override { return true; } // MetaIO
33
34 bool changeImageType(const QString &filename, const AlbumArtImage *albumart,
35 ImageType newType) override; // MetaIO
36
37 bool TagExists(const QString &filename) override; // MetaIO
38
39private:
40 static TagLib::FLAC::File *OpenFile(const QString &filename);
41 static TagLib::FLAC::Picture *getPictureFromFile(TagLib::FLAC::File *flacfile,
43 static TagLib::FLAC::Picture::Type PictureTypeFromImageType(ImageType itype);
44 static QString getExtFromMimeType(const QString &mimeType);
45};
46
47#endif
Read and write Vorbis (Xiph) tags in a FLAC file.
~MetaIOFLACVorbis(void) override=default
bool supportsEmbeddedImages(void) override
Does the tag support embedded cover art.
MetaIOFLACVorbis(void)=default
Base for Taglib metadata classes.
Definition: metaiotaglib.h:17
MusicMetadata * read(const QString &filename) override=0
Reads MusicMetadata from a file.
bool write(const QString &filename, MusicMetadata *mdata) override=0
Writes all metadata back to a file.
virtual bool changeImageType(const QString &filename, const AlbumArtImage *albumart, ImageType newType)
Definition: metaio.h:85
virtual bool writeAlbumArt(const QString &filename, const AlbumArtImage *albumart)
Definition: metaio.h:73
virtual QImage * getAlbumArt(const QString &filename, ImageType type)
Definition: metaio.h:92
virtual bool TagExists(const QString &filename)
Definition: metaio.h:123
virtual bool removeAlbumArt(const QString &filename, const AlbumArtImage *albumart)
Definition: metaio.h:79
virtual AlbumArtList getAlbumArtList(const QString &filename)
Reads the list of embedded images in the tag.
Definition: metaio.h:68
ImageType
Definition: musicmetadata.h:35
QList< AlbumArtImage * > AlbumArtList
Definition: musicmetadata.h:62
#define META_PUBLIC
Definition: mythmetaexp.h:9