summaryrefslogtreecommitdiffstats
path: root/webdownloader.h
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-07-06 10:33:13 +0200
committerArno <arno@disconnect.de>2017-07-06 10:33:13 +0200
commitdbc19ad71cbac5166aa0b82c97b726b464f4fdca (patch)
tree11b6de922f37b830eba36a9961b4deaefd68668c /webdownloader.h
parentf9771c52ff6b350c29db70216b79bb4f60081763 (diff)
downloadBeetPlayer-dbc19ad71cbac5166aa0b82c97b726b464f4fdca.tar.gz
BeetPlayer-dbc19ad71cbac5166aa0b82c97b726b464f4fdca.tar.bz2
BeetPlayer-dbc19ad71cbac5166aa0b82c97b726b464f4fdca.zip
Implemented MusicBrainz lookup
Wow, what a convoluted api, to say the least... They have documentation, which is good, but the query syntax definitely needs more explaining, foremost how to encode non-ASCII characters and names with whitspaces... Well, it kinda works, but the Other Albums sections can be waaaaay off...
Diffstat (limited to 'webdownloader.h')
-rw-r--r--webdownloader.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/webdownloader.h b/webdownloader.h
new file mode 100644
index 0000000..522ec86
--- /dev/null
+++ b/webdownloader.h
@@ -0,0 +1,32 @@
+#ifndef WEBDOWNLOADER_H
+#define WEBDOWNLOADER_H
+
+#include <QObject>
+#include <QNetworkAccessManager>
+#include <QMap>
+
+class WebDownloader : public QObject {
+ Q_OBJECT
+ public:
+ WebDownloader(QObject *parent = 0);
+ void fetchData(QString artist, QString album);
+ const QString album() const { return mAlbum; }
+ const QString artist() const { return mArtist; }
+ const QStringList data() const { return mData; }
+ const QMap<QString, QString> otherData() const { return mOtherData; }
+
+ signals:
+ void done();
+
+ private slots:
+ void dlFinished(QNetworkReply *reply);
+
+ private:
+ QNetworkAccessManager *mAccessMgr;
+ QString mArtist;
+ QString mAlbum;
+ QStringList mData;
+ QMap<QString, QString> mOtherData;
+};
+
+#endif // WEBDOWNLOADER_H