aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist/PlaylistRegistry.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-01Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann1-3/+6
Use the new uri_get_suffix() overload that removes the query string.
2014-05-12InputStream: "protect" attributesMax Kellermann1-1/+1
2014-02-18PlaylistRegistry: disable the "pls" plugin without GLibMax Kellermann1-0/+3
2014-02-07Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann1-31/+1
2014-02-07playlist/CloseSongEnumerator: new wrapper classMax Kellermann1-3/+3
Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream.
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann1-28/+2
Merge duplicate code.
2014-01-24Input*: move to input/Max Kellermann1-1/+1
2014-01-24Config*: move to config/Max Kellermann1-2/+2
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann1-10/+10
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XMLMax Kellermann1-1/+3
2013-12-29InputStream: add static method OpenReady()Max Kellermann1-7/+3
Merge some duplicate code.
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.