summaryrefslogtreecommitdiff
path: root/src/queue
AgeCommit message (Collapse)Author
2021-01-01copyright year 2021Max Kellermann
2020-08-23Removed duplicate check for negative song timeJohann Uhrmann
2020-07-01Merge branch 'v0.21.x'Max Kellermann
2020-06-11queue/PlaylistEdit: fix crash in SetSongIdRange() while playingMax Kellermann
An assertion failure in UpdateQueuedSong() could trigger because the `prev` parameter is always `nullptr`, but `queued` may be set. And in fact, calling UpdateQueuedSong() is only necessary when the queued song was edited, to re-queue it with the new range. Closes https://github.com/MusicPlayerDaemon/MPD/issues/901
2020-03-25change abs() to std::abs()Rosen Penev
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16fix double promotionsRosen Penev
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-13playlist/PlaylistSong: pass std::string_viewMax Kellermann
2020-03-12replace stdint.h with cstdintRosen Penev
The former is deprecated by C++14. The standard says they are the same: The header defines all types and macros the same as the C standard library header<stdint.h>. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace assert.h with cassertRosen Penev
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-18copyright year 2020Max Kellermann
2019-10-16Merge tag 'v0.21.16'Max Kellermann
release v0.21.16
2019-10-15queue/PlaylistEdit: fix relative destination offset when moving a rangeMax Kellermann
Commit 13208bf5a7c91a6406195139f1068f173ccdac94 added range support to the `move` command, but applied the wrong offset to the `to` variable. When the source range is before the current song, and the song thus gets decremented by the range size, then the final destination offset must also be decremented by the range size. Closes https://github.com/MusicPlayerDaemon/MPD/issues/663
2019-09-05SongSave: return DetachedSong, not a std::unique_ptr<>Max Kellermann
Eliminate unnecessary dynamic allocations.
2019-09-05queue/Save: move code to LoadQueueSong()Max Kellermann
2019-09-05queue/Save: queue_load_song() throws on errorMax Kellermann
Don't catch and log exceptions here; let the caller decide.
2019-07-05include cleanups (powered by iwyu)Max Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-06-06queue/Queue: allocate MoveRange() buffer on the heapMax Kellermann
No variable-length arrays on the stack.
2019-06-06queue/Queue: remove outdated API documentationMax Kellermann
2019-05-31queue/Playlist: add `noexcept`Max Kellermann
2019-05-31queue/Playlist: remove destructorMax Kellermann
2019-05-31queue/Playlist: use C++11 initializersMax Kellermann
2019-05-31queue/Listener: add `noexcept`Max Kellermann
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-10-31*: copyright year 2018Max Kellermann
2018-09-23player/Control: add LockGetSyncInfo()Max Kellermann
2018-09-22player/CrossFade: use std::chrono::durationMax Kellermann
2018-09-21player/Control: convert to classMax Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-02DetachedSong, db/LightSong, SongFilter: move to src/song/Max Kellermann
2018-07-25SongFilter: remove DetachedSong overloadsMax Kellermann
All DetachedSong instances should be converted to LightSong first, which is a very cheap operation.
2018-07-17StateFileConfig: add attribute "restore_paused"Max Kellermann
2018-07-16config/Config*: rename files, drop "Config" prefixMax Kellermann
2018-07-06db/LightSong: make Tag a referenceMax Kellermann
This enforces the "not nullptr" rule.
2018-02-25playlist/Queue: add one-shot to single modePatryk Hachuła
2018-02-11Merge tag 'v0.20.17'Max Kellermann
release v0.20.17
2018-02-09SongSave, queue/PlaylistState, tag/ReplayGain: use portable atof() wrappersMax Kellermann
For Android pre-5.0 compatibility (#213).
2018-01-30RemoteTagCache: new glue class for integrating RemoteTagScannerMax Kellermann
This commit also puts an instance of RemoteTagScanner into the Instance class, and hooks it into the "add" and "addid" commands.
2018-01-05Merge branch 'v0.20.x'Max Kellermann
2018-01-05queue/PlaylistControl: fix crash after seek failureMax Kellermann
This completes the bug fix commit 2065e3290452377b2931f3129b230c8cc536cbc8; if we clear "queued" then we must clear "queued_song" as well, or another variant of the assertion fails.
2017-12-20player/Control, ...: remove API documentation references to the obsolete ↵Max Kellermann
Error class
2017-12-19Main, ...: catch any exception, not just std::runtime_errorMax Kellermann
2017-12-03Merge branch 'v0.20.x'Max Kellermann
2017-12-02queue/PlaylistEdit: shuffle appended songs only within its priority groupMax Kellermann
Fixes #165.
2017-12-02queue/PlaylistControl: don't skip highest priority song on "play"Max Kellermann
When starting playback with a specific song which does not have the highest priority, the previous highest priority song was skipped completely because its order was "swapped". This commit changes to a more expensive operation which inserts the selected song into the order list. This fixes a small part of #165
2017-11-27queue/Save: fix inverted checkMax Kellermann
That '!' accidently got lost in commit 75582d47b951ae9bf45c940a62e657831a5175c1 D'oh! Closes #162
2017-11-26Queue: add "noexcept"Max Kellermann
2017-11-26queue/IdTable: make non-copyableMax Kellermann
2017-11-26queue/IdTable: make "data" pointer constMax Kellermann
2017-11-26queue/IdTable: add "noexcept"Max Kellermann