aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* volume: convert to C++Max Kellermann2013-01-076-13/+12
|
* audio_config, volume, mixer_all: include cleanupMax Kellermann2013-01-073-10/+0
|
* Queue: use std::swapMax Kellermann2013-01-062-7/+4
|
* queue: convert all functions to methodsMax Kellermann2013-01-0611-558/+473
|
* Queue: add constructor and destructorMax Kellermann2013-01-063-43/+31
|
* Playlist: add constructor and destructorMax Kellermann2013-01-063-27/+11
|
* DatabaseQueue: force passing playlist reference to std::bind()Max Kellermann2013-01-061-1/+1
| | | | Avoid implicit copy.
* Partition: new class, container for Playlist and PlayerControlMax Kellermann2013-01-0510-60/+102
| | | | | 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 Kellermann2013-01-0510-14/+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 Kellermann2013-01-051-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 voidMax Kellermann2013-01-054-17/+9
| | | | | | Let the function decoder_replay_gain() update decoder_control::replay_gain_db instead of letting each decoder plugin take care for that.
* replay_gain_*: convert to C++Max Kellermann2013-01-042-2/+9
|
* replay_gain_config: remove unused variable replay_gain_mode_namesMax Kellermann2013-01-041-5/+0
|
* DatabaseQueue: pass playlist objectMax Kellermann2013-01-044-8/+14
| | | | Don't use the global variable "g_playlist".
* Client: add "playlist" attributeMax Kellermann2013-01-047-64/+84
| | | | Reduce access to the global variable "g_playlist".
* PlayerControl: initialize all attributesMax Kellermann2013-01-041-1/+5
|
* Client: initialize num_subscriptionsMax Kellermann2013-01-041-1/+2
|
* Playlist: pass max_length to playlist_init()Max Kellermann2013-01-044-10/+8
| | | | Move the configuration lookup to Main.cxx.
* PlayerControl: add constructor and destructorMax Kellermann2013-01-043-33/+24
|
* player_control.h: convert header to C++Max Kellermann2013-01-0413-15/+14
|
* playlist: convert to C++Max Kellermann2013-01-0423-61/+66
|
* DecoderThread: move code to destructorMax Kellermann2013-01-043-14/+26
|
* DecoderInternal: initialize replay_gain_serialMax Kellermann2013-01-041-1/+2
|
* DecoderInternal: move initializers to constructorMax Kellermann2013-01-042-13/+10
|
* MusicChunk: move functions to methodsMax Kellermann2013-01-048-104/+89
|
* Mutex: new wrapper for std::mutex, replaces GMutexMax Kellermann2013-01-044-43/+134
|
* MusicPipe: allocate with new/deleteMax Kellermann2013-01-041-17/+18
|
* mpd_error.h: add missing glib.h includeMax Kellermann2013-01-041-0/+1
|
* MusicBuffer: return memory to kernel when stopping playbackMax Kellermann2013-01-042-5/+28
| | | | | Use the new HugeAllocator as backend for SliceBuffer and call HugeDiscard() when the last chunk was returned.
* HugeAllocator: new memory allocatorMax Kellermann2013-01-042-0/+169
|
* SliceBuffer: lazy initializationMax Kellermann2013-01-041-13/+21
| | | | | Avoid page faults on MPD startup. This saves a lot of memory for an idle MPD.
* MusicBuffer: move code to template class SliceBufferMax Kellermann2013-01-042-60/+146
|
* MusicBuffer: allocate with new/deleteMax Kellermann2013-01-041-30/+30
|
* MusicBuffer: disable memory poisoningMax Kellermann2013-01-041-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::dequeMax Kellermann2013-01-042-4/+4
| | | | Random access is not necessary here.
* crossfade: convert to C++Max Kellermann2013-01-043-6/+6
|
* buffer, pipe: convert to C++Max Kellermann2013-01-0414-45/+36
|
* output_*: convert to C++Max Kellermann2013-01-0415-56/+79
|
* decoder_*: convert to C++Max Kellermann2013-01-048-35/+44
|
* pcm_convert: make C++ safeMax Kellermann2013-01-041-1/+7
|
* CommandListBuilder: use std::list instead of GSListMax Kellermann2013-01-043-24/+16
|
* CommandListBuilder: rename attributesMax Kellermann2013-01-042-22/+35
|
* Client: move code to class CommandListBuilderMax Kellermann2013-01-045-41/+159
|
* PlaylistFile: reuse classes PlaylistInfo and PlaylistVectorMax Kellermann2013-01-046-16/+15
| | | | .. instead of rolling own classes.
* PlaylistInfo: remove the obsolete list_head attributeMax Kellermann2013-01-041-3/+0
|
* ClientNew: initialise the "idle" attributesMax Kellermann2013-01-031-1/+2
| | | | Make valgrind happy.
* Client: add constructor and destructorMax Kellermann2013-01-032-52/+55
| | | | Move code from client_new() and client_close().
* PlaylistFile: fix memory leakMax Kellermann2013-01-031-0/+1
|
* Merge branch 'v0.17.x'Max Kellermann2013-01-032-13/+75
|\
| * cue_parser: fix CUE files with only one trackMax Kellermann2013-01-031-7/+47
| | | | | | | | | | Track whether _finish() has been called, and deliver all partial results then. Fixes Mantis ticket 0003621.