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"); }
void PlayerTest::oneTrack() { newPlaylist(generateTracks(1)); player_->play(); verify("0"); player_->next(); player_->prev(); }
void PlayerTest::autoEnqueueNextDeletedHelper() { auto p = newPlaylist(generateTracks(3)); player_->play(); audio_->triggerAboutToFinish(); removeAt(p, 1); audio_->triggerCurrentSourceChanged(); verify("1"); }
void PlayerTest::prevNext() { newPlaylist(generateTracks(2)); player_->play(); verify("0"); player_->next(); verify("1"); player_->prev(); verify("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(""); }
void PlayerTest::autoEnqueueNext() { newPlaylist(generateTracks(2)); player_->play(); audio_->triggerAboutToFinish(); audio_->triggerCurrentSourceChanged(); verify("1"); audio_->triggerAboutToFinish(); audio_->triggerCurrentSourceChanged(); verify(""); player_->play(); verify("1"); }
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())); }
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"); }
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 }
void PlayerTest::oneEmptyPlaylist() { newPlaylist(); player_->play(); }
PModel PlayerTest::newPlaylist(QList<PTrack> tracks) { auto p = newPlaylist(); p->addTracks(tracks); return p; }
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(); } }