aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-02Stats: don't include glib.h in headerMax Kellermann3-2/+5
Use forward declaration instead.
2013-10-02Stats: rename stats.h to Stats.hxxMax Kellermann6-27/+9
2013-10-02Log: new logging library APIMax Kellermann153-1229/+1907
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02TextFile: don't include glib.h in headerMax Kellermann2-12/+22
Un-inline the methods that use GLib.
2013-10-02filesystem/Path: use std::stringMax Kellermann4-81/+45
2013-10-02PlaylistMapper: convert playlist name to filesystem charsetMax Kellermann1-5/+6
2013-10-02Playlist*: use nullptr instead of NULLMax Kellermann17-128/+127
2013-10-02Listen, ...: add missing includesMax Kellermann7-2/+13
2013-10-02ConfigData: handle default_value==nullptrMax Kellermann1-1/+5
Return Path::Null() instead of dying from assertion failure.
2013-10-01Daemon, Mapper: move-assign the Path objectsMax Kellermann2-3/+3
2013-10-01mixer/alsa: handle ENODEVMax Kellermann1-0/+5
Fixes busy loop when USB sound device gets unplugged (Mantis bug #3824).
2013-10-01mixer/alsa: log snd_mixer_handle_events() errorsMax Kellermann1-1/+6
2013-09-30DecoderControl: lock the mutex in Seek()Max Kellermann1-1/+1
Use LockSynchronousCommand() instead of SynchronousCommandLocked(). Fixes regression from commit ef663810 (dead lock due to cond_wait with unlocked mutex).
2013-09-28tag/{riff,aiff}: convert to C++Max Kellermann5-43/+26
2013-09-28playlist/lastfm: remove defunct Last.fm supportMax Kellermann3-310/+0
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.
2013-09-27DecoderControl: use GLib forward declarationsMax Kellermann9-6/+16
2013-09-27PlayerThread: convert struct player to a classMax Kellermann1-14/+17
2013-09-27PlayerThread: use strictly typed enumMax Kellermann1-14/+14
2013-09-27PlayerControl: use strictly typed enumsMax Kellermann8-128/+129
2013-09-27DecoderControl: convert "enum decoder_state" to strictly-typed enumMax Kellermann4-47/+53
2013-09-27DecoderCommand: convert to strictly-typed enumMax Kellermann30-205/+201
2013-09-27OutputAll: add pure/const attributesMax Kellermann2-0/+6
2013-09-27PlayerControl: convert functions to methodsMax Kellermann2-63/+73
2013-09-27DecoderControl: convert functions to methodsMax Kellermann2-40/+52
2013-09-27PlayerThread: move code to player_control::CommandFinished()Max Kellermann2-21/+26
2013-09-27PlayerThread: use nullptr instead of NULLMax Kellermann1-37/+37
2013-09-26PlayerThread: unlock/lock in player_task()Max Kellermann1-8/+3
2013-09-26PlayerThread: move code into the player classMax Kellermann1-269/+277
2013-09-26PlayerThread: use player referencesMax Kellermann1-116/+115
2013-09-26PlayerThread: use {decoder,player}_control referencesMax Kellermann3-216/+216
2013-09-26PlayerThread: allocate decoder_control on the stackMax Kellermann1-5/+5
2013-09-26PlayerThread: move global MusicBuffer variable into the player objectMax Kellermann1-24/+27
2013-09-26PlayerThread: simplify "buffer empty" assertionMax Kellermann2-7/+12
2013-09-26MusicChunk: remove obsolete prototypesMax Kellermann1-7/+1
2013-09-26MusicBuffer: expose the C++ APIMax Kellermann11-118/+95
2013-09-26MusicPipe: expose the C++ APIMax Kellermann15-244/+189
2013-09-26MusicChunk: use constexpr for CHUNK_SIZEMax Kellermann1-3/+1
2013-09-26*Plugin: remove redundant "line %i" from error messagesMax Kellermann5-49/+32
The MPD core will add this as a prefeix.
2013-09-26SongFilter: search for album artist falls back to the artist tagMax Kellermann1-9/+21
Implement Mantis ticket 0003646.
2013-09-26IdTable, SongFilter: use std::fill_n() instead of std::fill()Max Kellermann2-2/+2
2013-09-26TagType: reduce the enum size to 1 byteMax Kellermann2-2/+13
Reduce the TagItem overhead.
2013-09-26Tag: add "pure" attributesMax Kellermann1-0/+3
2013-09-26TagHandler: use a TagBuilder internallyMax Kellermann8-47/+55
Reduce heap allocator overhead.
2013-09-26Main: fix crash if no database was configuredMax Kellermann1-0/+3
Add nullptr check, and return early from glue_db_init_and_load().
2013-09-26Main: use nullptr instead of NULLMax Kellermann1-11/+11
2013-09-26decoder/modplug: fix include directoryMax Kellermann1-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.
2013-09-26input/curl: fix EventLoop stall after curl_easy_pauseArtem Savkov1-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.
2013-09-12ConfigPath: return early on "~"Max Kellermann1-3/+6
Previously, the pointer was moved to undefined memory.
2013-09-12ConfigPath: skip the slash of "~/"Max Kellermann1-3/+3
Increment the "path" earlier.
2013-09-12ConfigPath: remove the "~/" from the constructed pathMax Kellermann1-6/+9
This was building broken paths like "/home/foo/~/bar". Bug found by Maarten de Vries.