1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-21 16:29:43 +01:00

Extend deduper to whole station session

This commit is contained in:
Leo Franchi 2011-10-17 16:05:26 -04:00
parent 6ee7df9514
commit 7944c9f826

View File

@ -59,6 +59,7 @@ DynamicModel::loadPlaylist( const Tomahawk::dynplaylist_ptr& playlist, bool load
}
m_playlist = playlist;
m_deduper.clear();
if( m_playlist->mode() == OnDemand )
setFilterUnresolvable( true );
@ -87,6 +88,7 @@ DynamicModel::startOnDemand()
m_playlist->generator()->startOnDemand();
m_deduper.clear();
m_onDemandRunning = true;
}
@ -95,13 +97,12 @@ void
DynamicModel::newTrackGenerated( const Tomahawk::query_ptr& query )
{
if( m_onDemandRunning ) {
if( m_deduper.contains( QPair< QString, QString >( query->track(), query->artist() ) ) ) {
if ( m_deduper.contains( QPair< QString, QString >( query->track(), query->artist() ) ) )
{
m_playlist->generator()->fetchNext();
return;
} else {
if( m_deduper.size() > 30 )
m_deduper.pop_front();
m_deduper.append( QPair< QString, QString >( query->track(), query->artist() ) );
}