From d4a82b8c2c4a5662ad437046e8b20199a655be40 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 15 Feb 2020 20:49:49 +0000 Subject: added '--pl-next' and '--pl-prev' command line options git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9226 90c681e8-e032-0410-971d-27865f9a5e38 --- .../PlayListOption/playlistoption.cpp | 30 +++++++++++++++++++++- .../PlayListOption/playlistoption.h | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) (limited to 'src/plugins/CommandLineOptions') diff --git a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp index b017b160a..2dc537284 100644 --- a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp +++ b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp @@ -34,7 +34,9 @@ void PlayListOption::registerOprions() registerOption(PL_LIST, "--pl-list", tr("List all available playlists")); registerOption(PL_DUMP, "--pl-dump", tr("Show playlist content"), QStringList() << "id"); registerOption(PL_PLAY, "--pl-play", tr("Play track in playlist "), QStringList() << "id" << "track"); - registerOption(PL_CLEAR, "--pl-clear", tr("Clear playlist"), QStringList() << "id"); + registerOption(PL_CLEAR, "--pl-clear", tr("Clear playlist"), QStringList() << "id"); + registerOption(PL_NEXT, "--pl-next", tr("Activate next playlist")); + registerOption(PL_PREV, "--pl-prev", tr("Activate previous playlist")); registerOption(PL_REPEATE_TOGGLE, "--pl-repeat-toggle", tr("Toggle playlist repeat")); registerOption(PL_SHUFFLE_TOGGLE, "--pl-shuffle-toggle", tr("Toggle playlist shuffle")); registerOption(PL_STATE, "--pl-state", tr("Show playlist options")); @@ -44,6 +46,8 @@ void PlayListOption::registerOprions() setOptionFlags(PL_DUMP, HiddenFromHelp); setOptionFlags(PL_PLAY, HiddenFromHelp); setOptionFlags(PL_CLEAR, HiddenFromHelp); + setOptionFlags(PL_NEXT, HiddenFromHelp); + setOptionFlags(PL_PREV, HiddenFromHelp); setOptionFlags(PL_REPEATE_TOGGLE, HiddenFromHelp); setOptionFlags(PL_SHUFFLE_TOGGLE, HiddenFromHelp); setOptionFlags(PL_STATE, HiddenFromHelp); @@ -75,6 +79,8 @@ QString PlayListOption::executeCommand(int id, const QStringList &args) << helpString(PL_DUMP) << helpString(PL_PLAY) << helpString(PL_CLEAR) + << helpString(PL_NEXT) + << helpString(PL_PREV) << helpString(PL_REPEATE_TOGGLE) << helpString(PL_SHUFFLE_TOGGLE) << helpString(PL_STATE); @@ -135,6 +141,28 @@ QString PlayListOption::executeCommand(int id, const QStringList &args) player->play(); } break; + case PL_NEXT: + { + bool playing = SoundCore::instance()->state() == Qmmp::Playing; + player->stop(); + pl_manager->selectPlayList(pl_manager->currentPlayList()); + pl_manager->selectNextPlayList(); + pl_manager->activateSelectedPlayList(); + if(playing) + player->play(); + } + break; + case PL_PREV: + { + bool playing = SoundCore::instance()->state() == Qmmp::Playing; + player->stop(); + pl_manager->selectPlayList(pl_manager->currentPlayList()); + pl_manager->selectPreviousPlayList(); + pl_manager->activateSelectedPlayList(); + if(playing) + player->play(); + } + break; case PL_CLEAR: { int id = args.isEmpty() ? pl_manager->currentPlayListIndex() : args.at(0).toInt() - 1; diff --git a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h index 60cf7c0b1..26cc5e195 100644 --- a/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h +++ b/src/plugins/CommandLineOptions/PlayListOption/playlistoption.h @@ -48,6 +48,8 @@ private: PL_LIST, PL_DUMP, PL_PLAY, + PL_NEXT, + PL_PREV, PL_CLEAR, PL_REPEATE_TOGGLE, PL_SHUFFLE_TOGGLE, -- cgit v1.2.3-13-gbd6f