Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-08-12 | client/Response: new Client wrapper class for writing responses | Max Kellermann | 1 | -9/+12 | |
2015-01-01 | Copyright year 2015 | Max Kellermann | 1 | -1/+1 | |
2014-12-09 | playlist/Print: don't skip non-existent songs in "listplaylist" | Max Kellermann | 1 | -6/+7 | |
Skipping those songs silently will confuse the client, because commands specifying the song index within a playlist (e.g. playlistdelete) will be out of sync. This copies spl_print()'s behavior to playlist_file_print(). | |||||
2014-02-07 | PlaylistMapper: use class Storage instead of Mapper.cxx | Max Kellermann | 1 | -1/+6 | |
2014-02-07 | playlist/CloseSongEnumerator: new wrapper class | Max Kellermann | 1 | -7/+2 | |
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream. | |||||
2014-02-03 | SongLoader: new class that merges duplicate code | Max Kellermann | 1 | -1/+4 | |
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files. | |||||
2014-01-24 | Input*: move to input/ | Max Kellermann | 1 | -1/+1 | |
2014-01-23 | playlist/*: move to playlist/plugins/ | Max Kellermann | 1 | -39/+20 | |
2014-01-21 | PlaylistSong: modify the given song object in-place | Max Kellermann | 1 | -3/+4 | |
Reduce bloat. | |||||
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2014-01-09 | DetachedSong: fork of struct Song | Max Kellermann | 1 | -5/+5 | |
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. | |||||
2013-12-05 | fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8 | Denis Krjuchkov | 1 | -1/+1 | |
2013-11-28 | include cleanup using iwyu | Max Kellermann | 1 | -1/+0 | |
2013-10-28 | player_control: rename to PlayerControl | Max Kellermann | 1 | -2/+2 | |
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -1/+1 | |
2013-10-21 | GetBaseUTF8 | Max Kellermann | 1 | -12/+9 | |
2013-10-20 | PlaylistError: convert playlist_result to a strictly-typed enum | Max Kellermann | 1 | -7/+7 | |
2013-10-19 | *: use references instead of pointers | Max Kellermann | 1 | -3/+3 | |
2013-10-17 | InputStream: use int64_t instead of goffset | Max Kellermann | 1 | -0/+2 | |
Decouple some more from GLib. | |||||
2013-10-17 | thread/{Cond,Mutex}: use "class" instead of "typedef" | Max Kellermann | 1 | -0/+1 | |
Allows forward-declaration. | |||||
2013-10-02 | Playlist*: use nullptr instead of NULL | Max Kellermann | 1 | -5/+5 | |
2013-09-05 | PlaylistPlugin: add interface SongEnumerator | Max Kellermann | 1 | -6/+7 | |
Replaces struct playlist_provider. | |||||
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -2/+2 | |
2013-09-03 | input_stream.h: rename to InputLegacy.hxx | Max Kellermann | 1 | -1/+1 | |
2013-07-28 | song: convert header to C++ | Max Kellermann | 1 | -7/+4 | |
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -9/+3 | |
2013-01-27 | playlist/*: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-07 | Playlist: convert functions to methods | Max Kellermann | 1 | -1/+1 | |
2013-01-07 | decoder_api.h, ...: add "extern C" | Max Kellermann | 1 | -1/+1 | |
2013-01-04 | playlist: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-02 | playlist_{any,song,queue}: convert to C++ | Max Kellermann | 1 | -4/+7 | |
2012-08-16 | DatabasePlugin: add method ReturnSong() | Max Kellermann | 1 | -4/+2 | |
Allow the plugin to allocate the GetSong() return value. | |||||
2012-02-09 | playlist_queue: add start/end_index parameters | Max Kellermann | 1 | -2/+14 | |
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -2/+12 | |
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-09-11 | playlist: move enum playlist_result to playlist_error.h | Max Kellermann | 1 | -0/+1 | |
Reduce header dependencies. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2011-01-10 | player_control: removed the global variable "pc" | Max Kellermann | 1 | -4/+7 | |
Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support. | |||||
2010-12-23 | playlist_song: add flag "secure" | Max Kellermann | 1 | -4/+4 | |
Optionally allow all local files. "Insecure" mode is used for printing playlists. | |||||
2010-06-25 | playlist_queue: use playlist_open_any() | Max Kellermann | 1 | -48/+2 | |
2010-06-25 | playlist_queue: simplify error handler | Max Kellermann | 1 | -9/+8 | |
Return early on error, save one level of indent. | |||||
2010-06-01 | playlist_list: playlist_list_open_path() returns input_stream | Max Kellermann | 1 | -1/+6 | |
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 | -70/+6 | |
2010-02-08 | playlist_queue: moved check_translate_song() to playlist_song.c | Max Kellermann | 1 | -118/+2 | |
2010-01-06 | playlist_queue: convert absolute paths | Max Kellermann | 1 | -4/+16 | |
Accept absolute paths if they point into the music directory. | |||||
2010-01-06 | playlist_queue: use the "uri" variable earlier | Max Kellermann | 1 | -6/+7 | |
Preparation for the next patch. | |||||
2010-01-01 | input_stream: return allocated input_stream objects | Max Kellermann | 1 | -12/+9 | |
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute). | |||||
2009-12-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-27 | playlist_queue: resolve relative URIs, database lookup | Max Kellermann | 1 | -17/+114 | |
Prepend the playlist's base URI to relative song URIs. Look up songs in the database (if the URI refers to a local song file). Merge existing database metadata with metadata from the playlist plugin. | |||||
2009-12-27 | playlist_queue: load playlists from music directory | Max Kellermann | 1 | -4/+36 | |
Try the playlist directory first, and if that file does not exist, try the same relative path within the music directory. | |||||
2009-12-27 | playlist_queue: pass const string to playlist_open_path_into_queue() | Max Kellermann | 1 | -1/+1 | |