diff --git a/cartist.cpp b/cartist.cpp new file mode 100644 index 0000000..6ffead5 --- /dev/null +++ b/cartist.cpp @@ -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); +} diff --git a/cartist.h b/cartist.h new file mode 100644 index 0000000..d56c40c --- /dev/null +++ b/cartist.h @@ -0,0 +1,124 @@ +#ifndef CARTIST_H +#define CARTIST_H + + +#include +#include +#include +#include +#include + + +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 +{ +public: + cArtist* add(const qint32& iArtistID); + cArtist* add(cArtist* lpArtist); + cArtist* find(const qint32& iArtistID); +}; + +#endif // CARTIST_H diff --git a/cmainwindow.cpp b/cmainwindow.cpp index dbc2eed..4fc49fe 100644 --- a/cmainwindow.cpp +++ b/cmainwindow.cpp @@ -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 artistList = theAudioDBV1.searchArtist("Wolfgang Ambros"); QSettings settings; diff --git a/ctheaudiodbv1.cpp b/ctheaudiodbv1.cpp new file mode 100644 index 0000000..b1e7933 --- /dev/null +++ b/ctheaudiodbv1.cpp @@ -0,0 +1,96 @@ +#include "ctheaudiodbv1.h" + + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +cTheAudioDBV1::cTheAudioDBV1() +{ + m_szToken = "1"; +} + +cTheAudioDBV1::~cTheAudioDBV1() +{ +} + +QList cTheAudioDBV1::searchArtist(const QString& szArtist) +{ + QList 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); +} diff --git a/ctheaudiodbv1.h b/ctheaudiodbv1.h new file mode 100644 index 0000000..b6efe84 --- /dev/null +++ b/ctheaudiodbv1.h @@ -0,0 +1,24 @@ +#ifndef CTHEAUDIODBV1_H +#define CTHEAUDIODBV1_H + + +#include "cartist.h" + +#include +#include +#include +#include + + +class cTheAudioDBV1 +{ +public: + cTheAudioDBV1(); + ~cTheAudioDBV1(); + + QList searchArtist(const QString& szArtist); +private: + QString m_szToken; +}; + +#endif // CTHEAUDIODBV1_H diff --git a/cthemoviedbv3.cpp b/cthemoviedbv3.cpp index b773b05..c063647 100644 --- a/cthemoviedbv3.cpp +++ b/cthemoviedbv3.cpp @@ -12,8 +12,6 @@ #include -//using std::pair; - cTheMovieDBV3::cTheMovieDBV3() { diff --git a/qtMovies.pro b/qtMovies.pro index 74cb1e0..a55aa38 100644 --- a/qtMovies.pro +++ b/qtMovies.pro @@ -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 \