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

* Now-Playing signals can use tracks instead.

This commit is contained in:
Christian Muehlhaeuser 2013-04-22 09:23:54 +02:00
parent 9be6dfaad5
commit 0bde2a5521
4 changed files with 19 additions and 17 deletions

View File

@ -227,10 +227,10 @@ Source::avatar( TomahawkUtils::ImageMode style, const QSize& size )
// tLog() << "****************************************************************************************";
// tLog() << peerInfos().count() << "PEERS FOR " << friendlyName();
QPixmap result;
foreach( const peerinfo_ptr& peerInfo, peerInfos() )
foreach ( const peerinfo_ptr& peerInfo, peerInfos() )
{
// peerInfoDebug(peerInfo) << !peerInfo->avatar().isNull();
if( !peerInfo.isNull() && !peerInfo->avatar( style, size ).isNull() )
if ( !peerInfo.isNull() && !peerInfo->avatar( style, size ).isNull() )
{
result = peerInfo->avatar( style, size );
break;
@ -443,26 +443,26 @@ Source::playlistInterface()
void
Source::onPlaybackStarted( const Tomahawk::query_ptr& query, unsigned int duration )
Source::onPlaybackStarted( const Tomahawk::track_ptr& track, unsigned int duration )
{
tLog( LOGVERBOSE ) << Q_FUNC_INFO << query->toString();
tLog( LOGVERBOSE ) << Q_FUNC_INFO << track->toString();
m_currentTrack = query;
m_currentTrack = track->toQuery();
m_currentTrackTimer.start( duration * 1000 + 900000 ); // duration comes in seconds
if ( m_playlistInterface.isNull() )
playlistInterface();
emit playbackStarted( query );
emit playbackStarted( track );
emit stateChanged();
}
void
Source::onPlaybackFinished( const Tomahawk::query_ptr& query )
Source::onPlaybackFinished( const Tomahawk::track_ptr& track, unsigned int playtime, unsigned int secsPlayed )
{
tDebug() << Q_FUNC_INFO << query->toString();
emit playbackFinished( query );
tDebug() << Q_FUNC_INFO << track->toString();
emit playbackFinished( track, playtime, secsPlayed );
m_currentTrack.clear();
emit stateChanged();
@ -625,7 +625,7 @@ Source::textStatus() const
if ( !currentTrack().isNull() )
{
return currentTrack()->artist() + " - " + currentTrack()->track();
return currentTrack()->queryTrack()->artist() + " - " + currentTrack()->queryTrack()->track();
}
// do not use isOnline() here - it will always return true for the local source

View File

@ -113,8 +113,8 @@ signals:
void stats( const QVariantMap& );
void playbackStarted( const Tomahawk::query_ptr& query );
void playbackFinished( const Tomahawk::query_ptr& query );
void playbackStarted( const Tomahawk::track_ptr& track );
void playbackFinished( const Tomahawk::track_ptr& track, unsigned int playtime, unsigned int secsPlayed );
void stateChanged();
void commandsFinished();
@ -138,8 +138,8 @@ private slots:
void onStateChanged( DBSyncConnection::State newstate, DBSyncConnection::State oldstate, const QString& info );
void onPlaybackStarted( const Tomahawk::query_ptr& query, unsigned int duration );
void onPlaybackFinished( const Tomahawk::query_ptr& query );
void onPlaybackStarted( const Tomahawk::track_ptr& track, unsigned int duration );
void onPlaybackFinished( const Tomahawk::track_ptr& track, unsigned int playtime, unsigned int secsPlayed );
void trackTimerFired();
void executeCommands();

View File

@ -37,7 +37,7 @@ SourcePlaylistInterface::SourcePlaylistInterface( Tomahawk::Source* source, Toma
setLatchMode( latchMode );
if ( !m_source.isNull() )
connect( m_source.data(), SIGNAL( playbackStarted( const Tomahawk::query_ptr& ) ), SLOT( onSourcePlaybackStarted( const Tomahawk::query_ptr& ) ) );
connect( m_source.data(), SIGNAL( playbackStarted( const Tomahawk::track_ptr& ) ), SLOT( onSourcePlaybackStarted( const Tomahawk::track_ptr& ) ) );
if ( AudioEngine::instance() )
connect( AudioEngine::instance(), SIGNAL( paused() ), SLOT( audioPaused() ) );
@ -164,9 +164,11 @@ SourcePlaylistInterface::reset()
void
SourcePlaylistInterface::onSourcePlaybackStarted( const Tomahawk::query_ptr& query )
SourcePlaylistInterface::onSourcePlaybackStarted( const Tomahawk::track_ptr& track )
{
tDebug( LOGVERBOSE ) << Q_FUNC_INFO;
query_ptr query = track->toQuery();
connect( query.data(), SIGNAL( resolvingFinished( bool ) ), SLOT( resolvingFinished( bool ) ) );
Pipeline::instance()->resolve( query );
m_gotNextItem = false;

View File

@ -75,7 +75,7 @@ public slots:
virtual void audioPaused() { setLatchMode( PlaylistModes::StayOnSong ); }
private slots:
void onSourcePlaybackStarted( const Tomahawk::query_ptr& query );
void onSourcePlaybackStarted( const Tomahawk::track_ptr& track );
void resolvingFinished( bool hasResults );
private: