aboutsummaryrefslogtreecommitdiffstats
path: root/src/PlaylistRegistry.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-15UriUtil: add function uri_get_scheme()Max Kellermann1-7/+3
Replaces g_uri_parse_scheme().
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-14/+13
2013-10-23InputStream: add method Rewind()Max Kellermann1-3/+2
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-0/+2
Decouple some more from GLib.
2013-10-15PlaylistRegistry: use std::string for temporary allocationMax Kellermann1-4/+2
2013-10-15Util/Macros: replacement for GLib's G_N_ELEMENTS()Max Kellermann1-2/+6
2013-10-02Log: new logging library APIMax Kellermann1-1/+2
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann1-52/+52
2013-09-28playlist/lastfm: remove defunct Last.fm supportMax Kellermann1-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-05mpd_error.h: remove obsolete headerMax Kellermann1-3/+3
Migrate the remaining callers to FatalError().
2013-09-05PlaylistPlugin: add interface SongEnumeratorMax Kellermann1-25/+17
Replaces struct playlist_provider.
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+2
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-10/+8
2013-09-04util/Error: new error passing libraryMax Kellermann1-9/+9
Replaces GLib's GError.
2013-09-03input_stream.h: rename to InputLegacy.hxxMax Kellermann1-1/+1
2013-08-04PlaylistPlugin: pass config_param referenceMax Kellermann1-5/+7
2013-04-09string_util: convert to C++Max Kellermann1-2/+1
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-27playlist/*: convert to C++Max Kellermann1-8/+8
2013-01-26input_stream: forward-declare the structMax Kellermann1-8/+9
Hide the definition from C code, to prepare the transition to C++.
2013-01-26playlist/*: convert to C++Max Kellermann1-5/+9
2013-01-21input,playlist/despotify: convert to C++Max Kellermann1-1/+1
2012-07-10require GLib 2.16Max Kellermann1-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-12playlist_list: add _for_each() macrosMax Kellermann1-18/+13
2012-03-01A soundcloud playlist plugin.Robert Vollmert1-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-12playlist/flac: delete this obsolete pluginMax Kellermann1-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-12playlist/embcue: new plugin for reading embedded cue sheetsMax Kellermann1-0/+2
Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread.
2012-02-10cue_parser: new line based CUE sheet parserMax Kellermann1-2/+0
To replace libcue, the unmaintained and crashy library.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-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-29playlist: Add despotify playlist pluginSimon Kagstrom1-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-29copyright year 2011Max Kellermann1-1/+1
2010-12-23utils: move string_array_contains() to string_util.cMax Kellermann1-1/+1
2010-10-11playlist/rss: new playlist plugin for RSS feedsMax Kellermann1-0/+2
2010-09-25eliminate g_error() usageThomas Jansen1-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-25playlist_list: probe plugin without MIME attributesMax Kellermann1-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-25playlist_list: moved input_stream.ready loop to calling functionMax Kellermann1-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-25playlist_list: wait for input stream to become readyAaron Griffith1-0/+22
Fixes an assertion failure in the input_stream_seek() call.
2010-06-01playlist_list: export playlist_suffix_supported()Max Kellermann1-1/+1
2010-06-01playlist_list: playlist_list_open_path() returns input_streamMax Kellermann1-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-01playlist_list: move fallback g_uri_parse_scheme() to glib_compat.hMax Kellermann1-14/+1
2010-01-06playlist: added a FLAC playlist pluginMax Kellermann1-0/+4
This playlist plugin handles FLAC files with embedded CUE sheets.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-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-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-27playlist_list: wait for the input stream to become readyMax Kellermann1-0/+10
Without this, seeking may cause MPD to crash.
2009-12-26playlist_list: use uri_get_suffix()Max Kellermann1-4/+2
2009-12-16playlist: added CUE playlist pluginMax Kellermann1-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.
2009-12-16playlist_list: support URI suffix matchMax Kellermann1-2/+54
When no plugin matches the URI scheme, try the file name suffix.
2009-12-16playlist_list: check if open method is presentMax Kellermann1-2/+6
Use open_uri() / open_stream() only after checking that they are implemented.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-4/+13