Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-10-02 | PlaylistStream: pass Path instance to playlist_open_path() | Max Kellermann | 1 | -2/+2 | |
Convert filesystem charset to UTF-8 for playlist_list_open_uri(). This fixes one of many remaining charset bugs. | |||||
2014-08-30 | PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote() | Max Kellermann | 1 | -1/+1 | |
Finally allows loading playlist files on a storage plugin. Commit 297e2747 attempted to implement this, but failed due to this bug. | |||||
2014-05-10 | PlaylistMapper: use map_spl_utf8_to_fs() | Max Kellermann | 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! | |||||
2014-02-07 | PlaylistMapper: use class Storage instead of Mapper.cxx | Max Kellermann | 1 | -6/+19 | |
2014-02-07 | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxx | Max Kellermann | 1 | -10/+1 | |
2014-02-07 | playlist/CloseSongEnumerator: new wrapper class | Max Kellermann | 1 | -18/+11 | |
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream. | |||||
2014-01-30 | db: add compile-time option to disable database | Max Kellermann | 1 | -0/+6 | |
2014-01-23 | playlist/*: move to playlist/plugins/ | Max Kellermann | 1 | -0/+0 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -4/+4 | |
2013-10-17 | fs/Path: rename to AllocatedPath | Max Kellermann | 1 | -5/+6 | |
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object. | |||||
2013-10-02 | PlaylistMapper: convert playlist name to filesystem charset | Max Kellermann | 1 | -5/+6 | |
2013-10-02 | Playlist*: use nullptr instead of NULL | Max Kellermann | 1 | -10/+9 | |
2013-09-05 | PlaylistPlugin: add interface SongEnumerator | Max Kellermann | 1 | -14/+10 | |
Replaces struct playlist_provider. | |||||
2013-04-08 | uri: convert to C++ | Max Kellermann | 1 | -4/+1 | |
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -4/+4 | |
2013-01-26 | playlist/*: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-26 | Mapper: improve usage of Path class | Denis Krjuchkov | 1 | -3/+3 | |
2013-01-22 | Path: move to fs subdirectory | Denis Krjuchkov | 1 | -1/+1 | |
2013-01-18 | Path: new class "Path" wraps filesystem path strings | Max Kellermann | 1 | -9/+4 | |
2013-01-02 | mapper: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | playlist_{any,song,queue}: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2012-09-28 | main: use C++ compiler | Max Kellermann | 1 | -1/+1 | |
2012-09-28 | stored_playlist, playlist_save: use C++ compiler | Max Kellermann | 1 | -3/+6 | |
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -10/+17 | |
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-06-01 | playlist_list: playlist_list_open_path() returns input_stream | Max Kellermann | 1 | -10/+12 | |
Memory leak fix. The input_stream object passed to playlist_list_open_stream_suffix() must be closed by the caller - this however never happens in playlist_list_open_path(), because it does not return it to the caller. | |||||
2010-02-08 | playlist_queue: moved code to playlist_mapper.c | Max Kellermann | 1 | -0/+101 | |