diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index e0c281fe9..787206afd 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -184,6 +184,7 @@ AudioEngine::AudioEngine() connect( d->audioOutput, SIGNAL( stateChanged( AudioOutput::AudioState, AudioOutput::AudioState ) ), d_func(), SLOT( onStateChanged( AudioOutput::AudioState, AudioOutput::AudioState ) ) ); connect( d->audioOutput, SIGNAL( tick( qint64 ) ), SLOT( timerTriggered( qint64 ) ) ); + connect( d->audioOutput, SIGNAL( positionChanged( float ) ), SLOT( onPositionChanged( float ) ) ); setVolume( TomahawkSettings::instance()->volume() ); @@ -600,7 +601,9 @@ AudioEngine::loadTrack( const Tomahawk::result_ptr& result ) } } -void AudioEngine::positionChanged(float new_position) + +void +AudioEngine::onPositionChanged( float new_position ) { emit trackPosition( new_position ); } diff --git a/src/libtomahawk/audio/AudioEngine.h b/src/libtomahawk/audio/AudioEngine.h index b165c5b2b..44da5f480 100644 --- a/src/libtomahawk/audio/AudioEngine.h +++ b/src/libtomahawk/audio/AudioEngine.h @@ -147,8 +147,6 @@ public slots: void setRepeatMode( Tomahawk::PlaylistModes::RepeatMode mode ); void setShuffled( bool enabled ); - void positionChanged(float new_position); - signals: void loading( const Tomahawk::result_ptr track ); void started( const Tomahawk::result_ptr track ); @@ -189,6 +187,7 @@ private slots: void onVolumeChanged( qreal volume ); void timerTriggered( qint64 time ); + void onPositionChanged( float new_position ); void setCurrentTrack( const Tomahawk::result_ptr& result ); void onNowPlayingInfoReady( const Tomahawk::InfoSystem::InfoType type ); diff --git a/src/libtomahawk/audio/AudioOutput.cpp b/src/libtomahawk/audio/AudioOutput.cpp index 921647af5..d0f32c217 100644 --- a/src/libtomahawk/audio/AudioOutput.cpp +++ b/src/libtomahawk/audio/AudioOutput.cpp @@ -302,14 +302,16 @@ AudioOutput::currentTime() const return m_currentTime; } + void AudioOutput::setCurrentPosition( float position ) { //tDebug() << Q_FUNC_INFO << position; - AudioEngine::instance()->positionChanged(position); + emit positionChanged( position ); m_havePosition = position > 0.0; } + void AudioOutput::setCurrentTime( qint64 time ) { diff --git a/src/libtomahawk/audio/AudioOutput.h b/src/libtomahawk/audio/AudioOutput.h index b024abe2d..504cb6cfb 100644 --- a/src/libtomahawk/audio/AudioOutput.h +++ b/src/libtomahawk/audio/AudioOutput.h @@ -74,6 +74,7 @@ public slots: signals: void stateChanged( AudioOutput::AudioState, AudioOutput::AudioState ); void tick( qint64 ); + void positionChanged( float ); private: void setState( AudioState state );