summaryrefslogtreecommitdiff
path: root/src/playlist
AgeCommit message (Collapse)Author
2019-07-29playlist/Song: add missing includesMax Kellermann
2019-07-29playlist/Song: support backslash in relative URIsMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/607
2019-03-14playlist/flac: copy the URI to fix use-after-free bugMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/508
2019-02-26allow loading playlists specified as absolute filesystem pathsStefano Miccoli
implement for the "load" command the same logic used for the "add" command: local clients can load playlist specified as absolute paths. For relative paths the old logic is preserved: first look for a stored playlist, then look in the music directory.
2019-02-05playlist/Registry: add RAII classMax 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-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-09-21player/Control: convert to classMax Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-17Merge tag 'v0.20.21'Max Kellermann
release v0.20.21
2018-08-13playlist/cue: support file type declaration "FLAC" (non-standard)Max Kellermann
According to http://wiki.hydrogenaud.io/index.php?title=Cue_sheet FLAC files should use the "WAVE" file type, but I recently encountered CUE files declared as "FLAC" which could not be read by MPD.
2018-08-02DetachedSong, db/LightSong, SongFilter: move to src/song/Max Kellermann
2018-08-02Merge branch 'v0.20.x'Max Kellermann
2018-08-02case-insensitive URI scheme comparisonMax Kellermann
Required according to RFC 3986: > An implementation should accept uppercase letters as equivalent to > lowercase in scheme names Closes #330
2018-07-18fs/Path: add method ToUTF8Throw()Max Kellermann
2018-07-17playlist/Registry: use struct ConfigDataMax Kellermann
2018-07-17config/Global: remove ConfigBlock::SetUsed() call, let caller do thatMax Kellermann
This fixes an old bug which caused the "unused" warnings to be unreliable; only the first block in the list was marked as being "used", no matter if it was really used, and the rest was never marked as "used", suppressing all warnings for them.
2018-07-16config/Config*: rename files, drop "Config" prefixMax Kellermann
2018-07-06TagFile: rename exported functions, use CamelCaseMax Kellermann
And specify whether generic tags are being scanned.
2018-07-05tag/Handler: convert to class with virtual methodsMax Kellermann
2018-06-22input/Stream: remove attribute "cond", replace with handler interfaceMax Kellermann
This adds a bit of overhead, but also adds flexibility to the API, because arbitrary triggers may be invoked from that virtual method implementation, not just Cond::signal(). The motivation for this is to make the handlers more dynamic, for the upcoming buffering class utilizing ProxyInputStream.
2018-02-24Merge tag 'v0.20.18'Max Kellermann
release v0.20.18
2018-02-24playlist/cue/Parser: parse tags after "INDEX 01"Max Kellermann
Instead of setting state=IGNORE_TRACK, ignore only the following "INDEX" lines. Correction for commit 8461d71b520. Closes #227
2018-01-23playlist/SoundCloud: fix -Wunused-lambda-captureMax Kellermann
2018-01-21playlist/Print: add "noexcept"Max Kellermann
2018-01-21playlist/Song: add "noexcept"Max Kellermann
2018-01-21playlist/Registry: add "noexcept"Max Kellermann
2018-01-21playlist/Plugin: add "noexcept"Max Kellermann
2018-01-20playlist/Queue: use "auto"Max Kellermann
2018-01-20playlist/SongEnumerator: allow NextSong() to throw exceptionsMax Kellermann
2018-01-20playlist/SongEnumerator: add "noexcept"Max Kellermann
2018-01-20playlist/Plugin: use std::unique_ptr<SongEnumerator>Max Kellermann
2018-01-20playlist/Plugin: remove useless wrapper functionsMax Kellermann
2018-01-11lib/yajl/Callbacks: OO wrapper for yajl_callbacksMax Kellermann
2018-01-11playlist/SoundCloud: move code to Yajl::Parse(InputStream&)Max Kellermann
2018-01-11playlist/SoundCloud: soundcloud_parse_json() throws exceptionMax Kellermann
2018-01-11lib/yajl/Handle: libyajl C++ bindingsMax Kellermann
2017-12-19Main, ...: catch any exception, not just std::runtime_errorMax Kellermann
2017-11-26playlist/{flac,m3u}: use std::make_uniqueMax Kellermann
2017-11-14Merge branch 'v0.20.x'Max Kellermann
2017-11-14playlist/PlaylistRegistry: use LockRewind() instead of Rewind()Max Kellermann
Fixes a deadlock caused by commit 31ab78ae8e10af948ec95496df0d2abf1ea631a4. That commit was not actually bad - just these two calls have always been bad, which went unnoticed for a long time.
2017-09-21playlist/SoundCloud: move enum key into struct, make strictly-typedMax Kellermann
2017-09-21playlist/SoundCloud: use strcmp() instead of memcmp() to avoid buffer overflowMax Kellermann
2017-07-05util/StringUtil: move strip functions to StringStrip.cxxMax Kellermann
2017-05-19Merge tag 'v0.20.8'Max Kellermann
release v0.20.8
2017-05-19playlist/m3u: support for mime-type `audio-mpegurl` for M3U playlistsMario Di Raimondo
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-02-24SongPrint: remove Storage::MapToRelativeUTF8() callMax Kellermann
This code (added 7 years ago with commit b233c145f) has been obsoleted by the SongLoader class (added 3 years ago).