1
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
3
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
4
* Copyright 2010-2011, Jeff Mitchell <jeff@tomahawk-player.org>
6
* Tomahawk is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
11
* Tomahawk is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
20
#ifndef ECHONESTPLUGIN_H
21
#define ECHONESTPLUGIN_H
23
#include "infoplugins/InfoPluginDllMacro.h"
24
#include "infosystem/InfoSystem.h"
25
#include "infosystem/InfoSystemWorker.h"
26
#include "echonest/Artist.h"
38
class INFOPLUGINDLLEXPORT EchonestPlugin : public InfoPlugin
41
Q_INTERFACES( Tomahawk::InfoSystem::InfoPlugin )
45
virtual ~EchonestPlugin();
50
virtual void getInfo( Tomahawk::InfoSystem::InfoRequestData requestData );
52
virtual void pushInfo( Tomahawk::InfoSystem::InfoPushData pushData )
57
virtual void notInCacheSlot( Tomahawk::InfoSystem::InfoStringHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData )
60
Q_UNUSED( requestData );
64
void getSongProfile( const Tomahawk::InfoSystem::InfoRequestData &requestData, const QString &item = QString() );
65
void getArtistBiography( const Tomahawk::InfoSystem::InfoRequestData &requestData );
66
void getArtistFamiliarity( const Tomahawk::InfoSystem::InfoRequestData &requestData );
67
void getArtistHotttnesss( const Tomahawk::InfoSystem::InfoRequestData &requestData );
68
void getArtistTerms( const Tomahawk::InfoSystem::InfoRequestData &requestData );
69
void getMiscTopTerms( const Tomahawk::InfoSystem::InfoRequestData &requestData );
71
bool isValidArtistData( const Tomahawk::InfoSystem::InfoRequestData &requestData );
72
bool isValidTrackData( const Tomahawk::InfoSystem::InfoRequestData &requestData );
73
Echonest::Artist artistFromReply( QNetworkReply* );
76
void getArtistBiographySlot();
77
void getArtistFamiliaritySlot();
78
void getArtistHotttnesssSlot();
79
void getArtistTermsSlot();
80
void getMiscTopSlot();
87
#endif // ECHONESTPLUGIN_H