summaryrefslogtreecommitdiff
path: root/src/playlist
AgeCommit message (Collapse)Author
2010-10-11playlist/rss: new playlist plugin for RSS feedsMax Kellermann
2010-06-25playlist/cue: last track ends at end of fileMax Kellermann
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.
2010-04-01cue: fix code styleOrivej Desh
2010-03-28cue: prepend pregap to the beginning of the trackOrivej Desh
.. 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.
2010-01-06playlist: added a FLAC playlist pluginMax Kellermann
This playlist plugin handles FLAC files with embedded CUE sheets.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann
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 Olrich
2009-12-27playlist/cue: fill song.start_ms, .end_msMax Kellermann
This patch adds practical usefulness to the CUE playlist plugin.
2009-12-27playlist/cue: return the original song URIMax Kellermann
The caller should be responsible for building the absolute URI.
2009-12-16playlist: added CUE playlist pluginMax Kellermann
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-15input_stream: return errors with GErrorMax Kellermann
2009-11-12include config.h in all sourcesMax Kellermann
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.
2009-11-10moved GLib compatibility code to glib_compat.hMax Kellermann
2009-11-06playlist: added extm3u pluginMax Kellermann
This new plugin parses extm3u files. Files without the "#EXTM3U" header are still parsed by the plain old "m3u" plugin.
2009-11-06playlist/{m3u,pls}: removed URI checksMax Kellermann
The caller is responsible for verifying the song URI.
2009-10-21playlist: new ASX playlist pluginMax Kellermann
Based on the XSPF playlist plugin.
2009-10-21playlist/xspf: ignore text in root, playlist, tracklistMax Kellermann
Added a missing "break".
2009-10-15Add PLS ParserQball Cow
2009-10-13playlist: added plugin for last.fm radioMax Kellermann
This plugin will replace the last.fm input plugin, once the playlist API is integrated into MPD.
2009-10-13playlist: added XSPF pluginMax Kellermann
2009-10-13playlist/m3u: added plugin nameMax Kellermann
2009-10-12playlist_plugin: new plugin API for playlist parsersMax Kellermann
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.