Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | playlist/extm3u: strip first line for #EXTM3U detection | Max Kellermann | 2014-10-17 | 1 | -2/+6 |
| | |||||
* | PlaylistStream: use OpenLocalInputStream() | Max Kellermann | 2014-10-02 | 1 | -5/+3 |
| | |||||
* | PlaylistStream: pass Path instance to playlist_open_path() | Max Kellermann | 2014-10-02 | 3 | -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 Kellermann | 2014-09-26 | 1 | -1/+1 |
|\ | |||||
| * | playlist/embcue: change name string to "embcue" | Max Kellermann | 2014-09-26 | 1 | -1/+1 |
| | | | | | | | | The name "cue" was listed twice in "mpd --version". | ||||
* | | PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote() | Max Kellermann | 2014-08-30 | 1 | -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 includes | Max Kellermann | 2014-08-30 | 1 | -0/+1 |
| | | | | | | | | Necessary for "final" on gcc 4.6. | ||||
* | | Tag: use SignedSongTime for the song duration | Max Kellermann | 2014-08-29 | 3 | -3/+3 |
| | | |||||
* | | DetachedSong: use std::chrono::duration for start_ms and end_ms | Max Kellermann | 2014-08-28 | 1 | -3/+3 |
| | | |||||
* | | TextInputStream: don't strip | Max Kellermann | 2014-08-07 | 2 | -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 Kellermann | 2014-08-07 | 3 | -5/+5 |
| | | |||||
* | | input/TextInputStream: return char* | Max Kellermann | 2014-08-07 | 3 | -13/+9 |
| | | | | | | | | | | Revert to the old API before commit e9e55b08, removing unnecessary bloat. | ||||
* | | playlist/extm3u: use nullptr instead of NULL | Max Kellermann | 2014-07-30 | 1 | -4/+4 |
| | | |||||
* | | PlaylistSong: always merge tags and LastModified | Max Kellermann | 2014-07-12 | 1 | -12/+2 |
| | | |||||
* | | PlaylistSong, CueParser: don't override Tag::time | Max Kellermann | 2014-07-12 | 2 | -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 Kellermann | 2014-07-09 | 1 | -0/+1 |
|\| | |||||
| * | playlist/PlsPlaylistPlugin: fix build failure due to missing stdio.h include | Gustavo Zacarias | 2014-07-09 | 1 | -0/+1 |
| | | | | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||||
* | | playlist/plugins/DespotifyPlaylistPlugin: fix build failure due to missing ↵ | Gustavo Zacarias | 2014-07-09 | 1 | -0/+1 |
| | | | | | | | | | | | | stdio.h include Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||||
* | | InputStream: "protect" attributes | Max Kellermann | 2014-05-12 | 1 | -1/+1 |
| | | |||||
* | | InputStream: add virtual destructor | Max Kellermann | 2014-05-11 | 3 | -5/+5 |
| | | | | | | Replaces the method Close(). | ||||
* | | InputStream: convert to class | Max Kellermann | 2014-05-11 | 3 | -3/+3 |
| | | |||||
* | | PlaylistMapper: use map_spl_utf8_to_fs() | Max Kellermann | 2014-05-10 | 1 | -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 errors | Max Kellermann | 2014-02-27 | 2 | -16/+24 |
| | | |||||
* | | Playlist*: move to queue/ | Max Kellermann | 2014-02-27 | 1 | -1/+1 |
| | | |||||
* | | cue/CueParser: move to playlist/ | Max Kellermann | 2014-02-19 | 4 | -2/+464 |
| | | |||||
* | | PlaylistRegistry: disable the "pls" plugin without GLib | Max Kellermann | 2014-02-18 | 1 | -0/+3 |
| | | |||||
* | | PlaylistSong: copy the "real" URI | Max Kellermann | 2014-02-10 | 1 | -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.cxx | Max Kellermann | 2014-02-07 | 6 | -12/+58 |
| | | |||||
* | | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxx | Max Kellermann | 2014-02-07 | 6 | -86/+144 |
| | | |||||
* | | PlaylistSong: include cleanup | Max Kellermann | 2014-02-07 | 1 | -2/+0 |
| | | |||||
* | | playlist/CloseSongEnumerator: new wrapper class | Max Kellermann | 2014-02-07 | 10 | -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 code | Max Kellermann | 2014-02-03 | 5 | -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 database | Max Kellermann | 2014-01-30 | 2 | -0/+10 |
| | | |||||
* | | ConfigGlobal: add config_find_block() | Max Kellermann | 2014-01-24 | 1 | -28/+2 |
| | | | | | | Merge duplicate code. | ||||
* | | DespotifyUtils, Expat: move to lib/ | Max Kellermann | 2014-01-24 | 4 | -4/+4 |
| | | |||||
* | | Database*: move to db/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 |
| | | |||||
* | | Input*: move to input/ | Max Kellermann | 2014-01-24 | 10 | -10/+10 |
| | | |||||
* | | Config*: move to config/ | Max Kellermann | 2014-01-24 | 2 | -3/+3 |
| | | |||||
* | | playlist/*: move to playlist/plugins/ | Max Kellermann | 2014-01-23 | 36 | -20/+1334 |
| | | |||||
* | | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 2014-01-19 | 3 | -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 stack | Max Kellermann | 2014-01-14 | 1 | -12/+7 |
| | | | | | | | | Automate the life cycle, making the code safer. | ||||
* | | copyright year 2014 | Max Kellermann | 2014-01-13 | 20 | -20/+20 |
| | | |||||
* | | playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XML | Max Kellermann | 2014-01-09 | 3 | -257/+59 |
| | | |||||
* | | playlist/asx: make variables more local | Max Kellermann | 2014-01-09 | 1 | -7/+6 |
| | | |||||
* | | DetachedSong: fork of struct Song | Max Kellermann | 2014-01-09 | 10 | -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 Kellermann | 2014-01-08 | 1 | -1/+0 |
|\| | |||||
| * | playlist/pls: don't free stack buffer | Max Kellermann | 2014-01-08 | 1 | -1/+0 |
| | | |||||
* | | playlist/pls: make variables more local | Max Kellermann | 2014-01-08 | 1 | -17/+9 |
| | | |||||
* | | playlist/pls: convert "while" loop to "for" loop | Max Kellermann | 2014-01-08 | 1 | -2/+1 |
| | | |||||
* | | playlist/pls: simplify error handler | Max Kellermann | 2014-01-08 | 1 | -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. |