From fe35d45c894c646c239fe8fd2a03478d3cfb442b Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 11 Feb 2021 17:14:44 +0000 Subject: ffmpeg: added ape/cue editor git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9724 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 35 +++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h') diff --git a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h index 518960401..b198655ed 100644 --- a/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h +++ b/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h @@ -21,17 +21,50 @@ #ifndef FFMPEGMETADATAMODEL_H #define FFMPEGMETADATAMODEL_H +#include +#include +#include #include class FFmpegMetaDataModel : public MetaDataModel { public: - explicit FFmpegMetaDataModel(const QString &path); + explicit FFmpegMetaDataModel(const QString &path, bool readOnly); ~FFmpegMetaDataModel(); + QList tags() const override; QPixmap cover() const override; + QString coverPath() const override; + QString cue() const; + void setCue(const QString &content); + void removeCue(); private: QPixmap m_pixmap; + QList m_tags; + TagLib::APE::Tag *m_tag; + TagLib::APE::File *m_file = nullptr; + TagLib::FileStream *m_stream = nullptr; + QString m_path; +}; + +class ApeTagModel : public TagModel +{ +public: + ApeTagModel(TagLib::APE::File *file); + ~ApeTagModel(); + QString name() const override; + QList keys() const override; + QString value(Qmmp::MetaData key) const override; + void setValue(Qmmp::MetaData key, const QString &value) override; + bool exists() const override; + void create() override; + void remove() override; + void save() override; + +private: + TagLib::APE::File *m_file; + bool m_strip = false; + }; #endif // FFMPEGMETADATAMODEL_H -- cgit v1.2.3-13-gbd6f