File indexing completed on 2024-05-19 04:48:28

0001 #pragma once
0002 #include <QByteArray>
0003 #include <QObject>
0004 #include <QString>
0005 
0006 #include <taglib/fileref.h>
0007 #include <taglib/tag.h>
0008 
0009 class TagInfo : public QObject
0010 {
0011     Q_OBJECT
0012 public:
0013     TagInfo(const QString &url, QObject *parent = nullptr);
0014     TagInfo(QObject *parent = nullptr);
0015 
0016     ~TagInfo();
0017     bool isNull();
0018     QString getAlbum() const;
0019     QString getTitle() const;
0020     QString getArtist() const;
0021     int getTrack() const;
0022     QString getGenre() const;
0023     QString fileName() const;
0024     QString getComment() const;
0025     QByteArray getCover() const;
0026     int getDuration() const;
0027     uint getYear() const;
0028 
0029     void setFile(const QString &url);
0030     void setAlbum(const QString &album);
0031     void setTitle(const QString &title);
0032     void setTrack(const int &track);
0033     void setYear(const int &year);
0034     void setArtist(const QString &artist);
0035     void setGenre(const QString &genre);
0036     void setComment(const QString &comment);
0037     void setCover(const QByteArray &array);
0038 
0039 private:
0040     TagLib::FileRef *file;
0041     QString path;
0042     wchar_t *m_path;
0043 };