Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2014-01-09 | playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XML | Max Kellermann | 1 | -1/+3 | |
2013-12-29 | InputStream: add static method OpenReady() | Max Kellermann | 1 | -7/+3 | |
Merge some duplicate code. | |||||
2013-12-15 | UriUtil: add function uri_get_scheme() | Max Kellermann | 1 | -7/+3 | |
Replaces g_uri_parse_scheme(). | |||||
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -14/+13 | |
2013-10-23 | InputStream: add method Rewind() | Max Kellermann | 1 | -3/+2 | |
2013-10-17 | InputStream: use int64_t instead of goffset | Max Kellermann | 1 | -0/+2 | |
Decouple some more from GLib. | |||||
2013-10-15 | PlaylistRegistry: use std::string for temporary allocation | Max Kellermann | 1 | -4/+2 | |
2013-10-15 | Util/Macros: replacement for GLib's G_N_ELEMENTS() | Max Kellermann | 1 | -2/+6 | |
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -1/+2 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-10-02 | Playlist*: use nullptr instead of NULL | Max Kellermann | 1 | -52/+52 | |
2013-09-28 | playlist/lastfm: remove defunct Last.fm support | Max Kellermann | 1 | -4/+0 | |
This plugin has been defunct ever since Last.fm changed their protocol. Since there is no volunteer willing to fix the plugin, I'm removing it now. | |||||
2013-09-05 | mpd_error.h: remove obsolete header | Max Kellermann | 1 | -3/+3 | |
Migrate the remaining callers to FatalError(). | |||||
2013-09-05 | PlaylistPlugin: add interface SongEnumerator | Max Kellermann | 1 | -25/+17 | |
Replaces struct playlist_provider. | |||||
2013-09-05 | conf.h: remove obsolete header | Max Kellermann | 1 | -1/+2 | |
Use only ConfigData.hxx in plugin sources to reduce header dependencies. | |||||
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -10/+8 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -9/+9 | |
Replaces GLib's GError. | |||||
2013-09-03 | input_stream.h: rename to InputLegacy.hxx | Max Kellermann | 1 | -1/+1 | |
2013-08-04 | PlaylistPlugin: pass config_param reference | Max Kellermann | 1 | -5/+7 | |
2013-04-09 | string_util: convert to C++ | Max Kellermann | 1 | -2/+1 | |
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-27 | playlist/*: convert to C++ | Max Kellermann | 1 | -8/+8 | |
2013-01-26 | input_stream: forward-declare the struct | Max Kellermann | 1 | -8/+9 | |
Hide the definition from C code, to prepare the transition to C++. | |||||
2013-01-26 | playlist/*: convert to C++ | Max Kellermann | 1 | -5/+9 | |
2013-01-21 | input,playlist/despotify: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2012-07-10 | require GLib 2.16 | Max Kellermann | 1 | -1/+0 | |
GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it. | |||||
2012-06-12 | playlist_list: add _for_each() macros | Max Kellermann | 1 | -18/+13 | |
2012-03-01 | A soundcloud playlist plugin. | Robert Vollmert | 1 | -0/+4 | |
Requires YAJL to build, and this doesn't include the necessary automake changes. Can be built using ./configure CFLAGS="-I/usr/include/yajl" LIBS="-lyajl" --enable-soundcloud Add the following to your config: playlist_plugin { name "soundcloud" enabled "true" apikey "c4c979fd6f241b5b30431d722af212e8" } Then you can stream from soundcloud using calls like: mpc load soundcloud://track/<track-id> mpc load soundcloud://playlist/<playlist-id> mpc load soundcloud://url/http://soundcloud.com/some/track/or/playlist For the last case, you can leave off the http:// or http://soundcloud.com/ . | |||||
2012-02-12 | playlist/flac: delete this obsolete plugin | Max Kellermann | 1 | -4/+0 | |
The FLAC playlist plugin has been superseded by the "embcue" playlist plugin, which can read the embedded CUE sheets of all formats. | |||||
2012-02-12 | playlist/embcue: new plugin for reading embedded cue sheets | Max Kellermann | 1 | -0/+2 | |
Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread. | |||||
2012-02-10 | cue_parser: new line based CUE sheet parser | Max Kellermann | 1 | -2/+0 | |
To replace libcue, the unmaintained and crashy library. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -28/+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-03-29 | playlist: Add despotify playlist plugin | Simon Kagstrom | 1 | -0/+4 | |
For spotify playlists or tracks. Uses a spt uri, so with mpc you can add playlists with mpc load spt://spotify:user:simon.kagstrom:playlist:3SUwkOe5VbVHysZcidEZtH | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-12-23 | utils: move string_array_contains() to string_util.c | Max Kellermann | 1 | -1/+1 | |
2010-10-11 | playlist/rss: new playlist plugin for RSS feeds | Max Kellermann | 1 | -0/+2 | |
2010-09-25 | eliminate g_error() usage | Thomas Jansen | 1 | -1/+2 | |
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007. | |||||
2010-06-25 | playlist_list: probe plugin without MIME attributes | Max Kellermann | 1 | -3/+23 | |
If the MIME type of a stream contains a semicolon, remove it and the text after it to probe for a playlist plugin. | |||||
2010-06-25 | playlist_list: moved input_stream.ready loop to calling function | Max Kellermann | 1 | -22/+11 | |
Merged both loops into playlist_list_open_stream(). This is needed because playlist_list_open_stream() needs to know the MIME type, which is only known after the stream has become "ready". | |||||
2010-06-25 | playlist_list: wait for input stream to become ready | Aaron Griffith | 1 | -0/+22 | |
Fixes an assertion failure in the input_stream_seek() call. | |||||
2010-06-01 | playlist_list: export playlist_suffix_supported() | Max Kellermann | 1 | -1/+1 | |
2010-06-01 | playlist_list: playlist_list_open_path() returns input_stream | Max Kellermann | 1 | -2/+4 | |
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-06-01 | playlist_list: move fallback g_uri_parse_scheme() to glib_compat.h | Max Kellermann | 1 | -14/+1 | |
2010-01-06 | playlist: added a FLAC playlist plugin | Max Kellermann | 1 | -0/+4 | |
This playlist plugin handles FLAC files with embedded CUE sheets. | |||||
2010-01-01 | input_stream: return allocated input_stream objects | Max Kellermann | 1 | -2/+4 | |
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_list: wait for the input stream to become ready | Max Kellermann | 1 | -0/+10 | |
Without this, seeking may cause MPD to crash. | |||||
2009-12-26 | playlist_list: use uri_get_suffix() | Max Kellermann | 1 | -4/+2 | |
2009-12-16 | playlist: added CUE playlist plugin | Max Kellermann | 1 | -0/+4 | |
This plugin is the groundwork for MPD's future generic CUE sheet support. That's not complete yet, e.g. there is no way for a playlist plugin to address an arbitrary position within a music file. |