void Playlist::titleChanged(int newTitle) //connected to MediaController::titleChanged
{
    if ((m_queue->rowCount() > 1)) {
        MediaItem mediaItem = m_queue->mediaItemAt(1);
        if ((mediaItem.fields["trackNumber"].toInt() == newTitle) && (m_mediaObject->currentSource().type() == Phonon::MediaSource::Disc)) {
            m_currentUrl = mediaItem.url;
            m_queue->removeMediaItemAt(0);
        }
    }
    updateNowPlaying();
}
void Playlist::currentSourceChanged(const Phonon::MediaSource & newSource) //connected to MediaObject::currentSourceChanged
{
    //Update currentUrl and check next mediaItem to decide how to setAutoplayTitles
    if (newSource.type() == Phonon::MediaSource::Disc) {
        if (m_queue->rowCount() > 0) {
            if (Utilities::isDisc(m_queue->mediaItemAt(0).url)) {
                m_currentUrl = m_queue->mediaItemAt(0).url;
                if (m_queue->rowCount() >1) {
                    m_mediaController->setAutoplayTitles((m_queue->mediaItemAt(1).fields["trackNumber"].toInt() == m_mediaController->currentTitle() + 1));
                }
            }
        }
    } else {
        m_currentUrl = newSource.url().toString();
    }
    updateNowPlaying();
}
Ejemplo n.º 3
0
QNetworkReply*
lastfm::Track::updateNowPlaying() const
{
    return updateNowPlaying(duration());
}