aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fs/Path: add separator constants/functionsMax Kellermann2013-10-144-21/+54
|
* PlaylistFile: always check for absolute paths within music_directoryMax Kellermann2013-10-141-9/+11
| | | | | Try map_fs_to_utf8() first, and fall back to Path::ToUTF8() for absolute paths.
* fs/Path: add method RelativeFS()Max Kellermann2013-10-143-11/+36
| | | | Move code from map_fs_to_utf8().
* Mapper, ...: use memcmp() instead of strncmp() where appropriateMax Kellermann2013-10-147-11/+11
| | | | Micro-optimization.
* fs/Path: add method data()Max Kellermann2013-10-141-0/+9
|
* PlaylistFile: fix memory leakMax Kellermann2013-10-141-12/+10
| | | | Consistently use std::string in LoadPlaylistFile().
* Mapper: map_fs_to_utf8() returns std::stringMax Kellermann2013-10-143-14/+11
| | | | Avoid the conversion to an allocated char*, let the caller decide.
* Merge tag 'release-0.17.6'Max Kellermann2013-10-143-4/+30
|\
| * release 0.17.6Max Kellermann2013-10-141-1/+1
| |
| * decoder/modplug: fix include directoryFlorian Schlichting2013-10-142-1/+3
| |
| * stored_playlist: use fs_charset_to_utf8() for URLsMax Kellermann2013-10-142-2/+6
| |
| * load_fileMax Kellermann2013-10-142-0/+13
| |
| * stored_playlist: add "file://" prefix to absolute pathsMax Kellermann2013-10-141-1/+8
| | | | | | | | Prepare to fix loading arbitrary song files from stored playlists.
* | replay_gain_*.h: rename to *.hxxMax Kellermann2013-10-0221-63/+29
| |
* | 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
| |