aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist_list.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* input_stream: non-blocking I/OMax Kellermann2011-09-161-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.
* playlist: Add despotify playlist pluginSimon Kagstrom2011-03-291-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
* copyright year 2011Max Kellermann2011-01-291-1/+1
|
* utils: move string_array_contains() to string_util.cMax Kellermann2010-12-231-1/+1
|
* playlist/rss: new playlist plugin for RSS feedsMax Kellermann2010-10-111-0/+2
|
* eliminate g_error() usageThomas Jansen2010-09-251-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.
* playlist_list: probe plugin without MIME attributesMax Kellermann2010-06-251-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.
* playlist_list: moved input_stream.ready loop to calling functionMax Kellermann2010-06-251-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".
* playlist_list: wait for input stream to become readyAaron Griffith2010-06-251-0/+22
| | | | Fixes an assertion failure in the input_stream_seek() call.
* playlist_list: export playlist_suffix_supported()Max Kellermann2010-06-011-1/+1
|
* playlist_list: playlist_list_open_path() returns input_streamMax Kellermann2010-06-011-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.
* playlist_list: move fallback g_uri_parse_scheme() to glib_compat.hMax Kellermann2010-06-011-14/+1
|
* playlist: added a FLAC playlist pluginMax Kellermann2010-01-061-0/+4
| | | | This playlist plugin handles FLAC files with embedded CUE sheets.
* input_stream: return allocated input_stream objectsMax Kellermann2010-01-011-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).
* Update copyright notices.Avuton Olrich2009-12-311-1/+1
|
* playlist_list: wait for the input stream to become readyMax Kellermann2009-12-271-0/+10
| | | | Without this, seeking may cause MPD to crash.
* playlist_list: use uri_get_suffix()Max Kellermann2009-12-261-4/+2
|
* playlist: added CUE playlist pluginMax Kellermann2009-12-161-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.
* playlist_list: support URI suffix matchMax Kellermann2009-12-161-2/+54
| | | | When no plugin matches the URI scheme, try the file name suffix.
* playlist_list: check if open method is presentMax Kellermann2009-12-161-2/+6
| | | | | Use open_uri() / open_stream() only after checking that they are implemented.
* input_stream: return errors with GErrorMax Kellermann2009-12-151-4/+13
|
* include config.h in all sourcesMax Kellermann2009-11-121-1/+1
| | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
* configure.ac: require GLib 2.12Max Kellermann2009-11-101-0/+12
| | | | | | Drop the required GLib version from 2.16 to 2.12, because many current systems still don't have GLib 2.16. This requires several new compatibility functions in glib_compat.h.
* utils: renamed stringFoundInStringArray()Max Kellermann2009-11-061-7/+8
| | | | | No CamelCase. Use bool instead of int. Make both arguments mandatory.
* playlist_list: added function playlist_list_open_path()Max Kellermann2009-11-061-0/+36
| | | | Added an interface for loading playlists from a local file.
* playlist: added extm3u pluginMax Kellermann2009-11-061-0/+2
| | | | | This new plugin parses extm3u files. Files without the "#EXTM3U" header are still parsed by the plain old "m3u" plugin.
* playlist_list: rewind the stream before opening the playlistMax Kellermann2009-11-061-0/+9
| | | | | | If one plugin has failed to open the playlist, it may have consumed a part of the stream already. This may lead to a failure in all following plugins. Fix: rewind the stream before each open() call.
* playlist: new ASX playlist pluginMax Kellermann2009-10-211-0/+2
| | | | Based on the XSPF playlist plugin.
* Add PLS ParserQball Cow2009-10-151-0/+2
|
* playlist: added plugin for last.fm radioMax Kellermann2009-10-131-0/+5
| | | | | This plugin will replace the last.fm input plugin, once the playlist API is integrated into MPD.
* playlist: added XSPF pluginMax Kellermann2009-10-131-0/+2
|
* playlist_list: pass configuration to playlist pluginsMax Kellermann2009-10-131-2/+40
| | | | This patch completes the configuration support.
* playlist_list: initialize the "playlist" variableMax Kellermann2009-10-131-1/+1
| | | | Prevent access on uninitialized variable if the plugin list is empty.
* playlist_plugin: new plugin API for playlist parsersMax Kellermann2009-10-121-0/+146
Based on this API, we will add parsers for EXTM3U, PLS, ASX, last.fm radio and others. There is no integration into the MPD core yet. Right now, we have a command line test program. This is work in progress.