MythTV master
Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
MetaIOMP4 Class Reference

Read and write metadata in MP4 container tags. More...

#include <libmythmetadata/metaiomp4.h>

Inheritance diagram for MetaIOMP4:
[legend]
Collaboration diagram for MetaIOMP4:
[legend]

Public Member Functions

 MetaIOMP4 (void)=default
 
 ~MetaIOMP4 (void) override=default
 
bool write (const QString &filename, MusicMetadata *mdata) override
 Writes all metadata back to a file. More...
 
MusicMetadataread (const QString &filename) override
 Reads MusicMetadata from a file. More...
 
- Public Member Functions inherited from MetaIO
 MetaIO ()
 
virtual ~MetaIO (void)=default
 
virtual bool write (const QString &filename, MusicMetadata *mdata)=0
 Writes all metadata back to a file. More...
 
virtual bool writeVolatileMetadata (const QString &filename, MusicMetadata *mdata)
 Writes rating and playcount back to a file. More...
 
virtual MusicMetadataread (const QString &filename)=0
 Reads MusicMetadata from a file. More...
 
virtual bool supportsEmbeddedImages (void)
 Does the tag support embedded cover art. More...
 
virtual AlbumArtList getAlbumArtList (const QString &filename)
 Reads the list of embedded images in the tag. More...
 
virtual bool writeAlbumArt (const QString &filename, const AlbumArtImage *albumart)
 
virtual bool removeAlbumArt (const QString &filename, const AlbumArtImage *albumart)
 
virtual bool changeImageType (const QString &filename, const AlbumArtImage *albumart, ImageType newType)
 
virtual QImage * getAlbumArt (const QString &filename, ImageType type)
 
void readFromFilename (const QString &filename, QString &artist, QString &album, QString &title, QString &genre, int &tracknum)
 Reads MusicMetadata based on the folder/filename. More...
 
MusicMetadatareadFromFilename (const QString &filename, bool blnLength=false)
 Reads MusicMetadata based on the folder/filename. More...
 
void readFromFilename (MusicMetadata *metadata)
 Reads MusicMetadata based on the folder/filename. More...
 
virtual bool TagExists (const QString &filename)
 

Private Member Functions

std::chrono::milliseconds getTrackLength (const QString &filename) override
 Find the length of the track (in milliseconds) More...
 

Static Private Member Functions

static QString getFieldValue (AVFormatContext *context, const char *tagname)
 Retrieve the value of a named metadata field. More...
 
static void metadataSanityCheck (QString *artist, QString *album, QString *title, QString *genre)
 Replace any empty strings in extracted metadata with sane defaults. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MetaIO
static MetaIOcreateTagger (const QString &filename)
 Finds an appropriate tagger for the given file. More...
 
static MusicMetadatareadMetadata (const QString &filename)
 Read the metadata from filename directly. More...
 
static MusicMetadatagetMetadata (const QString &filename)
 Get the metadata for filename. More...
 
- Static Public Attributes inherited from MetaIO
static const QString kValidFileExtensions
 
- Protected Member Functions inherited from MetaIO
void saveTimeStamps (void)
 
void restoreTimeStamps (void)
 
virtual std::chrono::milliseconds getTrackLength (const QString &filename)=0
 
- Protected Attributes inherited from MetaIO
QString m_filename
 
QString m_filenameFormat
 

Detailed Description

Read and write metadata in MP4 container tags.

Definition at line 16 of file metaiomp4.h.

Constructor & Destructor Documentation

◆ MetaIOMP4()

MetaIOMP4::MetaIOMP4 ( void  )
default

◆ ~MetaIOMP4()

MetaIOMP4::~MetaIOMP4 ( void  )
overridedefault

Member Function Documentation

◆ getFieldValue()

QString MetaIOMP4::getFieldValue ( AVFormatContext *  context,
const char *  tagname 
)
staticprivate

Retrieve the value of a named metadata field.

Parameters
contextAVFormatContext of the file
tagnameThe name of the field
Returns
A string containing the requested value

Definition at line 150 of file metaiomp4.cpp.

Referenced by read().

◆ getTrackLength()

std::chrono::milliseconds MetaIOMP4::getTrackLength ( const QString &  filename)
overrideprivatevirtual

Find the length of the track (in milliseconds)

Parameters
filenameThe filename for which we want to find the length.
Returns
An integer (signed!) to represent the length in milliseconds.

Implements MetaIO.

Definition at line 168 of file metaiomp4.cpp.

◆ metadataSanityCheck()

void MetaIOMP4::metadataSanityCheck ( QString *  artist,
QString *  album,
QString *  title,
QString *  genre 
)
staticprivate

Replace any empty strings in extracted metadata with sane defaults.

Parameters
artistArtist
albumAlbum
titleTitle
genreGenre

Definition at line 200 of file metaiomp4.cpp.

Referenced by read().

◆ read()

MusicMetadata * MetaIOMP4::read ( const QString &  filename)
overridevirtual

Reads MusicMetadata from a file.

Parameters
filenameThe filename to read metadata from.
Returns
MusicMetadata pointer or nullptr on error

Implements MetaIO.

Definition at line 69 of file metaiomp4.cpp.

◆ write()

bool MetaIOMP4::write ( const QString &  filename,
MusicMetadata mdata 
)
overridevirtual

Writes all metadata back to a file.

Parameters
filenameThe filename to write metadata to
mdataA pointer to a MusicMetadata object
Returns
Boolean to indicate success/failure.

Implements MetaIO.

Definition at line 18 of file metaiomp4.cpp.


The documentation for this class was generated from the following files: