aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-10-16unix/Daemon, playlist/...: remove unused Domain variablesMax Kellermann1-3/+0
2015-01-26{playlist,input}/despotify: remove defunct pluginMax Kellermann2-170/+0
2014-12-16playlist/embcue: fix filename suffix detectionk441-1/+1
The definition of the playlist_plugin struct member of the embcue plugin was incorrect.
2014-12-09playlist/Print: don't skip non-existent songs in "listplaylist"Max Kellermann1-6/+7
Skipping those songs silently will confuse the client, because commands specifying the song index within a playlist (e.g. playlistdelete) will be out of sync. This copies spl_print()'s behavior to playlist_file_print().
2014-11-02playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2-1/+3
2014-11-01Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann1-3/+6
Use the new uri_get_suffix() overload that removes the query string.
2014-10-26playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2-0/+2
2014-10-17playlist/extm3u: strip first line for #EXTM3U detectionMax Kellermann1-2/+6
2014-10-02PlaylistStream: use OpenLocalInputStream()Max Kellermann1-5/+3
2014-10-02PlaylistStream: pass Path instance to playlist_open_path()Max Kellermann3-11/+19
Convert filesystem charset to UTF-8 for playlist_list_open_uri(). This fixes one of many remaining charset bugs.
2014-09-26playlist/embcue: change name string to "embcue"Max Kellermann1-1/+1
The name "cue" was listed twice in "mpd --version".
2014-08-30PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote()Max Kellermann1-1/+1
Finally allows loading playlist files on a storage plugin. Commit 297e2747 attempted to implement this, but failed due to this bug.
2014-08-30*: add missing Compiler.h includesMax Kellermann1-0/+1
Necessary for "final" on gcc 4.6.
2014-08-29Tag: use SignedSongTime for the song durationMax Kellermann3-3/+3
2014-08-28DetachedSong: use std::chrono::duration for start_ms and end_msMax Kellermann1-3/+3
2014-08-07TextInputStream: don't stripMax Kellermann2-3/+5
Let the caller decide whether to strip. Only remove \n and \r (end-of-line markers).
2014-08-07util/StringUtil: rename strchug_fast() to StripLeft()Max Kellermann3-5/+5
2014-08-07input/TextInputStream: return char*Max Kellermann3-13/+9
Revert to the old API before commit e9e55b08, removing unnecessary bloat.
2014-07-30playlist/extm3u: use nullptr instead of NULLMax Kellermann1-4/+4
2014-07-12PlaylistSong: always merge tags and LastModifiedMax Kellermann1-12/+2
2014-07-12PlaylistSong, CueParser: don't override Tag::timeMax Kellermann2-11/+0
Now that Song::GetDuration() is used (which considers start_ms and end_ms), we don't need to override the Tag's duration value.
2014-07-09playlist/plugins/DespotifyPlaylistPlugin: fix build failure due to missing ↵Gustavo Zacarias1-0/+1
stdio.h include Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2014-07-09playlist/PlsPlaylistPlugin: fix build failure due to missing stdio.h includeGustavo Zacarias1-0/+1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2014-05-12InputStream: "protect" attributesMax Kellermann1-1/+1
2014-05-11InputStream: add virtual destructorMax Kellermann3-5/+5
Replaces the method Close().
2014-05-11InputStream: convert to classMax Kellermann3-3/+3
2014-05-10PlaylistMapper: use map_spl_utf8_to_fs()Max Kellermann1-10/+2
Eliminates some overhead and some duplicate code, and fixes a serious bug: the old code did not append the ".m3u" suffix, and thus the "load" command was completely broken for stored playlists. D'oh!
2014-02-27Playlist: use the Error library to return errorsMax Kellermann2-16/+24
2014-02-27Playlist*: move to queue/Max Kellermann1-1/+1
2014-02-19cue/CueParser: move to playlist/Max Kellermann4-2/+464
2014-02-18PlaylistRegistry: disable the "pls" plugin without GLibMax Kellermann1-0/+3
2014-02-10PlaylistSong: copy the "real" URIMax Kellermann1-0/+3
Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path).
2014-02-07PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann6-12/+58
2014-02-07Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann6-86/+144
2014-02-07PlaylistSong: include cleanupMax Kellermann1-2/+0
2014-02-07playlist/CloseSongEnumerator: new wrapper classMax Kellermann10-62/+109
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann5-63/+27
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-01-30db: add compile-time option to disable databaseMax Kellermann2-0/+10
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann1-28/+2
Merge duplicate code.
2014-01-24DespotifyUtils, Expat: move to lib/Max Kellermann4-4/+4
2014-01-24Database*: move to db/Max Kellermann1-1/+1
2014-01-24Input*: move to input/Max Kellermann10-10/+10
2014-01-24Config*: move to config/Max Kellermann2-3/+3
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann36-20/+1334
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann3-3/+0
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-14playlist/extm3u: allocate Tag instance on the stackMax Kellermann1-12/+7
Automate the life cycle, making the code safer.
2014-01-13copyright year 2014Max Kellermann20-20/+20
2014-01-09playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XMLMax Kellermann3-257/+59
2014-01-09playlist/asx: make variables more localMax Kellermann1-7/+6
2014-01-09DetachedSong: fork of struct SongMax Kellermann10-136/+69
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.