mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-07-31 03:10:12 +02:00
misc
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
#include "dynamic/GeneratorInterface.h"
|
||||
#include "dynamic/GeneratorFactory.h"
|
||||
#include "pipeline.h"
|
||||
#include <audioengine.h>
|
||||
#include "audioengine.h"
|
||||
|
||||
using namespace Tomahawk;
|
||||
|
||||
@@ -38,6 +38,7 @@ DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget
|
||||
, m_layout( new QVBoxLayout )
|
||||
, m_resolveOnNextLoad( false )
|
||||
, m_runningOnDemand( false )
|
||||
, m_startOnResolved( false )
|
||||
, m_songsSinceLastResolved( 0 )
|
||||
, m_headerText( 0 )
|
||||
, m_headerLayout( 0 )
|
||||
@@ -163,12 +164,13 @@ DynamicWidget::generateOrStart()
|
||||
} else if( m_playlist->mode() == OnDemand ) {
|
||||
if( m_runningOnDemand == false ) {
|
||||
m_runningOnDemand = true;
|
||||
m_startOnResolved = true;
|
||||
m_playlist->generator()->startOnDemand();
|
||||
|
||||
m_generateButton->setText( tr( "Stop" ) );
|
||||
} else { // stop
|
||||
m_runningOnDemand = false;
|
||||
|
||||
m_startOnResolved = false;
|
||||
m_generateButton->setText( tr( "Start" ) );
|
||||
}
|
||||
}
|
||||
@@ -196,7 +198,8 @@ DynamicWidget::applyModeChange( int mode )
|
||||
} else if( mode == Static ) {
|
||||
m_generateButton->setText( tr( "Generate" ) );
|
||||
m_genNumber->show();
|
||||
m_headerLayout->insertWidget( 4, m_genNumber );
|
||||
if( m_headerLayout->indexOf( m_generateButton ) == -1 )
|
||||
m_headerLayout->insertWidget( 4, m_genNumber );
|
||||
|
||||
disconnect( TomahawkApp::instance()->audioEngine(), SIGNAL( loading( Tomahawk::result_ptr ) ), this, SLOT( newTrackLoading() ) );
|
||||
}
|
||||
@@ -224,6 +227,12 @@ void
|
||||
DynamicWidget::trackResolved()
|
||||
{
|
||||
m_songsSinceLastResolved = 0;
|
||||
|
||||
if( m_startOnResolved ) {
|
||||
m_startOnResolved = false;
|
||||
TomahawkApp::instance()->audioEngine()->play();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
@@ -243,6 +252,12 @@ DynamicWidget::newTrackLoading()
|
||||
}
|
||||
}
|
||||
|
||||
void DynamicWidget::onDemandFailed()
|
||||
{
|
||||
if( m_runningOnDemand )
|
||||
generateOrStart();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DynamicWidget::controlsChanged()
|
||||
|
@@ -62,6 +62,7 @@ private slots:
|
||||
void tracksGenerated( const QList< Tomahawk::query_ptr>& queries );
|
||||
|
||||
// used by on demand mode
|
||||
void onDemandFailed();
|
||||
void newTrackLoading();
|
||||
void onDemandFetched( const Tomahawk::query_ptr& track );
|
||||
void trackResolveFailed();
|
||||
@@ -79,6 +80,7 @@ private:
|
||||
|
||||
// used in OnDemand mode
|
||||
bool m_runningOnDemand;
|
||||
bool m_startOnResolved;
|
||||
int m_songsSinceLastResolved;
|
||||
|
||||
QLabel* m_headerText;
|
||||
|
@@ -94,6 +94,7 @@ public:
|
||||
void removeControl( const dyncontrol_ptr& control );
|
||||
|
||||
signals:
|
||||
void onDemandFailed();
|
||||
void generated( const QList< Tomahawk::query_ptr>& queries );
|
||||
void nextTrackGenerated( const Tomahawk::query_ptr& track );
|
||||
|
||||
|
@@ -160,6 +160,7 @@ EchonestGenerator::dynamicStarted()
|
||||
emit nextTrackGenerated( songQuery );
|
||||
} catch( const Echonest::ParseError& e ) {
|
||||
qWarning() << "libechonest threw an error parsing the start of the dynamic playlist:" << e.errorType() << e.what();
|
||||
emit onDemandFailed();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user