added AudioDB

This commit is contained in:
Herwig Birke
2018-11-09 14:59:32 +01:00
parent a568a7d985
commit 775e183721
7 changed files with 633 additions and 6 deletions
+378
View File
@@ -0,0 +1,378 @@
#include "cartist.h"
cArtist::cArtist() :
m_iArtistID(0),
m_szArtist(QString("")),
m_szArtistStripped(QString("")),
m_szArtistAlernate(QString("")),
m_szLabel(QString("")),
m_iLabelID(0),
m_iFormedYear(0),
m_iBornYear(0),
m_iDiedYear(0),
m_szDisbanded(QString("")),
m_szStyle(QString("")),
m_szGenre(QString("")),
m_szMood(QString("")),
m_szWebsite(QString("")),
m_szFacebook(QString("")),
m_szTwitter(QString("")),
m_szBiography(QString("")),
m_szGender(QString("")),
m_iMembers(0),
m_szCountry(QString("")),
m_szCountryCode(QString("")),
m_szArtistThumb(QString("")),
m_szArtistLogo(QString("")),
m_szArtistClearart(QString("")),
m_szArtistWideThumb(QString("")),
m_szArtistFanart(QString("")),
m_szArtistFanart2(QString("")),
m_szArtistFanart3(QString("")),
m_szArtistBanner(QString("")),
m_szMusicBrainzID(QString("")),
m_szLastFMChart(QString(""))
{
}
void cArtist::setArtistID(const qint32& iArtistID)
{
m_iArtistID = iArtistID;
}
qint32 cArtist::artistID()
{
return(m_iArtistID);
}
void cArtist::setArtist(const QString& szArtist)
{
m_szArtist = szArtist;
}
QString cArtist::artist()
{
return(m_szArtist);
}
void cArtist::setArtistStripped(const QString& szArtistStripped)
{
m_szArtistStripped = szArtistStripped;
}
QString cArtist::artistStripped()
{
return(m_szArtistStripped);
}
void cArtist::setArtistAlernate(const QString& szArtistAlernate)
{
m_szArtistAlernate = szArtistAlernate;
}
QString cArtist::artistAlernate()
{
return(m_szArtistAlernate);
}
void cArtist::setLabel(const QString& szLabel)
{
m_szLabel = szLabel;
}
QString cArtist::label()
{
return(m_szLabel);
}
void cArtist::setLabelID(const qint32& iLabelID)
{
m_iLabelID = iLabelID;
}
qint32 cArtist::labelID()
{
return(m_iLabelID);
}
void cArtist::setFormedYear(const qint32& iFormedYear)
{
m_iFormedYear = iFormedYear;
}
qint32 cArtist::formedYear()
{
return(m_iFormedYear);
}
void cArtist::setBornYear(const qint32& iBornYear)
{
m_iBornYear = iBornYear;
}
qint32 cArtist::bornYear()
{
return(m_iBornYear);
}
void cArtist::setDiedYear(const qint32& iDiedYear)
{
m_iDiedYear = iDiedYear;
}
qint32 cArtist::diedYear()
{
return(m_iDiedYear);
}
void cArtist::setDisbanded(const QString& szDisbanded)
{
m_szDisbanded = szDisbanded;
}
QString cArtist::disbanded()
{
return(m_szDisbanded);
}
void cArtist::setStyle(const QString& szStyle)
{
m_szStyle = szStyle;
}
QString cArtist::style()
{
return(m_szStyle);
}
void cArtist::setGenre(const QString& szGenre)
{
m_szGenre = szGenre;
}
QString cArtist::genre()
{
return(m_szGenre);
}
void cArtist::setMood(const QString& szMood)
{
m_szMood = szMood;
}
QString cArtist::mood()
{
return(m_szMood);
}
void cArtist::setWebsite(const QString& szWebsite)
{
m_szWebsite = szWebsite;
}
QString cArtist::website()
{
return(m_szWebsite);
}
void cArtist::setFacebook(const QString& szFacebook)
{
m_szFacebook = szFacebook;
}
QString cArtist::facebook()
{
return(m_szFacebook);
}
void cArtist::setTwitter(const QString& szTwitter)
{
m_szTwitter = szTwitter;
}
QString cArtist::twitter()
{
return(m_szTwitter);
}
void cArtist::setBiography(const QString& szBiography)
{
m_szBiography = szBiography;
}
QString cArtist::biography()
{
return(m_szBiography);
}
void cArtist::setGender(const QString& szGender)
{
m_szGender = szGender;
}
QString cArtist::gender()
{
return(m_szGender);
}
void cArtist::setMembers(const qint32& iMembers)
{
m_iMembers = iMembers;
}
qint32 cArtist::members()
{
return(m_iMembers);
}
void cArtist::setCountry(const QString& szCountry)
{
m_szCountry = szCountry;
}
QString cArtist::country()
{
return(m_szCountry);
}
void cArtist::setCountryCode(const QString& szCountryCode)
{
m_szCountryCode = szCountryCode;
}
QString cArtist::countryCode()
{
return(m_szCountryCode);
}
void cArtist::setArtistThumb(const QString& szArtistThumb)
{
m_szArtistThumb = szArtistThumb;
}
QString cArtist::artistThumb()
{
return(m_szArtistThumb);
}
void cArtist::setArtistLogo(const QString& szArtistLogo)
{
m_szArtistLogo = szArtistLogo;
}
QString cArtist::artistLogo()
{
return(m_szArtistLogo);
}
void cArtist::setArtistClearart(const QString& szArtistClearart)
{
m_szArtistClearart = szArtistClearart;
}
QString cArtist::artistClearart()
{
return(m_szArtistClearart);
}
void cArtist::setArtistWideThumb(const QString& szArtistWideThumb)
{
m_szArtistWideThumb = szArtistWideThumb;
}
QString cArtist::artistWideThumb()
{
return(m_szArtistWideThumb);
}
void cArtist::setArtistFanart(const QString& szArtistFanart)
{
m_szArtistFanart = szArtistFanart;
}
QString cArtist::artistFanart()
{
return(m_szArtistFanart);
}
void cArtist::setArtistFanart2(const QString& szArtistFanart2)
{
m_szArtistFanart2 = szArtistFanart2;
}
QString cArtist::artistFanart2()
{
return(m_szArtistFanart2);
}
void cArtist::setArtistFanart3(const QString& szArtistFanart3)
{
m_szArtistFanart3 = szArtistFanart3;
}
QString cArtist::artistFanart3()
{
return(m_szArtistFanart3);
}
void cArtist::setArtistBanner(const QString& szArtistBanner)
{
m_szArtistBanner = szArtistBanner;
}
QString cArtist::artistBanner()
{
return(m_szArtistBanner);
}
void cArtist::setMusicBrainzID(const QString& szMusicBrainzID)
{
m_szMusicBrainzID = szMusicBrainzID;
}
QString cArtist::musicBrainzID()
{
return(m_szMusicBrainzID);
}
void cArtist::setLastFMChart(const QString& szLastFMChart)
{
m_szLastFMChart = szLastFMChart;
}
QString cArtist::lastFMChart()
{
return(m_szLastFMChart);
}
cArtist* cArtistList::add(const qint32& iID)
{
cArtist* lpNew = find(iID);
if(!lpNew)
lpNew = new cArtist;
lpNew->setArtistID(iID);
append(lpNew);
return(lpNew);
}
cArtist* cArtistList::add(cArtist* lpArtist)
{
for(int z = 0;z < count();z++)
{
if(at(z) == lpArtist)
return(0);
}
append(lpArtist);
return(lpArtist);
}
cArtist* cArtistList::find(const qint32& iID)
{
for(int z = 0;z < count();z++)
{
if(at(z)->artistID() == iID)
return(at(z));
}
return(0);
}
+124
View File
@@ -0,0 +1,124 @@
#ifndef CARTIST_H
#define CARTIST_H
#include <QMetaType>
#include <QDate>
#include <QSqlDatabase>
#include <QStringList>
#include <QMap>
class cArtist
{
public:
cArtist();
void setArtistID(const qint32& iArtistID);
qint32 artistID();
void setArtist(const QString& szArtist);
QString artist();
void setArtistStripped(const QString& szArtistStripped);
QString artistStripped();
void setArtistAlernate(const QString& szArtistAlernate);
QString artistAlernate();
void setLabel(const QString& szLabel);
QString label();
void setLabelID(const qint32& iLabelID);
qint32 labelID();
void setFormedYear(const qint32& iFormedYear);
qint32 formedYear();
void setBornYear(const qint32& iBornYear);
qint32 bornYear();
void setDiedYear(const qint32& iDiedYear);
qint32 diedYear();
void setDisbanded(const QString& szDisbanded);
QString disbanded();
void setStyle(const QString& szStyle);
QString style();
void setGenre(const QString& szGenre);
QString genre();
void setMood(const QString& szMood);
QString mood();
void setWebsite(const QString& szWebsite);
QString website();
void setFacebook(const QString& szFacebook);
QString facebook();
void setTwitter(const QString& szTwitter);
QString twitter();
void setBiography(const QString& szBiography);
QString biography();
void setGender(const QString& szGender);
QString gender();
void setMembers(const qint32& iMembers);
qint32 members();
void setCountry(const QString& szCountry);
QString country();
void setCountryCode(const QString& szCountryCode);
QString countryCode();
void setArtistThumb(const QString& szArtistThumb);
QString artistThumb();
void setArtistLogo(const QString& szArtistLogo);
QString artistLogo();
void setArtistClearart(const QString& szArtistClearart);
QString artistClearart();
void setArtistWideThumb(const QString& szArtistWideThumb);
QString artistWideThumb();
void setArtistFanart(const QString& szArtistFanart);
QString artistFanart();
void setArtistFanart2(const QString& szArtistFanart2);
QString artistFanart2();
void setArtistFanart3(const QString& szArtistFanart3);
QString artistFanart3();
void setArtistBanner(const QString& szArtistBanner);
QString artistBanner();
void setMusicBrainzID(const QString& szMusicBrainzID);
QString musicBrainzID();
void setLastFMChart(const QString& szLastFMChart);
QString lastFMChart();
private:
qint32 m_iArtistID;
QString m_szArtist;
QString m_szArtistStripped;
QString m_szArtistAlernate;
QString m_szLabel;
qint32 m_iLabelID;
qint16 m_iFormedYear;
qint16 m_iBornYear;
qint16 m_iDiedYear;
QString m_szDisbanded;
QString m_szStyle;
QString m_szGenre;
QString m_szMood;
QString m_szWebsite;
QString m_szFacebook;
QString m_szTwitter;
QString m_szBiography;
QString m_szGender;
qint16 m_iMembers;
QString m_szCountry;
QString m_szCountryCode;
QString m_szArtistThumb;
QString m_szArtistLogo;
QString m_szArtistClearart;
QString m_szArtistWideThumb;
QString m_szArtistFanart;
QString m_szArtistFanart2;
QString m_szArtistFanart3;
QString m_szArtistBanner;
QString m_szMusicBrainzID;
QString m_szLastFMChart;
};
Q_DECLARE_METATYPE(cArtist*)
class cArtistList : public QList<cArtist*>
{
public:
cArtist* add(const qint32& iArtistID);
cArtist* add(cArtist* lpArtist);
cArtist* find(const qint32& iArtistID);
};
#endif // CARTIST_H
+5 -2
View File
@@ -78,12 +78,14 @@ static bool movieSort(cMovie* s1, cMovie* s2)
return(title1 < title2);
}
#include "ctheaudiodbv1.h"
#include "cartist.h"
cMainWindow::cMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::cMainWindow),
m_szOldSelected(""),
m_lpMessageDialog(0),
// m_lpUpdateThread(0),
m_lpPicturesThread(0),
m_bProcessing(false),
m_lpShortcutAdd(0),
@@ -94,7 +96,8 @@ cMainWindow::cMainWindow(QWidget *parent) :
m_lpFileExportAction(0),
m_lpFileExitAction(0)
{
// m_timer.start();
cTheAudioDBV1 theAudioDBV1;
QList<cArtist*> artistList = theAudioDBV1.searchArtist("Wolfgang Ambros");
QSettings settings;
+96
View File
@@ -0,0 +1,96 @@
#include "ctheaudiodbv1.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QEventLoop>
#include <QByteArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QApplication>
cTheAudioDBV1::cTheAudioDBV1()
{
m_szToken = "1";
}
cTheAudioDBV1::~cTheAudioDBV1()
{
}
QList<cArtist*> cTheAudioDBV1::searchArtist(const QString& szArtist)
{
QList<cArtist*> artistList;
QNetworkAccessManager networkManager;
// QString szRequest = QString("theaudiodb.com/api/v1/json/%1/search.php?s=%2").arg(m_szToken).arg(szArtist);
QNetworkRequest request(QUrl(QString("theaudiodb.com/api/v1/json/%1/search.php?s=%2").arg(m_szToken).arg(szArtist)));
QNetworkReply* reply = networkManager.get(request);
QEventLoop loop;
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
if (reply->error() == QNetworkReply::NoError)
{
QString strReply = (QString)reply->readAll();
QJsonDocument jsonResponse = QJsonDocument::fromJson(strReply.toUtf8());
QJsonObject jsonObj = jsonResponse.object();
QJsonArray jsonArray = jsonObj["artists"].toArray();
for(int z = 0;z < jsonArray.count();z++)
{
QJsonObject artist = jsonArray[z].toObject();
cArtist* lpArtist = new cArtist;
lpArtist->setArtistID(artist["idArtist"].toInt());
lpArtist->setArtist(artist["strArtist"].toString());
lpArtist->setArtistStripped(artist["strArtistStripped"].toString());
lpArtist->setArtistAlernate(artist["strArtistAlternate"].toString());
lpArtist->setLabel(artist["strLabel"].toString());
lpArtist->setLabelID(artist["idLabel"].toInt());
lpArtist->setFormedYear(artist["intFormedYear"].toInt());
lpArtist->setBornYear(artist["intBornYear"].toInt());
lpArtist->setDiedYear(artist["intDiedYear"].toInt());
lpArtist->setDisbanded(artist["strDisbanded"].toString());
lpArtist->setStyle(artist["strStyle"].toString());
lpArtist->setGenre(artist["strGenre"].toString());
lpArtist->setMood(artist["strMood"].toString());
lpArtist->setWebsite(artist["strWebsite"].toString());
lpArtist->setFacebook(artist["strFacebook"].toString());
lpArtist->setTwitter(artist["strTwitter"].toString());
lpArtist->setBiography(artist["strBiographyDE"].toString());
if(lpArtist->biography().isEmpty())
lpArtist->setBiography(artist["strBiographyEN"].toString());
lpArtist->setGender(artist["strGender"].toString());
lpArtist->setMembers(artist["intMembers"].toInt());
lpArtist->setCountry(artist["strCountry"].toString());
lpArtist->setCountryCode(artist["strCountryCode"].toString());
lpArtist->setArtistThumb(artist["strArtistThumb"].toString());
lpArtist->setArtistLogo(artist["strArtistLogo"].toString());
lpArtist->setArtistClearart(artist["strArtistClearart"].toString());
lpArtist->setArtistWideThumb(artist["strArtistWideThumb"].toString());
lpArtist->setArtistFanart(artist["strArtistFanart"].toString());
lpArtist->setArtistFanart2(artist["strArtistFanart2"].toString());
lpArtist->setArtistFanart3(artist["strArtistFanart3"].toString());
lpArtist->setArtistBanner(artist["strArtistBanner"].toString());
lpArtist->setMusicBrainzID(artist["strMusicBrainzID"].toString());
lpArtist->setLastFMChart(artist["strLastFMChart"].toString());
artistList.append(lpArtist);
}
delete reply;
}
else
{
qDebug() << reply->errorString();
delete reply;
}
return(artistList);
}
+24
View File
@@ -0,0 +1,24 @@
#ifndef CTHEAUDIODBV1_H
#define CTHEAUDIODBV1_H
#include "cartist.h"
#include <QString>
#include <QList>
#include <QStringList>
#include <QMap>
class cTheAudioDBV1
{
public:
cTheAudioDBV1();
~cTheAudioDBV1();
QList<cArtist*> searchArtist(const QString& szArtist);
private:
QString m_szToken;
};
#endif // CTHEAUDIODBV1_H
-2
View File
@@ -12,8 +12,6 @@
#include <QApplication>
//using std::pair;
cTheMovieDBV3::cTheMovieDBV3()
{
+6 -2
View File
@@ -45,7 +45,9 @@ SOURCES += main.cpp\
qxtspanslider.cpp \
ccheckboxitemdelegate.cpp \
cmoviedetails.cpp \
cseriedetails.cpp
cseriedetails.cpp \
ctheaudiodbv1.cpp \
cartist.cpp
HEADERS += cmainwindow.h \
cserie.h \
@@ -80,7 +82,9 @@ HEADERS += cmainwindow.h \
qxtspanslider_p.h \
ccheckboxitemdelegate.h \
cmoviedetails.h \
cseriedetails.h
cseriedetails.h \
ctheaudiodbv1.h \
cartist.h
FORMS += cmainwindow.ui \
csearch.ui \