void TrackListDBusHandler::DelTrack(int index)
{
    if (index < m_tracks.size() ) {
        m_tracks.removeAt(index);
        emit TrackListChange(m_tracks.size());
    }
}
int TrackListDBusHandler::AddTrack( const QString& url, bool playImmediately )
{
    Phonon::MediaSource source(url);
    if (source.type() != Phonon::MediaSource::Invalid) {
        m_tracks.append(source);
        if (playImmediately) {
            m_media->setCurrentSource(source);
            m_media->play();
        }
        emit TrackListChange(m_tracks.size());
        return 0;
    } else {
        return -1;
    }
}
Phonon::MediaSource TrackListDBusHandler::nextTrack()
{
    if (m_tracks.size() < 2) {
        return Phonon::MediaSource();
    }

    if (m_random) {
        m_currentTrack = qrand() % (m_tracks.size() - 1);
    } else {
        m_currentTrack = (m_currentTrack + 1) % (m_tracks.size() - 1);
    }

    Phonon::MediaSource source = m_tracks[m_currentTrack];

    if (!m_loop) {
        m_tracks.removeAt(m_currentTrack);
    } else {
        emit TrackListChange(m_tracks.size());
    }

    return source;
}
Beispiel #4
0
 void TrackListHandler::slotTrackListChange()
 {
     emit TrackListChange( The::playlist()->qaim()->rowCount() );
 }
Beispiel #5
0
void Mpris1TrackList::PlaylistChanged(Playlist* playlist) {
  emit TrackListChange(playlist->rowCount());
}