diff options
author | Max Kellermann <max@duempel.org> | 2014-07-11 20:01:53 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-07-11 20:22:35 +0200 |
commit | 11a5ee821b99da7c58da4cb2251c8686e2d615cf (patch) | |
tree | 12247daf432ae0e4de0594a9432b341b015d4a42 /src/command/PlaylistCommands.cxx | |
parent | a8a85143f6e0b0fdc2467722d057a4b8526f7e69 (diff) | |
download | mpd-11a5ee821b99da7c58da4cb2251c8686e2d615cf.tar.gz mpd-11a5ee821b99da7c58da4cb2251c8686e2d615cf.tar.xz mpd-11a5ee821b99da7c58da4cb2251c8686e2d615cf.zip |
PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songs
Implement a "bulk" edit mode that postpones both UpdateQueuedSong()
and OnModified(). This way, the playlist version gets incremented
only once. More importantly: when adding multiple songs to a queue
that consists of only one song, the first song that got added will
always be played next. By postponing this choice, all newly added
songs get a chance to become the next song. Fixes the second (and
last) part of Mantis ticket 0004005.
Diffstat (limited to 'src/command/PlaylistCommands.cxx')
-rw-r--r-- | src/command/PlaylistCommands.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/command/PlaylistCommands.cxx b/src/command/PlaylistCommands.cxx index d178fa097..c4441293e 100644 --- a/src/command/PlaylistCommands.cxx +++ b/src/command/PlaylistCommands.cxx @@ -26,6 +26,7 @@ #include "PlaylistFile.hxx" #include "PlaylistVector.hxx" #include "PlaylistQueue.hxx" +#include "BulkEdit.hxx" #include "TimePrint.hxx" #include "Client.hxx" #include "protocol/ArgParser.hxx" @@ -67,6 +68,8 @@ handle_load(Client &client, int argc, char *argv[]) } else if (!check_range(client, &start_index, &end_index, argv[2])) return CommandResult::ERROR; + const ScopeBulkEdit bulk_edit(client.partition); + const PlaylistResult result = playlist_open_into_queue(argv[1], start_index, end_index, |