Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | PlaylistMapper: convert playlist name to filesystem charset | Max Kellermann | 2013-10-02 | 1 | -5/+6 |
| | |||||
* | Playlist*: use nullptr instead of NULL | Max Kellermann | 2013-10-02 | 17 | -128/+127 |
| | |||||
* | Listen, ...: add missing includes | Max Kellermann | 2013-10-02 | 8 | -2/+15 |
| | |||||
* | ConfigData: handle default_value==nullptr | Max Kellermann | 2013-10-02 | 1 | -1/+5 |
| | | | | Return Path::Null() instead of dying from assertion failure. | ||||
* | Daemon, Mapper: move-assign the Path objects | Max Kellermann | 2013-10-01 | 2 | -3/+3 |
| | |||||
* | Merge branch 'v0.17.x' | Max Kellermann | 2013-10-01 | 2 | -2/+23 |
|\ | |||||
| * | mixer/alsa: handle ENODEV | Max Kellermann | 2013-10-01 | 2 | -0/+7 |
| | | | | | | | | | | Fixes busy loop when USB sound device gets unplugged (Mantis bug #3824). | ||||
| * | mixer/alsa: log snd_mixer_handle_events() errors | Max Kellermann | 2013-10-01 | 1 | -1/+6 |
| | | |||||
| * | prepare 0.17.6 | Max Kellermann | 2013-10-01 | 2 | -1/+3 |
| | | |||||
* | | DecoderControl: lock the mutex in Seek() | Max Kellermann | 2013-09-30 | 1 | -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 Kellermann | 2013-09-28 | 6 | -45/+28 |
| | | |||||
* | | playlist/lastfm: remove defunct Last.fm support | Max Kellermann | 2013-09-28 | 7 | -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 declarations | Max Kellermann | 2013-09-27 | 9 | -6/+16 |
| | | |||||
* | | PlayerThread: convert struct player to a class | Max Kellermann | 2013-09-27 | 1 | -14/+17 |
| | | |||||
* | | PlayerThread: use strictly typed enum | Max Kellermann | 2013-09-27 | 1 | -14/+14 |
| | | |||||
* | | PlayerControl: use strictly typed enums | Max Kellermann | 2013-09-27 | 8 | -128/+129 |
| | | |||||
* | | DecoderControl: convert "enum decoder_state" to strictly-typed enum | Max Kellermann | 2013-09-27 | 4 | -47/+53 |
| | | |||||
* | | DecoderCommand: convert to strictly-typed enum | Max Kellermann | 2013-09-27 | 33 | -223/+219 |
| | | |||||
* | | OutputAll: add pure/const attributes | Max Kellermann | 2013-09-27 | 2 | -0/+6 |
| | | |||||
* | | PlayerControl: convert functions to methods | Max Kellermann | 2013-09-27 | 2 | -63/+73 |
| | | |||||
* | | DecoderControl: convert functions to methods | Max Kellermann | 2013-09-27 | 2 | -40/+52 |
| | | |||||
* | | PlayerThread: move code to player_control::CommandFinished() | Max Kellermann | 2013-09-27 | 2 | -21/+26 |
| | | |||||
* | | PlayerThread: use nullptr instead of NULL | Max Kellermann | 2013-09-27 | 1 | -37/+37 |
| | | |||||
* | | PlayerThread: unlock/lock in player_task() | Max Kellermann | 2013-09-26 | 1 | -8/+3 |
| | | |||||
* | | PlayerThread: move code into the player class | Max Kellermann | 2013-09-26 | 1 | -269/+277 |
| | | |||||
* | | PlayerThread: use player references | Max Kellermann | 2013-09-26 | 1 | -116/+115 |
| | | |||||
* | | PlayerThread: use {decoder,player}_control references | Max Kellermann | 2013-09-26 | 3 | -216/+216 |
| | | |||||
* | | PlayerThread: allocate decoder_control on the stack | Max Kellermann | 2013-09-26 | 1 | -5/+5 |
| | | |||||
* | | PlayerThread: move global MusicBuffer variable into the player object | Max Kellermann | 2013-09-26 | 1 | -24/+27 |
| | | |||||
* | | PlayerThread: simplify "buffer empty" assertion | Max Kellermann | 2013-09-26 | 2 | -7/+12 |
| | | |||||
* | | MusicChunk: remove obsolete prototypes | Max Kellermann | 2013-09-26 | 1 | -7/+1 |
| | | |||||
* | | MusicBuffer: expose the C++ API | Max Kellermann | 2013-09-26 | 11 | -118/+95 |
| | | |||||
* | | MusicPipe: expose the C++ API | Max Kellermann | 2013-09-26 | 15 | -244/+189 |
| | | |||||
* | | MusicChunk: use constexpr for CHUNK_SIZE | Max Kellermann | 2013-09-26 | 1 | -3/+1 |
| | | |||||
* | | *Plugin: remove redundant "line %i" from error messages | Max Kellermann | 2013-09-26 | 5 | -49/+32 |
| | | | | | | | | The MPD core will add this as a prefeix. | ||||
* | | SongFilter: search for album artist falls back to the artist tag | Max Kellermann | 2013-09-26 | 2 | -9/+22 |
| | | | | | | | | Implement Mantis ticket 0003646. | ||||
* | | IdTable, SongFilter: use std::fill_n() instead of std::fill() | Max Kellermann | 2013-09-26 | 2 | -2/+2 |
| | | |||||
* | | TagType: reduce the enum size to 1 byte | Max Kellermann | 2013-09-26 | 2 | -2/+13 |
| | | | | | | | | Reduce the TagItem overhead. | ||||
* | | Tag: add "pure" attributes | Max Kellermann | 2013-09-26 | 1 | -0/+3 |
| | | |||||
* | | TagHandler: use a TagBuilder internally | Max Kellermann | 2013-09-26 | 8 | -47/+55 |
| | | | | | | | | Reduce heap allocator overhead. | ||||
* | | Main: fix crash if no database was configured | Max Kellermann | 2013-09-26 | 1 | -0/+3 |
| | | | | | | | | Add nullptr check, and return early from glue_db_init_and_load(). | ||||
* | | Main: use nullptr instead of NULL | Max Kellermann | 2013-09-26 | 1 | -11/+11 |
| | | |||||
* | | decoder/modplug: fix include directory | Max Kellermann | 2013-09-26 | 1 | -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_pause | Artem Savkov | 2013-09-26 | 1 | -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. | ||||
* | | ConfigPath: return early on "~" | Max Kellermann | 2013-09-12 | 1 | -3/+6 |
| | | | | | | | | Previously, the pointer was moved to undefined memory. | ||||
* | | ConfigPath: skip the slash of "~/" | Max Kellermann | 2013-09-12 | 1 | -3/+3 |
| | | | | | | | | Increment the "path" earlier. | ||||
* | | ConfigPath: remove the "~/" from the constructed path | Max Kellermann | 2013-09-12 | 1 | -6/+9 |
| | | | | | | | | | | This was building broken paths like "/home/foo/~/bar". Bug found by Maarten de Vries. | ||||
* | | ConfigPath: simplify the duplicate tilde check | Max Kellermann | 2013-09-12 | 1 | -5/+5 |
| | | |||||
* | | ConfigPath: convert "home" variable to Path object | Max Kellermann | 2013-09-12 | 1 | -9/+11 |
| | | | | | | | | | | Use Path::FromUTF8() for the g_get_home_dir() return value instead of assuming it's already FS charset. | ||||
* | | ConfigPath: move code to GetHome() | Max Kellermann | 2013-09-12 | 1 | -28/+48 |
| | |