aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/CommandLineOptions/PlayListOption/playlistoption.cpp30
-rw-r--r--src/plugins/CommandLineOptions/PlayListOption/playlistoption.h2
2 files changed, 31 insertions, 1 deletions
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 <track> in playlist <id>"), 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,