aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-02-11 17:14:44 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-02-11 17:14:44 +0000
commitfe35d45c894c646c239fe8fd2a03478d3cfb442b (patch)
tree0995b059a8e7bf4f1f31c1c0b596988e2df83c52 /src/plugins/Input/ffmpeg/ffmpegmetadatamodel.h
parent707762b07352f5fa6cf8221ae15e1c5bd738a3d9 (diff)
downloadqmmp-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.h35
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