diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-02-11 17:14:44 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-02-11 17:14:44 +0000 |
| commit | fe35d45c894c646c239fe8fd2a03478d3cfb442b (patch) | |
| tree | 0995b059a8e7bf4f1f31c1c0b596988e2df83c52 /src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | |
| parent | 707762b07352f5fa6cf8221ae15e1c5bd738a3d9 (diff) | |
| download | qmmp-fe35d45c894c646c239fe8fd2a03478d3cfb442b.tar.gz qmmp-fe35d45c894c646c239fe8fd2a03478d3cfb442b.tar.bz2 qmmp-fe35d45c894c646c239fe8fd2a03478d3cfb442b.zip | |
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
Diffstat (limited to 'src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h')
| -rw-r--r-- | src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h | 35 |
1 files changed, 34 insertions, 1 deletions
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 <taglib/apefile.h> +#include <taglib/apetag.h> +#include <taglib/tfilestream.h> #include <qmmp/metadatamodel.h> class FFmpegMetaDataModel : public MetaDataModel { public: - explicit FFmpegMetaDataModel(const QString &path); + explicit FFmpegMetaDataModel(const QString &path, bool readOnly); ~FFmpegMetaDataModel(); + QList<TagModel *> 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<TagModel* > 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<Qmmp::MetaData> 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 |
