aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist (unfollow)
Commit message (Collapse)AuthorFilesLines
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.
2014-01-08playlist/pls: don't free stack bufferMax Kellermann1-1/+0
2014-01-08playlist/pls: make variables more localMax Kellermann1-17/+9
2014-01-08playlist/pls: convert "while" loop to "for" loopMax Kellermann1-2/+1
2014-01-08playlist/pls: simplify error handlerMax Kellermann1-11/+4
Don't pass a GError** to g_key_file_get_X(). We don't need to dispose something we didn't request in the first place.
2014-01-08DespotifyUtils: return Tag, not pointerMax Kellermann1-1/+1
2014-01-08DespotifyUtils: pass const ds_track referenceMax Kellermann1-5/+5
2014-01-08tag/TagBuilder: rename Commit() to CommitNew()Max Kellermann6-6/+6