aboutsummaryrefslogtreecommitdiffstats
path: root/src/playlist (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* playlist/EmbbeddedCue: convert to classMax Kellermann2013-08-051-27/+41
|
* playlist/lastfm: convert to classMax Kellermann2013-08-051-11/+15
|
* playlist/lastfm: allocate the lastfm_playlist object at the endMax Kellermann2013-08-051-15/+14
| | | | Simplify the error path, because the other allocations may fail.
* playlist/m3u: allocate ExtM3uPlaylist with new/deleteMax Kellermann2013-08-051-8/+9
|
* playlist/extm3u: allocate ExtM3uPlaylist with new/deleteMax Kellermann2013-08-051-10/+11
|
* *: use gcc.h macros instead of GLibMax Kellermann2013-08-043-20/+20
|
* PlaylistPlugin: pass config_param referenceMax Kellermann2013-08-042-6/+5
|
* tag: convert to C++Max Kellermann2013-07-309-33/+30
|
* tag_handler: convert to C++Max Kellermann2013-07-291-1/+1
|
* ape: convert to C++Max Kellermann2013-07-291-4/+1
|
* tag_id3: convert to C++Max Kellermann2013-07-281-1/+1
|
* song: convert header to C++Max Kellermann2013-07-2813-48/+48
|
* text_input_stream: convert to classDenis Krjuchkov2013-05-123-43/+38
|
* string_util: convert to C++Max Kellermann2013-04-091-1/+1
|
* cue_parser: convert to C++Max Kellermann2013-04-092-19/+17
|
* playlist/cue: add constructor/destructorMax Kellermann2013-04-091-11/+13
|
* uri: convert to C++Max Kellermann2013-04-082-2/+0
|
* playlist/despotify: various code simplificationsMax Kellermann2013-01-291-55/+31
|
* playlist/memory: use std::forward_list instead of GSListMax Kellermann2013-01-298-112/+45
|
* playlist/{asx,rss,soundcloud,xspf}: merge code to MemoryPlaylistProviderMax Kellermann2013-01-298-257/+162
|
* DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-274-16/+17
|
* playlist/*: convert to C++Max Kellermann2013-01-2718-225/+260
|
* input_stream: forward-declare the structMax Kellermann2013-01-261-2/+1
| | | | Hide the definition from C code, to prepare the transition to C++.
* tag_file: convert to C++Max Kellermann2013-01-261-1/+1
|
* playlist/*: convert to C++Max Kellermann2013-01-267-42/+57
|
* input,playlist/despotify: convert to C++Max Kellermann2013-01-212-22/+28
|
* input_stream, main: remove obsolete GLib version checksMax Kellermann2012-08-141-2/+0
| | | | MPD requires GLib 2.16.
* require GLib 2.16Max Kellermann2012-07-102-2/+1
| | | | | 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.
* playlist/soundcloud: libyajl2 uses size_t for string lengthsMax Kellermann2012-03-221-2/+14
| | | | Fixes build failure on 64 bit.
* playlist/soundcloud: support libyajl2Robert Vollmert2012-03-191-5/+21
| | | | [mk: backwars compatibility and autoconf check]
* playlist/soundcloud: use config_dup_block_string()Max Kellermann2012-03-011-5/+3
|
* A soundcloud playlist plugin.Robert Vollmert2012-03-012-0/+447
| | | | | | | | | | | | | | | | | | | | | | | 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/ .
* playlist/flac: delete this obsolete pluginMax Kellermann2012-02-122-196/+0
| | | | | The FLAC playlist plugin has been superseded by the "embcue" playlist plugin, which can read the embedded CUE sheets of all formats.
* playlist/embcue: ignore "FILE", always point to container song fileMax Kellermann2012-02-121-2/+15
| | | | | An embedded CUE sheet must always point to the song file it is contained in.
* playlist/embcue: new plugin for reading embedded cue sheetsMax Kellermann2012-02-122-0/+193
| | | | | Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread.
* cue_parser: new line based CUE sheet parserMax Kellermann2012-02-101-61/+28
| | | | To replace libcue, the unmaintained and crashy library.
* input_stream: non-blocking I/OMax Kellermann2011-09-168-36/+30
| | | | | | | | | 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: Despotify plugin: Correct init in daemon modeSimon Kagstrom2011-04-121-1/+1
| | | | | There is a global despotify session, so it should not be initialized until needed.
* fix common misspellingsJonathan Neuschäfer2011-03-311-1/+1
| | | | | | | These fixes were mostly generated with `codespell' [0] and manually reviewed. [0] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
* playlist: Add despotify playlist pluginSimon Kagstrom2011-03-292-0/+241
| | | | | | | 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-2918-18/+18
|
* string_util: add function strchug_fast()Max Kellermann2010-12-231-1/+2
| | | | Replace g_strchug() calls with a cheaper implementation.
* playlist/rss: new playlist plugin for RSS feedsMax Kellermann2010-10-112-0/+346
|
* playlist/cue: last track ends at end of fileMax Kellermann2010-06-251-3/+2
| | | | | | | | libcue's track_get_length() returns 0 for the last track, because that information is not available in the CUE sheet. This makes MPD quit playing the last track immediately. If we set "song.end_ms=0", MPD will play the track until the end of the song file, which is what we want.
* cue: fix code styleOrivej Desh2010-04-011-5/+4
|
* cue: prepend pregap to the beginning of the trackOrivej Desh2010-03-281-2/+13
| | | | | | | | | | | | | | | | | | | | | | | .. rather then append to the end of the previous one Cuebreakpoints from the cuetools package has three modes of operation, and the default is to append pregap (INDEX 00) to the end of the previous track. This is the behavior most compliant to the existing cue files. Here is the patch which fixes the issue. I borrowed bits of implementation from cuebreakpoints. I assumed that the whole audio file must be covered by head-to-head going tracks, which is how hardware CD players probably work. In cue_tag I changed rounding from rounding up to rounding down because the thing in mpd which calculates actual track duration (and current position) rounds it down, and I didn't want to see in my playlist values different from whose in a now-playing progress bar. I've compared the resultant mpd behaviour with "mplayer -ss MM:SS.MS" where the time was supplied by cuebreakpoints and noticed that mplayer started each track a bit earlier then mpd, though this was the same before the patch.
* playlist: added a FLAC playlist pluginMax Kellermann2010-01-062-0/+195
| | | | This playlist plugin handles FLAC files with embedded CUE sheets.
* input_stream: return allocated input_stream objectsMax Kellermann2010-01-011-23/+21
| | | | | | | | 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-3114-14/+14
|
* playlist/cue: fill song.start_ms, .end_msMax Kellermann2009-12-271-0/+3
| | | | This patch adds practical usefulness to the CUE playlist plugin.