1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-15 02:24:50 +02:00

* Create EchonestParams out of the variant list.

This commit is contained in:
Christian Muehlhaeuser
2013-06-29 21:15:51 +02:00
parent 914f8ccdbb
commit ecab5b41b0

View File

@@ -419,22 +419,40 @@ EchonestGenerator::staticFinished()
void
EchonestGenerator::getParams() throw( std::runtime_error )
{
/*Echonest::DynamicPlaylist::PlaylistParamData data;
data.first = Echonest::DynamicPlaylist::Artist;
data.second = artist->name();
Echonest::DynamicPlaylist::PlaylistParams params;
/* foreach( const dyncontrol_ptr& control, m_controls ) {
params.append( control.dynamicCast<EchonestControl>()->toENParam() );
params << data;
*/
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.
m_storedParams = params;
qDeleteAll( m_waiting );
m_waiting.clear();
// 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 );
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();
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();
emit paramsGenerated( params );
}
} else {
}
else
{
emit paramsGenerated( params );
}*/
}
}