Exemplo n.º 1
0
void PlayerTest::enqueue()
{
    auto p1 = newPlaylist(generateTracks(3));
    auto p2 = newPlaylist(generateTracks(3, 3));
    player_->play();
    verify("0");
    enqueue(p1, 2);
    enqueue(p2, 1);
    player_->next();
    verify("2");
    audio_->triggerAboutToFinish();
    audio_->triggerCurrentSourceChanged();
    verify("4");
    player_->next();
    verify("5");

    enqueue(p1, 0);
    enqueue(p1, 0);
    enqueue(p1, 0);
    player_->next();
    verify("0");
    player_->next();
    verify("0");
    player_->clearQueue();
    player_->next();
    verify("1");
}
Exemplo n.º 2
0
void PlayerTest::oneTrack()
{
    newPlaylist(generateTracks(1));
    player_->play();
    verify("0");
    player_->next();
    player_->prev();
}
Exemplo n.º 3
0
void PlayerTest::autoEnqueueNextDeletedHelper()
{
    auto p = newPlaylist(generateTracks(3));
    player_->play();
    audio_->triggerAboutToFinish();
    removeAt(p, 1);
    audio_->triggerCurrentSourceChanged();
    verify("1");
}
Exemplo n.º 4
0
void PlayerTest::prevNext()
{
    newPlaylist(generateTracks(2));
    player_->play();
    verify("0");
    player_->next();
    verify("1");
    player_->prev();
    verify("0");
}
Exemplo n.º 5
0
void PlayerTest::enqueueDeletedPlaylist()
{
    auto p1 = newPlaylist(generateTracks(3));
    auto p2 = newPlaylist(generateTracks(3, 3));
    player_->play();
    verify("0");
    enqueue(p2, 1);
    deletePlaylist(1);
    player_->next();
    verify("1");

    // Delete playlist after buffering
    p2 = newPlaylist(generateTracks(3, 3));
    enqueue(p2, 1);
    audio_->triggerAboutToFinish();
    deletePlaylist(1);
    audio_->triggerCurrentSourceChanged();
    verify("4");
    player_->next();
    verify("2");

    // Delete playlist before buffering
    player_->prev();
    verify("1");
    p2 = newPlaylist(generateTracks(3, 3));
    enqueue(p2, 1);
    deletePlaylist(1);
    audio_->triggerAboutToFinish();
    audio_->triggerCurrentSourceChanged();
    verify("2");

    // Delete same playlist before buffering
    player_->prev();
    verify("1");
    enqueue(p1, 0);
    deletePlaylist(0);
    audio_->triggerAboutToFinish();
    audio_->triggerCurrentSourceChanged();
    verify("");
}
Exemplo n.º 6
0
void PlayerTest::autoEnqueueNext()
{
    newPlaylist(generateTracks(2));
    player_->play();
    audio_->triggerAboutToFinish();
    audio_->triggerCurrentSourceChanged();
    verify("1");
    audio_->triggerAboutToFinish();
    audio_->triggerCurrentSourceChanged();
    verify("");
    player_->play();
    verify("1");
}
Exemplo n.º 7
0
void MainWindow::mkconnections()
{
    connect(bar,SIGNAL(closeClicked()),SLOT(close()));
    connect(bar,SIGNAL(maximizeClicked(bool)),SLOT(showWind(bool)));
    connect(bar,SIGNAL(hideClicked()),SLOT(showMinimized()));
    connect(playlists,SIGNAL(songAdded(QString,QString)),&library,SLOT(addSongInPlaylist(QString,QString)));
    connect(bar,SIGNAL(addFilePressed()),SLOT(addFiles()));
    connect(bar,SIGNAL(addFolderPressed()),SLOT(addFolder()));
    connect(&player,SIGNAL(inPlaylist(bool)),SLOT(changePlayerConnections(bool)));
    connect(&library,SIGNAL(newSong(Song)),table,SLOT(addSongInList(Song)));
    connect(&player,SIGNAL(positionChanged(qint64)),bar,SIGNAL(seekChanged(qint64)));
    connect(&player,SIGNAL(currentSongChanged(Song)),bar,SIGNAL(songChanged(Song)));
    connect(bar,SIGNAL(playClicked()),&player,SLOT(playpause()));
    connect(addFile,SIGNAL(triggered()),SLOT(addFiles()));
    connect(actionAddFolder,SIGNAL(triggered()),SLOT(addFolder()));
    connect(actionOuvrir,SIGNAL(triggered()),SLOT(openFile()));
    connect(bar,SIGNAL(volumeChanged(int)),&player,SLOT(setVolume(int)));
    connect(bar,SIGNAL(positionChanged(int)),&player,SLOT(setPosition(int)));
    connect(bar,SIGNAL(seekBarPressed()),&player,SLOT(pause()));
    connect(bar,SIGNAL(seekBarReleased()),&player,SLOT(play()));
    connect(&player,SIGNAL(playbackStateChanged(bool)),bar,SLOT(changeButton(bool)));
    connect(tree,SIGNAL(albumChosen(QString,QString)),table,SLOT(showSongsFrom(QString,QString)));
    connect(tree,SIGNAL(artistChosen(QString)),table,SLOT(showSongsBy(QString)));
    connect(&library,SIGNAL(libraryChanged(Library*)),tree,SLOT(updateTree(Library*)));
    connect(table,SIGNAL(newPlaylist(Song)),this,SLOT(mkPlaylist(Song)));
    connect(playlists,SIGNAL(playlistChosen(QString)),table,SLOT(showSongsIn(QString)));
    connect(table,SIGNAL(deleteSong(Song,bool)),&library,SLOT(deleteSong(Song,bool)));
    connect(bar,SIGNAL(newQuery(QString,int)),table,SLOT(setQuery(QString,int)));
    connect(bar,SIGNAL(newPlaybackMode(QMediaPlaylist::PlaybackMode)),&player,SLOT(setPlayBackMode(QMediaPlaylist::PlaybackMode)));
    connect(table,SIGNAL(songChosen(int)),&player,SLOT(play(int)));
    connect(table,SIGNAL(newSongList(SongList)),&player,SLOT(update(SongList)));
    connect(&player,SIGNAL(inPlaylist(bool)),bar,SLOT(enableNavigation(bool)));
    connect(bar,SIGNAL(miniLecteur()),&mLecteur,SLOT(show()));
    connect(bar,SIGNAL(miniLecteur()),SLOT(hide()));
    connect(&mLecteur,SIGNAL(windowedMode()),SLOT(show()));
    connect(&mLecteur,SIGNAL(positionChanged(int)),bar,SIGNAL(positionChanged(int)));
    connect(&mLecteur,SIGNAL(seekBarPressed()),bar,SIGNAL(seekBarPressed()));
    connect(&mLecteur,SIGNAL(seekBarReleased()),bar,SIGNAL(seekBarReleased()));
    connect(&mLecteur,SIGNAL(positionChanged(int)),bar,SIGNAL(positionChanged(int)));
    connect(&mLecteur,SIGNAL(playClicked()),bar,SIGNAL(playClicked()));
    connect(&mLecteur,SIGNAL(nextClicked()),bar,SIGNAL(nextClicked()));
    connect(&mLecteur,SIGNAL(previousClicked()),bar,SIGNAL(previousClicked()));
    connect(&mLecteur,SIGNAL(volumeChanged(int)),bar,SIGNAL(volumeChanged(int)));
    connect(&player,SIGNAL(currentSongChanged(Song)),&mLecteur,SLOT(setNewSong(Song)));
    connect(&player,SIGNAL(positionChanged(qint64)),&mLecteur,SLOT(setPosition(qint64)));
    connect(&player,SIGNAL(playbackStateChanged(bool)),&mLecteur,SLOT(changeButton(bool)));
    connect(&player,SIGNAL(indexChanged(int,int)),table,SLOT(setIconTo(int,int)));
    connect(table,SIGNAL(addFileTriggered()),SLOT(addFiles()));
    connect(table,SIGNAL(addFolderTriggered()),SLOT(addFolder()));

}
Exemplo n.º 8
0
void PlayerTest::enqueueDeleted()
{
    auto p1 = newPlaylist(generateTracks(3));
    player_->play();
    verify("0");
    enqueue(p1, 1);
    removeAt(p1, 1);
    player_->next();
    verify("2");
    enqueue(p1, 1);
    audio_->triggerAboutToFinish();
    removeAt(p1, 1);
    audio_->triggerCurrentSourceChanged();
    verify("2");
    player_->play();
    verify("0");
}
Exemplo n.º 9
0
void PlaylistEdit::createConnections()
{
    connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(aboutTano()));
    connect(ui->actionSettings, SIGNAL(triggered()), this, SLOT(settings()));
    connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(open()));
    connect(ui->actionNew, SIGNAL(triggered()), this, SLOT(newPlaylist()));
    connect(ui->actionDelete, SIGNAL(triggered()), this, SLOT(deleteItem()));
    connect(ui->actionAdd, SIGNAL(triggered()), this, SLOT(addItem()));
    connect(ui->actionSave, SIGNAL(triggered()), this, SLOT(save()));
    connect(ui->actionClose, SIGNAL(triggered()), this, SLOT(exit()));
    connect(ui->actionExport, SIGNAL(triggered()), this, SLOT(menuOpenExport()));
    connect(ui->actionExportTvheadend, SIGNAL(triggered()), this, SLOT(exportTvheadend()));
    connect(ui->actionExportXmltvId, SIGNAL(triggered()), this, SLOT(exportXmltvId()));
    connect(ui->actionPrint, SIGNAL(triggered()), this, SLOT(print()));

    connect(ui->editName, SIGNAL(textChanged(QString)), this, SLOT(setTitle(QString)));

    connect(ui->buttonApplyNum, SIGNAL(clicked()), this, SLOT(editChannelNumber()));
    connect(ui->editNumber, SIGNAL(returnPressed()), ui->buttonApplyNum, SLOT(click()));
    connect(ui->editChannelName, SIGNAL(textChanged(QString)), this, SLOT(editChannelName(QString)));
    connect(ui->editUrl, SIGNAL(textChanged(QString)), this, SLOT(editChannelUrl(QString)));
    connect(ui->editCategories, SIGNAL(textChanged(QString)), this, SLOT(editChannelCategories(QString)));
    connect(ui->editLanguage, SIGNAL(textChanged(QString)), this, SLOT(editChannelLanguage(QString)));
    connect(ui->editEpg, SIGNAL(textChanged(QString)), this, SLOT(editChannelEpg(QString)));
    connect(ui->editLogo, SIGNAL(textChanged(QString)), this, SLOT(editChannelLogo(QString)));

    connect(ui->actionUp, SIGNAL(triggered()), this, SLOT(moveUp()));
    connect(ui->actionDown, SIGNAL(triggered()), this, SLOT(moveDown()));

    connect(ui->playlist, SIGNAL(itemSelected(Channel *)), this, SLOT(editItem(Channel *)));

