Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | thread/Mutex: don't use std::mutex | Max Kellermann | 2013-01-07 | 3 | -8/+69 | |
| | | | | Use a custom pthread_mutex_t wrapper because std::mutex adds overhead. | |||||
* | replay_gain_info, ...: use cmath instead of math.h in C++ mode | Max Kellermann | 2013-01-07 | 5 | -8/+20 | |
| | | | | Fixes build problems with mingw32. | |||||
* | filter/replay_gain: convert to C++ | Max Kellermann | 2013-01-07 | 6 | -19/+24 | |
| | ||||||
* | decoder_api.h, ...: add "extern C" | Max Kellermann | 2013-01-07 | 49 | -83/+93 | |
| | ||||||
* | mixer_all: convert to C++ | Max Kellermann | 2013-01-07 | 12 | -27/+20 | |
| | ||||||
* | volume: convert to C++ | Max Kellermann | 2013-01-07 | 7 | -15/+13 | |
| | ||||||
* | audio_config, volume, mixer_all: include cleanup | Max Kellermann | 2013-01-07 | 3 | -10/+0 | |
| | ||||||
* | Merge tag 'release-0.17.3' | Max Kellermann | 2013-01-07 | 1 | -1/+1 | |
|\ | ||||||
| * | mpd version 0.17.3release-0.17.3 | Avuton Olrich | 2013-01-06 | 2 | -2/+2 | |
| | | ||||||
* | | Queue: use std::swap | Max Kellermann | 2013-01-06 | 2 | -7/+4 | |
| | | ||||||
* | | queue: convert all functions to methods | Max Kellermann | 2013-01-06 | 12 | -603/+517 | |
| | | ||||||
* | | Queue: add constructor and destructor | Max Kellermann | 2013-01-06 | 4 | -45/+32 | |
| | | ||||||
* | | Playlist: add constructor and destructor | Max Kellermann | 2013-01-06 | 3 | -27/+11 | |
| | | ||||||
* | | DatabaseQueue: force passing playlist reference to std::bind() | Max Kellermann | 2013-01-06 | 1 | -1/+1 | |
| | | | | | | | | Avoid implicit copy. | |||||
* | | Partition: new class, container for Playlist and PlayerControl | Max Kellermann | 2013-01-05 | 11 | -60/+103 | |
| | | | | | | | | | | This is the beginning of multi-player support. There will be support for multiple Partition objects in one MPD process. | |||||
* | | filter/ReplayGain: add method _set_mode() | Max Kellermann | 2013-01-05 | 12 | -20/+56 | |
| | | | | | | | | | | Push the new mode to the filter instead of accessing global variables through replay_gain_get_real_mode(). | |||||
* | | DecoderAPI: don't use replay_gain_get_real_mode() | Max Kellermann | 2013-01-05 | 1 | -1/+5 | |
| | | | | | | | | | | | | | | | | replay_gain_get_real_mode() accesses dangerous globals. Let's just use the global variable replay_gain_mode, and assume "AUTO" means "TRACK". At this point, this is the best we can do, because neither the decoder nor the player should know about the current replay gain mode. This is applied as a filter in the output thread. | |||||
* | | DecoderAPI: _replay_gain() returns void | Max Kellermann | 2013-01-05 | 7 | -28/+12 | |
| | | | | | | | | | | | | Let the function decoder_replay_gain() update decoder_control::replay_gain_db instead of letting each decoder plugin take care for that. | |||||
* | | test: revert debug program renames | Max Kellermann | 2013-01-05 | 3 | -9/+9 | |
| | | ||||||
* | | replay_gain_*: convert to C++ | Max Kellermann | 2013-01-04 | 3 | -11/+18 | |
| | | ||||||
* | | replay_gain_config: remove unused variable replay_gain_mode_names | Max Kellermann | 2013-01-04 | 1 | -5/+0 | |
| | | ||||||
* | | DatabaseQueue: pass playlist object | Max Kellermann | 2013-01-04 | 4 | -8/+14 | |
| | | | | | | | | Don't use the global variable "g_playlist". | |||||
* | | Client: add "playlist" attribute | Max Kellermann | 2013-01-04 | 7 | -64/+84 | |
| | | | | | | | | Reduce access to the global variable "g_playlist". | |||||
* | | PlayerControl: initialize all attributes | Max Kellermann | 2013-01-04 | 1 | -1/+5 | |
| | | ||||||
* | | Client: initialize num_subscriptions | Max Kellermann | 2013-01-04 | 1 | -1/+2 | |
| | | ||||||
* | | Playlist: pass max_length to playlist_init() | Max Kellermann | 2013-01-04 | 4 | -10/+8 | |
| | | | | | | | | Move the configuration lookup to Main.cxx. | |||||
* | | PlayerControl: add constructor and destructor | Max Kellermann | 2013-01-04 | 4 | -34/+29 | |
| | | ||||||
* | | player_control.h: convert header to C++ | Max Kellermann | 2013-01-04 | 15 | -18/+16 | |
| | | ||||||
* | | playlist: convert to C++ | Max Kellermann | 2013-01-04 | 27 | -75/+77 | |
| | | ||||||
* | | DecoderThread: move code to destructor | Max Kellermann | 2013-01-04 | 3 | -14/+26 | |
| | | ||||||
* | | DecoderInternal: initialize replay_gain_serial | Max Kellermann | 2013-01-04 | 1 | -1/+2 | |
| | | ||||||
* | | DecoderInternal: move initializers to constructor | Max Kellermann | 2013-01-04 | 2 | -13/+10 | |
| | | ||||||
* | | MusicChunk: move functions to methods | Max Kellermann | 2013-01-04 | 8 | -104/+89 | |
| | | ||||||
* | | Mutex: new wrapper for std::mutex, replaces GMutex | Max Kellermann | 2013-01-04 | 5 | -43/+136 | |
| | | ||||||
* | | MusicPipe: allocate with new/delete | Max Kellermann | 2013-01-04 | 1 | -17/+18 | |
| | | ||||||
* | | mpd_error.h: add missing glib.h include | Max Kellermann | 2013-01-04 | 1 | -0/+1 | |
| | | ||||||
* | | MusicBuffer: return memory to kernel when stopping playback | Max Kellermann | 2013-01-04 | 2 | -5/+28 | |
| | | | | | | | | | | Use the new HugeAllocator as backend for SliceBuffer and call HugeDiscard() when the last chunk was returned. | |||||
* | | HugeAllocator: new memory allocator | Max Kellermann | 2013-01-04 | 3 | -0/+170 | |
| | | ||||||
* | | SliceBuffer: lazy initialization | Max Kellermann | 2013-01-04 | 1 | -13/+21 | |
| | | | | | | | | | | Avoid page faults on MPD startup. This saves a lot of memory for an idle MPD. | |||||
* | | MusicBuffer: move code to template class SliceBuffer | Max Kellermann | 2013-01-04 | 3 | -60/+147 | |
| | | ||||||
* | | MusicBuffer: allocate with new/delete | Max Kellermann | 2013-01-04 | 1 | -30/+30 | |
| | | ||||||
* | | MusicBuffer: disable memory poisoning | Max Kellermann | 2013-01-04 | 1 | -4/+0 | |
| | | | | | | | | | | | | | | This is harmful for memory usage, because it forces the kernel to allocate physical memory, even before playback has started. No bug has been found in a few years with this, so it's safe to assume that this code is not necessary. | |||||
* | | Client, Inotify: use std::list instead of std::deque | Max Kellermann | 2013-01-04 | 2 | -4/+4 | |
| | | | | | | | | Random access is not necessary here. | |||||
* | | crossfade: convert to C++ | Max Kellermann | 2013-01-04 | 4 | -8/+7 | |
| | | ||||||
* | | buffer, pipe: convert to C++ | Max Kellermann | 2013-01-04 | 15 | -51/+39 | |
| | | ||||||
* | | output_*: convert to C++ | Max Kellermann | 2013-01-04 | 17 | -76/+99 | |
| | | ||||||
* | | decoder_*: convert to C++ | Max Kellermann | 2013-01-04 | 9 | -41/+48 | |
| | | ||||||
* | | pcm_convert: make C++ safe | Max Kellermann | 2013-01-04 | 1 | -1/+7 | |
| | | ||||||
* | | CommandListBuilder: use std::list instead of GSList | Max Kellermann | 2013-01-04 | 3 | -24/+16 | |
| | | ||||||
* | | CommandListBuilder: rename attributes | Max Kellermann | 2013-01-04 | 2 | -22/+35 | |
| | |