aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist (follow)
Commit message (Collapse)AuthorAgeFilesLines
* playlist/extm3u: strip first line for #EXTM3U detectionMax Kellermann2014-10-171-2/+6
|
* PlaylistStream: use OpenLocalInputStream()Max Kellermann2014-10-021-5/+3
|
* PlaylistStream: pass Path instance to playlist_open_path()Max Kellermann2014-10-023-11/+19
| | | | | Convert filesystem charset to UTF-8 for playlist_list_open_uri(). This fixes one of many remaining charset bugs.
* Merge tag 'v0.18.16'Max Kellermann2014-09-261-1/+1
|\
| * playlist/embcue: change name string to "embcue"Max Kellermann2014-09-261-1/+1
| | | | | | | | The name "cue" was listed twice in "mpd --version".
* | PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote()Max Kellermann2014-08-301-1/+1
| | | | | | | | | | Finally allows loading playlist files on a storage plugin. Commit 297e2747 attempted to implement this, but failed due to this bug.
* | *: add missing Compiler.h includesMax Kellermann2014-08-301-0/+1
| | | | | | | | Necessary for "final" on gcc 4.6.
* | Tag: use SignedSongTime for the song durationMax Kellermann2014-08-293-3/+3
| |
* | DetachedSong: use std::chrono::duration for start_ms and end_msMax Kellermann2014-08-281-3/+3
| |
* | TextInputStream: don't stripMax Kellermann2014-08-072-3/+5
| | | | | | | | | | Let the caller decide whether to strip. Only remove \n and \r (end-of-line markers).
* | util/StringUtil: rename strchug_fast() to StripLeft()Max Kellermann2014-08-073-5/+5
| |
* | input/TextInputStream: return char*Max Kellermann2014-08-073-13/+9
| | | | | | | | | | Revert to the old API before commit e9e55b08, removing unnecessary bloat.
* | playlist/extm3u: use nullptr instead of NULLMax Kellermann2014-07-301-4/+4
| |
* | PlaylistSong: always merge tags and LastModifiedMax Kellermann2014-07-121-12/+2
| |
* | PlaylistSong, CueParser: don't override Tag::timeMax Kellermann2014-07-122-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.
* | Merge branch 'v0.18.x'Max Kellermann2014-07-091-0/+1
|\|
| * playlist/PlsPlaylistPlugin: fix build failure due to missing stdio.h includeGustavo Zacarias2014-07-091-0/+1
| | | | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
* | playlist/plugins/DespotifyPlaylistPlugin: fix build failure due to missing ↵Gustavo Zacarias2014-07-091-0/+1
| | | | | | | | | | | | stdio.h include Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
* | InputStream: "protect" attributesMax Kellermann2014-05-121-1/+1
| |
* | InputStream: add virtual destructorMax Kellermann2014-05-113-5/+5
| | | | | | Replaces the method Close().
* | InputStream: convert to classMax Kellermann2014-05-113-3/+3
| |
* | PlaylistMapper: use map_spl_utf8_to_fs()Max Kellermann2014-05-101-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!
* | Playlist: use the Error library to return errorsMax Kellermann2014-02-272-16/+24
| |
* | Playlist*: move to queue/Max Kellermann2014-02-271-1/+1
| |
* | cue/CueParser: move to playlist/Max Kellermann2014-02-194-2/+464
| |
* | PlaylistRegistry: disable the "pls" plugin without GLibMax Kellermann2014-02-181-0/+3
| |
* | PlaylistSong: copy the "real" URIMax Kellermann2014-02-101-0/+3
| | | | | | | | | | Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path).
* | PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann2014-02-076-12/+58
| |
* | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann2014-02-076-86/+144
| |
* | PlaylistSong: include cleanupMax Kellermann2014-02-071-2/+0
| |
* | playlist/CloseSongEnumerator: new wrapper classMax Kellermann2014-02-0710-62/+109
| | | | | | | | | | Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
* | SongLoader: new class that merges duplicate codeMax Kellermann2014-02-035-63/+27
| | | | | | | | | | There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
* | db: add compile-time option to disable databaseMax Kellermann2014-01-302-0/+10
| |
* | ConfigGlobal: add config_find_block()Max Kellermann2014-01-241-28/+2
| | | | | | Merge duplicate code.
* | DespotifyUtils, Expat: move to lib/Max Kellermann2014-01-244-4/+4
| |
* | Database*: move to db/Max Kellermann2014-01-241-1/+1
| |
* | Input*: move to input/Max Kellermann2014-01-2410-10/+10
| |
* | Config*: move to config/Max Kellermann2014-01-242-3/+3
| |
* | playlist/*: move to playlist/plugins/Max Kellermann2014-01-2336-20/+1334
| |
* | LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann2014-01-193-3/+0
| | | | | | | | | | Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
* | playlist/extm3u: allocate Tag instance on the stackMax Kellermann2014-01-141-12/+7
| | | | | | | | Automate the life cycle, making the code safer.
* | copyright year 2014Max Kellermann2014-01-1320-20/+20
| |
* | playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XMLMax Kellermann2014-01-093-257/+59
| |
* | playlist/asx: make variables more localMax Kellermann2014-01-091-7/+6
| |
* | DetachedSong: fork of struct SongMax Kellermann2014-01-0910-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.
* | Merge branch 'v0.18.x'Max Kellermann2014-01-081-1/+0
|\|
| * playlist/pls: don't free stack bufferMax Kellermann2014-01-081-1/+0
| |
* | playlist/pls: make variables more localMax Kellermann2014-01-081-17/+9
| |
* | playlist/pls: convert "while" loop to "for" loopMax Kellermann2014-01-081-2/+1
| |
* | playlist/pls: simplify error handlerMax Kellermann2014-01-081-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.