aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* output/httpd: don't include glib.h in headerMax Kellermann2013-10-023-4/+6
|
* Stats: don't include glib.h in headerMax Kellermann2013-10-023-2/+5
| | | | Use forward declaration instead.
* Stats: rename stats.h to Stats.hxxMax Kellermann2013-10-027-29/+10
|
* Log: new logging library APIMax Kellermann2013-10-02162-1252/+1964
| | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
* TextFile: don't include glib.h in headerMax Kellermann2013-10-022-12/+22
| | | | Un-inline the methods that use GLib.
* filesystem/Path: use std::stringMax Kellermann2013-10-024-81/+45
|
* PlaylistMapper: convert playlist name to filesystem charsetMax Kellermann2013-10-021-5/+6
|
* Playlist*: use nullptr instead of NULLMax Kellermann2013-10-0217-128/+127
|
* Listen, ...: add missing includesMax Kellermann2013-10-028-2/+15
|
* ConfigData: handle default_value==nullptrMax Kellermann2013-10-021-1/+5
| | | | Return Path::Null() instead of dying from assertion failure.
* Daemon, Mapper: move-assign the Path objectsMax Kellermann2013-10-012-3/+3
|
* Merge branch 'v0.17.x'Max Kellermann2013-10-012-2/+23
|\
| * mixer/alsa: handle ENODEVMax Kellermann2013-10-012-0/+7
| | | | | | | | | | Fixes busy loop when USB sound device gets unplugged (Mantis bug #3824).
| * mixer/alsa: log snd_mixer_handle_events() errorsMax Kellermann2013-10-011-1/+6
| |
| * prepare 0.17.6Max Kellermann2013-10-012-1/+3
| |
* | DecoderControl: lock the mutex in Seek()Max Kellermann2013-09-301-1/+1
| | | | | | | | | | | | Use LockSynchronousCommand() instead of SynchronousCommandLocked(). Fixes regression from commit ef663810 (dead lock due to cond_wait with unlocked mutex).
* | tag/{riff,aiff}: convert to C++Max Kellermann2013-09-286-45/+28
| |
* | playlist/lastfm: remove defunct Last.fm supportMax Kellermann2013-09-287-373/+4
| | | | | | | | | | | | 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.
* | DecoderControl: use GLib forward declarationsMax Kellermann2013-09-279-6/+16
| |
* | PlayerThread: convert struct player to a classMax Kellermann2013-09-271-14/+17
| |
* | PlayerThread: use strictly typed enumMax Kellermann2013-09-271-14/+14
| |
* | PlayerControl: use strictly typed enumsMax Kellermann2013-09-278-128/+129
| |
* | DecoderControl: convert "enum decoder_state" to strictly-typed enumMax Kellermann2013-09-274-47/+53
| |
* | DecoderCommand: convert to strictly-typed enumMax Kellermann2013-09-2733-223/+219
| |
* | OutputAll: add pure/const attributesMax Kellermann2013-09-272-0/+6
| |
* | PlayerControl: convert functions to methodsMax Kellermann2013-09-272-63/+73
| |
* | DecoderControl: convert functions to methodsMax Kellermann2013-09-272-40/+52
| |
* | PlayerThread: move code to player_control::CommandFinished()Max Kellermann2013-09-272-21/+26
| |
* | PlayerThread: use nullptr instead of NULLMax Kellermann2013-09-271-37/+37
| |
* | PlayerThread: unlock/lock in player_task()Max Kellermann2013-09-261-8/+3
| |
* | PlayerThread: move code into the player classMax Kellermann2013-09-261-269/+277
| |
* | PlayerThread: use player referencesMax Kellermann2013-09-261-116/+115
| |
* | PlayerThread: use {decoder,player}_control referencesMax Kellermann2013-09-263-216/+216
| |
* | PlayerThread: allocate decoder_control on the stackMax Kellermann2013-09-261-5/+5
| |
* | PlayerThread: move global MusicBuffer variable into the player objectMax Kellermann2013-09-261-24/+27
| |
* | PlayerThread: simplify "buffer empty" assertionMax Kellermann2013-09-262-7/+12
| |
* | MusicChunk: remove obsolete prototypesMax Kellermann2013-09-261-7/+1
| |
* | MusicBuffer: expose the C++ APIMax Kellermann2013-09-2611-118/+95
| |
* | MusicPipe: expose the C++ APIMax Kellermann2013-09-2615-244/+189
| |
* | MusicChunk: use constexpr for CHUNK_SIZEMax Kellermann2013-09-261-3/+1
| |
* | *Plugin: remove redundant "line %i" from error messagesMax Kellermann2013-09-265-49/+32
| | | | | | | | The MPD core will add this as a prefeix.
* | SongFilter: search for album artist falls back to the artist tagMax Kellermann2013-09-262-9/+22
| | | | | | | | Implement Mantis ticket 0003646.
* | IdTable, SongFilter: use std::fill_n() instead of std::fill()Max Kellermann2013-09-262-2/+2
| |
* | TagType: reduce the enum size to 1 byteMax Kellermann2013-09-262-2/+13
| | | | | | | | Reduce the TagItem overhead.
* | Tag: add "pure" attributesMax Kellermann2013-09-261-0/+3
| |
* | TagHandler: use a TagBuilder internallyMax Kellermann2013-09-268-47/+55
| | | | | | | | Reduce heap allocator overhead.
* | Main: fix crash if no database was configuredMax Kellermann2013-09-261-0/+3
| | | | | | | | Add nullptr check, and return early from glue_db_init_and_load().
* | Main: use nullptr instead of NULLMax Kellermann2013-09-261-11/+11
| |
* | decoder/modplug: fix include directoryMax Kellermann2013-09-261-1/+3
| | | | | | | | | | | | Since Debian package 1:0.8.8.4-4, the pkg-config file does not contain -I/usr/include/libmodplug anymore, and we need to add the "libmodplug/" prefix to the #include line.
* | input/curl: fix EventLoop stall after curl_easy_pauseArtem Savkov2013-09-261-0/+1
| | | | | | | | | | | | | | | | When playing finite http streams, e.g. something from soundcloud, eventloop stalls after pausing writefunc. TimeoutMonitor is cancelled by the time resume happens, so when enough data is consumed writefunc is called only once. Calling InvalidateSockets() from input_curl_resume() seems to fix the issue.