aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist/PlaylistMapper.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-10-02PlaylistStream: pass Path instance to playlist_open_path()Max Kellermann1-2/+2
Convert filesystem charset to UTF-8 for playlist_list_open_uri(). This fixes one of many remaining charset bugs.
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-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-07PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann1-6/+19
2014-02-07Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann1-10/+1
2014-02-07playlist/CloseSongEnumerator: new wrapper classMax Kellermann1-18/+11
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
2014-01-30db: add compile-time option to disable databaseMax Kellermann1-0/+6
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann1-0/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-4/+4
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-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-02PlaylistMapper: convert playlist name to filesystem charsetMax Kellermann1-5/+6
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann1-10/+9
2013-09-05PlaylistPlugin: add interface SongEnumeratorMax Kellermann1-14/+10
Replaces struct playlist_provider.
2013-04-08uri: convert to C++Max Kellermann1-4/+1
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-4/+4
2013-01-26playlist/*: convert to C++Max Kellermann1-1/+1
2013-01-26Mapper: improve usage of Path classDenis Krjuchkov1-3/+3
2013-01-22Path: move to fs subdirectoryDenis Krjuchkov1-1/+1
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-9/+4
2013-01-02mapper: convert to C++Max Kellermann1-1/+1
2013-01-02playlist_{any,song,queue}: convert to C++Max Kellermann1-2/+2
2012-09-28main: use C++ compilerMax Kellermann1-1/+1
2012-09-28stored_playlist, playlist_save: use C++ compilerMax Kellermann1-3/+6
2011-09-16input_stream: non-blocking I/OMax Kellermann1-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-29copyright year 2011Max Kellermann1-1/+1
2010-06-01playlist_list: playlist_list_open_path() returns input_streamMax Kellermann1-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-08playlist_queue: moved code to playlist_mapper.cMax Kellermann1-0/+101