summaryrefslogtreecommitdiff
path: root/src/playlist
AgeCommit message (Collapse)Author
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-05-19playlist/m3u: support for mime-type `audio-mpegurl` for M3U playlistsMario Di Raimondo
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-01-20playlist/SoundCloud: eliminate unnecessary casted variableMax Kellermann
2017-01-03update copyright yearMax Kellermann
2017-01-03input/curl, ...: use strncmp() instead of memcmp() to avoid crashMax Kellermann
2017-01-03thread/Mutex: remove ScopeLock, use std::lock_guard directlyMax Kellermann
2016-11-10util/Error: remove obsolete classMax Kellermann
2016-10-27queue/PlaylistUpdate: include cleanupMax Kellermann
2016-10-27LocateUri: migrate from class Error to C++ exceptionsMax Kellermann
2016-10-26playlist/cue/CueParser: update API documentationMax Kellermann
2016-09-16input/InputStream: migrate from class Error to C++ exceptionsMax Kellermann
2016-09-09input/Plugin: migrate open() from class Error to C++ exceptionsMax Kellermann
2016-09-09playlist/SoundCloud: use AtScopeExit()Max Kellermann
2016-09-09playlist/SoundCloud: use std::stringMax Kellermann
2016-09-09playlist/SoundCloud: implicit SoundCloudJsonData initializationMax Kellermann
2016-09-09playlist/SoundCloud: rename struct parse_data to SoundCloudJsonDataMax Kellermann
2016-09-09playlist/SoundCloud: make parse_callbacks constexprMax Kellermann
2016-09-09playlist/SoundCloud: use ScopeLockMax Kellermann
2016-06-10TagStream, decoder/Thread, ...: ignore MIME type parameters for matching pluginsMax Kellermann
2016-06-10util/StringUtil: use CamelCaseMax Kellermann
2016-04-21fs/AllocatedPath: add method FromUTF8Throw()Max Kellermann
2016-04-13playlist/Any: fix documentation typoMax Kellermann
2016-04-12playlist/Song: catch SongLoader exceptionsMax Kellermann
Fixes aborted "load" commands due to SongLoader failure.
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-28queue/PlaylistEdit: throw PlaylistError on errorMax Kellermann
2016-02-28playlist/queue: use std::unique_ptrMax Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2016-02-22SongUpdate: move tag_scan_fallback() to tag/Generic.cxxMax Kellermann
2016-02-22tag/handler: use CamelCaseMax Kellermann
2016-02-22playlist/Stream, db/upnp: add missing includesMax Kellermann
2016-02-21playlist/Plugin: pass InputStreamPtr&& to open_stream()Max Kellermann
Obsolete class CloseSongEnumerator, which was a kludge.
2016-02-21input: wrap InputStream in std::unique_ptrMax Kellermann
2016-02-07playlist/PlaylistStream: catch and log C++ exceptionsMax Kellermann
2016-02-07playlist/SongEnumerator: wrap song in std::unique_ptrMax Kellermann
2016-02-07playlist/cue/CueParser: Get() returns std::unique_ptrMax Kellermann
2016-02-07playlist/cue/CueParser: use std::unique_ptrMax Kellermann
2016-02-07playlist/cue/CueParser: use C++11 initializersMax Kellermann
2015-11-06playlist/soundcloud: make key_str "static const"Max Kellermann
2015-11-06util/StringUtil: move comparison functions to StringCompare.cxxMax Kellermann
2015-10-26playlist/flac: re-add the pluginMax Kellermann
This reverts commit d7d9dbd2c2798b6ff39acb07a3bed38b6f99e283 by reimplementing it with the current MPD API. 3 years ago, I was wrong about the "embcue" plugin being able to replace this one, because "embcue" reads a tag named "CUESHEET", while this plugin reads the "CUESHEET" FLAC metablock. There's an important difference between those two!
2015-09-30util/StringView: new utility classMax Kellermann
2015-09-17unix/Daemon, playlist/pls, ...: remove unused Domain variablesMax Kellermann
2015-09-17CueParser.cxx: Append pregap to previous trackWill Tiffany
Only ignore indexes after first nonzero, preserving pregaps but appending them to the previous track instead of prepending to the current. The first index of the first track is used for the start time regardless of its number. Unneeded bool last_updated removed.
2015-08-23CueParser.cxx: ignore INDEX after first per trackWill Tiffany
Use the first INDEX in each TRACK section, instead of the last, for the start time. This preserves the original CD layout (including gaps between tracks), and avoids skipping sections of songs in more exotic cuesheets (eg musical suite tracks). Fixes 0004355 and 0003359
2015-08-12client/Response: new Client wrapper class for writing responsesMax Kellermann
2015-08-05playlist/embcue: fix last trackxent
2015-03-17*: doxygen fixupsMax Kellermann
2015-03-05PlaylistStream: convert suffix to UTF-8Max Kellermann
2015-03-03*: change C-style prototypes, drop "(void)"Max Kellermann