1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-06 06:07:37 +02: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_playlist = playlist;
m_deduper.clear();
if( m_playlist->mode() == OnDemand ) if( m_playlist->mode() == OnDemand )
setFilterUnresolvable( true ); setFilterUnresolvable( true );
@@ -87,6 +88,7 @@ DynamicModel::startOnDemand()
m_playlist->generator()->startOnDemand(); m_playlist->generator()->startOnDemand();
m_deduper.clear();
m_onDemandRunning = true; m_onDemandRunning = true;
} }
@@ -95,13 +97,12 @@ void
DynamicModel::newTrackGenerated( const Tomahawk::query_ptr& query ) DynamicModel::newTrackGenerated( const Tomahawk::query_ptr& query )
{ {
if( m_onDemandRunning ) { 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(); m_playlist->generator()->fetchNext();
return; return;
} else { } else {
if( m_deduper.size() > 30 )
m_deduper.pop_front();
m_deduper.append( QPair< QString, QString >( query->track(), query->artist() ) ); m_deduper.append( QPair< QString, QString >( query->track(), query->artist() ) );
} }