mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-09-02 18:33:16 +02:00
* Added interface for startFromGenre( QString ).
This commit is contained in:
@@ -281,6 +281,7 @@ PlayableProxyModelPlaylistInterface::queryAt( qint64 index ) const
|
||||
if ( m_proxyModel.isNull() )
|
||||
return query_ptr();
|
||||
|
||||
tDebug() << Q_FUNC_INFO << "item on index:" << index;
|
||||
PlayableItem* item = static_cast<PlayableItem*>( (void*)index );
|
||||
if ( item && item->query() )
|
||||
return item->query();
|
||||
|
@@ -113,6 +113,7 @@ public:
|
||||
|
||||
virtual bool startFromTrack( const Tomahawk::query_ptr& query ) = 0;
|
||||
virtual bool startFromArtist( const Tomahawk::artist_ptr& artist ) = 0;
|
||||
virtual bool startFromGenre( const QString& genre ) = 0;
|
||||
|
||||
signals:
|
||||
void error( const QString& title, const QString& body);
|
||||
|
@@ -191,6 +191,7 @@ EchonestGenerator::startOnDemand()
|
||||
connect( deleteReply, SIGNAL( finished() ), deleteReply, SLOT( deleteLater() ) );
|
||||
}
|
||||
|
||||
tDebug() << Q_FUNC_INFO;
|
||||
connect( this, SIGNAL( paramsGenerated( Echonest::DynamicPlaylist::PlaylistParams ) ), this, SLOT( doStartOnDemand( Echonest::DynamicPlaylist::PlaylistParams ) ) );
|
||||
try {
|
||||
getParams();
|
||||
@@ -245,6 +246,32 @@ EchonestGenerator::startFromArtist( const Tomahawk::artist_ptr& artist )
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
EchonestGenerator::startFromGenre( const QString& genre )
|
||||
{
|
||||
tDebug() << "Generating station content by genre:" << genre;
|
||||
|
||||
if ( !m_dynPlaylist->sessionId().isNull() )
|
||||
{
|
||||
// Running session, delete it
|
||||
QNetworkReply* deleteReply = m_dynPlaylist->deleteSession();
|
||||
connect( deleteReply, SIGNAL( finished() ), deleteReply, SLOT( deleteLater() ) );
|
||||
}
|
||||
|
||||
connect( this, SIGNAL( paramsGenerated( Echonest::DynamicPlaylist::PlaylistParams ) ), this, SLOT( doStartOnDemand( Echonest::DynamicPlaylist::PlaylistParams ) ) );
|
||||
|
||||
Echonest::DynamicPlaylist::PlaylistParamData data;
|
||||
data.first = Echonest::DynamicPlaylist::Description;
|
||||
data.second = genre;
|
||||
|
||||
Echonest::DynamicPlaylist::PlaylistParams params;
|
||||
params << data;
|
||||
emit paramsGenerated( params );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
EchonestGenerator::doGenerate( const Echonest::DynamicPlaylist::PlaylistParams& paramsIn )
|
||||
{
|
||||
@@ -364,7 +391,7 @@ EchonestGenerator::getParams() throw( std::runtime_error )
|
||||
// emit paramsGenerated( params );
|
||||
// }
|
||||
|
||||
qDebug() << "ParamsGenerated" << params;
|
||||
tDebug() << "ParamsGenerated" << params;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -78,6 +78,7 @@ public:
|
||||
virtual QWidget* steeringWidget() { return 0; }
|
||||
virtual bool startFromTrack( const Tomahawk::query_ptr& query );
|
||||
virtual bool startFromArtist( const Tomahawk::artist_ptr& artist );
|
||||
virtual bool startFromGenre( const QString& genre );
|
||||
|
||||
Q_INVOKABLE static QStringList styles();
|
||||
static QStringList moods();
|
||||
|
@@ -129,7 +129,8 @@ void DynamicQmlWidget::pause()
|
||||
void DynamicQmlWidget::startStationFromArtist(const QString &artist)
|
||||
{
|
||||
tDebug() << "should start startion from artist" << artist;
|
||||
m_playlist->generator()->startFromArtist(Artist::get(artist));
|
||||
// m_playlist->generator()->startFromArtist(Artist::get(artist));
|
||||
m_playlist->generator()->startFromGenre( "rock" );
|
||||
}
|
||||
|
||||
void DynamicQmlWidget::currentIndexChanged( const QPersistentModelIndex ¤tIndex )
|
||||
|
Reference in New Issue
Block a user