mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-16 11:04:01 +02:00
* Create EchonestParams out of the variant list.
This commit is contained in:
@@ -419,22 +419,40 @@ EchonestGenerator::staticFinished()
|
|||||||
void
|
void
|
||||||
EchonestGenerator::getParams() throw( std::runtime_error )
|
EchonestGenerator::getParams() throw( std::runtime_error )
|
||||||
{
|
{
|
||||||
|
/*Echonest::DynamicPlaylist::PlaylistParamData data;
|
||||||
|
data.first = Echonest::DynamicPlaylist::Artist;
|
||||||
|
data.second = artist->name();
|
||||||
|
|
||||||
Echonest::DynamicPlaylist::PlaylistParams params;
|
Echonest::DynamicPlaylist::PlaylistParams params;
|
||||||
/* foreach( const dyncontrol_ptr& control, m_controls ) {
|
params << data;
|
||||||
params.append( control.dynamicCast<EchonestControl>()->toENParam() );
|
*/
|
||||||
|
|
||||||
|
Echonest::DynamicPlaylist::PlaylistParams params;
|
||||||
|
foreach( const QVariant& control, m_controls )
|
||||||
|
{
|
||||||
|
QVariantMap controlMap = control.toMap();
|
||||||
|
Echonest::DynamicPlaylist::PlaylistParamData data;
|
||||||
|
data.first = (Echonest::DynamicPlaylist::PlaylistParam)controlMap[ "match" ].toUInt();
|
||||||
|
data.second = controlMap[ "input" ].toString();
|
||||||
|
|
||||||
|
params.append( data );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( appendRadioType( params ) == Echonest::DynamicPlaylist::SongRadioType ) {
|
if ( appendRadioType( params ) == Echonest::DynamicPlaylist::SongRadioType )
|
||||||
|
{
|
||||||
// we need to do another pass, converting all song queries to song-ids.
|
// we need to do another pass, converting all song queries to song-ids.
|
||||||
m_storedParams = params;
|
m_storedParams = params;
|
||||||
qDeleteAll( m_waiting );
|
qDeleteAll( m_waiting );
|
||||||
m_waiting.clear();
|
m_waiting.clear();
|
||||||
|
|
||||||
// one query per track
|
// one query per track
|
||||||
for( int i = 0; i < params.count(); i++ ) {
|
for( int i = 0; i < params.count(); i++ )
|
||||||
|
{
|
||||||
const Echonest::DynamicPlaylist::PlaylistParamData param = params.value( i );
|
const Echonest::DynamicPlaylist::PlaylistParamData param = params.value( i );
|
||||||
|
|
||||||
if( param.first == Echonest::DynamicPlaylist::SongId ) { // this is a song type enum
|
if ( param.first == Echonest::DynamicPlaylist::SongId )
|
||||||
|
{
|
||||||
|
// this is a song type enum
|
||||||
QString text = param.second.toString();
|
QString text = param.second.toString();
|
||||||
|
|
||||||
Echonest::Song::SearchParams q;
|
Echonest::Song::SearchParams q;
|
||||||
@@ -448,14 +466,16 @@ EchonestGenerator::getParams() throw( std::runtime_error )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_waiting.isEmpty() ) {
|
if ( m_waiting.isEmpty() )
|
||||||
|
{
|
||||||
m_storedParams.clear();
|
m_storedParams.clear();
|
||||||
emit paramsGenerated( params );
|
emit paramsGenerated( params );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
else
|
||||||
|
{
|
||||||
emit paramsGenerated( params );
|
emit paramsGenerated( params );
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user