#if EDITOR
    connect(_update, SIGNAL(newUpdate()), this, SLOT(updateAvailable()));
    connect(ui->actionUpdate, SIGNAL(triggered()), _update, SLOT(check()));
#endif

#if WITH_EDITOR_VLCQT
    connect(ui->buttonUpdate, SIGNAL(toggled(bool)), this, SLOT(refreshPlaylist(bool)));
#endif
}
Exemplo n.º 10
0
void PlayerTest::oneEmptyPlaylist()
{
    newPlaylist();
    player_->play();
}
Exemplo n.º 11
0
PModel PlayerTest::newPlaylist(QList<PTrack> tracks)
{
    auto p = newPlaylist();
    p->addTracks(tracks);
    return p;
}
Exemplo n.º 12
0
void Cli::cliArgs(char *argv[])
{
    int c;
    QStringList args;
    opterr = 0;

    while ((c = getopt(argc, argv, "aplndvx")) != -1)
    {
        switch (c)
        {
            //Play
            case 'p':
                pFlag = true;
                break;
            
            //Play Playlist
            case 'a':
                aFlag = true;
                break;
                
            //List playlists
            case 'l':
                lFlag = true;
                xFlag = true;
                break;
            
            //New Playlist
            case 'n':
                nFlag = true;
                xFlag = true;
                break;
            
            //Delete Playlist
            case 'd':
                dFlag = true;
                xFlag = true;
                break;
            
            //Display version info
            case 'v':
                xFlag = true;
                std::cout << "KaJammer Music Player " << KAJAMMER_VER << "\n";
                exit(1);
                break;
            
            //Don't bring up main window, no Xorg mode.
            case 'x':
                xFlag = true;
                break;
            
            //Command not recognized
            default:
                xFlag = true;
                std::cout << "Usage: kajammer [options...] [arguments...]\n";
                std::cout << "\t" << "Where options include:\n";
                std::cout << "\t" << "-p\t" << "play\t\t" << "[Files]\n";
                std::cout << "\t" << "-a\t" << "play playlist\t" << "Playlist name\n";
                std::cout << "\t" << "-n\t" << "new playlist\t" << "[Name] [Files]\n";
                std::cout << "\t" << "-d\t" << "delete playlist\t" << "[Playlists]\n";
                std::cout << "\t" << "-l\t" << "list playlists\n";
                std::cout << "\t" << "-x\t" << "no X mode\n";
                break;
        }
    }
    
    //If no flags used, assume -p, File Managers do this
    if(!pFlag && !nFlag && !dFlag && !lFlag && !aFlag) {
        args = getArgList(argv, 1);
        play(args);
    }
    
    if(pFlag) {
        args = getArgList(argv, 2);
        play(args);
    }
    
    if(aFlag) {
        QString name = argv[2];
        playPlaylist(name);
    }
    
    if(nFlag) {
        args = appendFilePath(getArgList(argv, 3));
        newPlaylist(argv[2], args);
    }
    
    if(dFlag) {
        args = getArgList(argv, 2);
        delPlaylist(args);
    }
    
    if(lFlag) {
        listPlaylists();
    }
}