Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | util/Error: new error passing library | Max Kellermann | 2013-09-04 | 6 | -48/+48 | |
| | | | | Replaces GLib's GError. | |||||
* | input_stream.h: rename to InputLegacy.hxx | Max Kellermann | 2013-09-03 | 7 | -7/+7 | |
| | ||||||
* | playlist/pls: use std::string instead of GString | Max Kellermann | 2013-08-06 | 1 | -9/+8 | |
| | ||||||
* | playlist/EmbbeddedCue: convert to class | Max Kellermann | 2013-08-05 | 1 | -27/+41 | |
| | ||||||
* | playlist/lastfm: convert to class | Max Kellermann | 2013-08-05 | 1 | -11/+15 | |
| | ||||||
* | playlist/lastfm: allocate the lastfm_playlist object at the end | Max Kellermann | 2013-08-05 | 1 | -15/+14 | |
| | | | | Simplify the error path, because the other allocations may fail. | |||||
* | playlist/m3u: allocate ExtM3uPlaylist with new/delete | Max Kellermann | 2013-08-05 | 1 | -8/+9 | |
| | ||||||
* | playlist/extm3u: allocate ExtM3uPlaylist with new/delete | Max Kellermann | 2013-08-05 | 1 | -10/+11 | |
| | ||||||
* | *: use gcc.h macros instead of GLib | Max Kellermann | 2013-08-04 | 3 | -20/+20 | |
| | ||||||
* | PlaylistPlugin: pass config_param reference | Max Kellermann | 2013-08-04 | 2 | -6/+5 | |
| | ||||||
* | tag: convert to C++ | Max Kellermann | 2013-07-30 | 9 | -33/+30 | |
| | ||||||
* | tag_handler: convert to C++ | Max Kellermann | 2013-07-29 | 1 | -1/+1 | |
| | ||||||
* | ape: convert to C++ | Max Kellermann | 2013-07-29 | 1 | -4/+1 | |
| | ||||||
* | tag_id3: convert to C++ | Max Kellermann | 2013-07-28 | 1 | -1/+1 | |
| | ||||||
* | song: convert header to C++ | Max Kellermann | 2013-07-28 | 13 | -48/+48 | |
| | ||||||
* | text_input_stream: convert to class | Denis Krjuchkov | 2013-05-12 | 3 | -43/+38 | |
| | ||||||
* | string_util: convert to C++ | Max Kellermann | 2013-04-09 | 1 | -1/+1 | |
| | ||||||
* | cue_parser: convert to C++ | Max Kellermann | 2013-04-09 | 2 | -19/+17 | |
| | ||||||
* | playlist/cue: add constructor/destructor | Max Kellermann | 2013-04-09 | 1 | -11/+13 | |
| | ||||||
* | uri: convert to C++ | Max Kellermann | 2013-04-08 | 2 | -2/+0 | |
| | ||||||
* | playlist/despotify: various code simplifications | Max Kellermann | 2013-01-29 | 1 | -55/+31 | |
| | ||||||
* | playlist/memory: use std::forward_list instead of GSList | Max Kellermann | 2013-01-29 | 8 | -112/+45 | |
| | ||||||
* | playlist/{asx,rss,soundcloud,xspf}: merge code to MemoryPlaylistProvider | Max Kellermann | 2013-01-29 | 8 | -257/+162 | |
| | ||||||
* | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 2013-01-27 | 4 | -16/+17 | |
| | ||||||
* | playlist/*: convert to C++ | Max Kellermann | 2013-01-27 | 18 | -225/+260 | |
| | ||||||
* | input_stream: forward-declare the struct | Max Kellermann | 2013-01-26 | 1 | -2/+1 | |
| | | | | Hide the definition from C code, to prepare the transition to C++. | |||||
* | tag_file: convert to C++ | Max Kellermann | 2013-01-26 | 1 | -1/+1 | |
| | ||||||
* | playlist/*: convert to C++ | Max Kellermann | 2013-01-26 | 7 | -42/+57 | |
| | ||||||
* | input,playlist/despotify: convert to C++ | Max Kellermann | 2013-01-21 | 2 | -22/+28 | |
| | ||||||
* | input_stream, main: remove obsolete GLib version checks | Max Kellermann | 2012-08-14 | 1 | -2/+0 | |
| | | | | MPD requires GLib 2.16. | |||||
* | require GLib 2.16 | Max Kellermann | 2012-07-10 | 2 | -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 lengths | Max Kellermann | 2012-03-22 | 1 | -2/+14 | |
| | | | | Fixes build failure on 64 bit. | |||||
* | playlist/soundcloud: support libyajl2 | Robert Vollmert | 2012-03-19 | 1 | -5/+21 | |
| | | | | [mk: backwars compatibility and autoconf check] | |||||
* | playlist/soundcloud: use config_dup_block_string() | Max Kellermann | 2012-03-01 | 1 | -5/+3 | |
| | ||||||
* | A soundcloud playlist plugin. | Robert Vollmert | 2012-03-01 | 2 | -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 plugin | Max Kellermann | 2012-02-12 | 2 | -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 file | Max Kellermann | 2012-02-12 | 1 | -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 sheets | Max Kellermann | 2012-02-12 | 2 | -0/+193 | |
| | | | | | Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread. | |||||
* | cue_parser: new line based CUE sheet parser | Max Kellermann | 2012-02-10 | 1 | -61/+28 | |
| | | | | To replace libcue, the unmaintained and crashy library. | |||||
* | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 | 8 | -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 mode | Simon Kagstrom | 2011-04-12 | 1 | -1/+1 | |
| | | | | | There is a global despotify session, so it should not be initialized until needed. | |||||
* | fix common misspellings | Jonathan Neuschäfer | 2011-03-31 | 1 | -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 plugin | Simon Kagstrom | 2011-03-29 | 2 | -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 2011 | Max Kellermann | 2011-01-29 | 18 | -18/+18 | |
| | ||||||
* | string_util: add function strchug_fast() | Max Kellermann | 2010-12-23 | 1 | -1/+2 | |
| | | | | Replace g_strchug() calls with a cheaper implementation. | |||||
* | playlist/rss: new playlist plugin for RSS feeds | Max Kellermann | 2010-10-11 | 2 | -0/+346 | |
| | ||||||
* | playlist/cue: last track ends at end of file | Max Kellermann | 2010-06-25 | 1 | -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 style | Orivej Desh | 2010-04-01 | 1 | -5/+4 | |
| | ||||||
* | cue: prepend pregap to the beginning of the track | Orivej Desh | 2010-03-28 | 1 | -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 plugin | Max Kellermann | 2010-01-06 | 2 | -0/+195 | |
| | | | | This playlist plugin handles FLAC files with embedded CUE sheets. |