Commit Graph

6688 Commits

Author SHA1 Message Date
Max Kellermann c3c776bc6a mixer_all: convert to C++ 2013-01-07 09:05:06 +01:00
Max Kellermann 9f4b906e6c volume: convert to C++ 2013-01-07 09:05:01 +01:00
Max Kellermann 804900df36 audio_config, volume, mixer_all: include cleanup 2013-01-07 08:54:01 +01:00
Max Kellermann 3781f6cf39 Merge tag 'release-0.17.3' 2013-01-07 08:46:55 +01:00
Avuton Olrich ffb3a9f526 mpd version 0.17.3 2013-01-06 16:47:09 -08:00
Max Kellermann 6936c0e2ab Queue: use std::swap 2013-01-06 23:48:34 +01:00
Max Kellermann 108242042e queue: convert all functions to methods 2013-01-06 21:33:58 +01:00
Max Kellermann 70652abf97 Queue: add constructor and destructor 2013-01-06 18:59:39 +01:00
Max Kellermann e202b407ec Playlist: add constructor and destructor 2013-01-06 18:59:33 +01:00
Max Kellermann 2cc89e60cc DatabaseQueue: force passing playlist reference to std::bind()
Avoid implicit copy.
2013-01-06 18:59:01 +01:00
Max Kellermann d536944beb Partition: new class, container for Playlist and PlayerControl
This is the beginning of multi-player support.  There will be support
for multiple Partition objects in one MPD process.
2013-01-05 02:43:00 +01:00
Max Kellermann 1a8ef3cdab filter/ReplayGain: add method _set_mode()
Push the new mode to the filter instead of accessing global variables
through replay_gain_get_real_mode().
2013-01-05 02:40:33 +01:00
Max Kellermann 7be33eba48 DecoderAPI: don't use replay_gain_get_real_mode()
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.
2013-01-05 02:40:32 +01:00
Max Kellermann 46ed91b53d DecoderAPI: _replay_gain() returns void
Let the function decoder_replay_gain() update
decoder_control::replay_gain_db instead of letting each decoder plugin
take care for that.
2013-01-05 02:40:29 +01:00
Max Kellermann 73f6fc428a test: revert debug program renames 2013-01-05 02:39:32 +01:00
Max Kellermann 44d260f911 replay_gain_*: convert to C++ 2013-01-04 23:50:58 +01:00
Max Kellermann 07249fc395 replay_gain_config: remove unused variable replay_gain_mode_names 2013-01-04 23:49:41 +01:00
Max Kellermann bc1e8e01f3 DatabaseQueue: pass playlist object
Don't use the global variable "g_playlist".
2013-01-04 23:19:46 +01:00
Max Kellermann fe8e77e556 Client: add "playlist" attribute
Reduce access to the global variable "g_playlist".
2013-01-04 23:07:11 +01:00
Max Kellermann b0833084a6 PlayerControl: initialize all attributes 2013-01-04 23:04:42 +01:00
Max Kellermann 3cacaa5dad Client: initialize num_subscriptions 2013-01-04 23:02:35 +01:00
Max Kellermann e89bd30db5 Playlist: pass max_length to playlist_init()
Move the configuration lookup to Main.cxx.
2013-01-04 22:55:11 +01:00
Max Kellermann 2a9d933a81 PlayerControl: add constructor and destructor 2013-01-04 22:45:14 +01:00
Max Kellermann 81f3d893d9 player_control.h: convert header to C++ 2013-01-04 22:31:53 +01:00
Max Kellermann 05c91082e3 playlist: convert to C++ 2013-01-04 22:12:33 +01:00
Max Kellermann 7267558ba1 DecoderThread: move code to destructor 2013-01-04 22:02:52 +01:00
Max Kellermann ac6803e7b7 DecoderInternal: initialize replay_gain_serial 2013-01-04 22:01:13 +01:00
Max Kellermann ffabf8b013 DecoderInternal: move initializers to constructor 2013-01-04 21:59:03 +01:00
Max Kellermann e9b71a0d28 MusicChunk: move functions to methods 2013-01-04 21:38:46 +01:00
Max Kellermann efbfe66f21 Mutex: new wrapper for std::mutex, replaces GMutex 2013-01-04 21:24:29 +01:00
Max Kellermann 6886063703 MusicPipe: allocate with new/delete 2013-01-04 21:22:07 +01:00
Max Kellermann c04e1ad401 mpd_error.h: add missing glib.h include 2013-01-04 21:20:10 +01:00
Max Kellermann 223b90d0d4 MusicBuffer: return memory to kernel when stopping playback
Use the new HugeAllocator as backend for SliceBuffer and call
HugeDiscard() when the last chunk was returned.
2013-01-04 20:48:28 +01:00
Max Kellermann 692b2cfb79 HugeAllocator: new memory allocator 2013-01-04 20:38:06 +01:00
Max Kellermann 447a86c922 SliceBuffer: lazy initialization
Avoid page faults on MPD startup.  This saves a lot of memory for an
idle MPD.
2013-01-04 20:29:47 +01:00
Max Kellermann e3a2bd3a1e MusicBuffer: move code to template class SliceBuffer 2013-01-04 17:12:21 +01:00
Max Kellermann f0be6a4b9e MusicBuffer: allocate with new/delete 2013-01-04 17:03:50 +01:00
Max Kellermann bdab5d5f6e MusicBuffer: disable memory poisoning
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.
2013-01-04 15:42:15 +01:00
Max Kellermann 15a4246ead Client, Inotify: use std::list instead of std::deque
Random access is not necessary here.
2013-01-04 14:44:06 +01:00
Max Kellermann 9a71845700 crossfade: convert to C++ 2013-01-04 10:31:59 +01:00
Max Kellermann 22f0a1547c buffer, pipe: convert to C++ 2013-01-04 10:16:16 +01:00
Max Kellermann de0ab43bc1 output_*: convert to C++ 2013-01-04 09:46:41 +01:00
Max Kellermann e12cc01aa4 decoder_*: convert to C++ 2013-01-04 09:41:45 +01:00
Max Kellermann 71c697288b pcm_convert: make C++ safe 2013-01-04 08:49:15 +01:00
Max Kellermann a7d1daee93 CommandListBuilder: use std::list instead of GSList 2013-01-04 01:17:25 +01:00
Max Kellermann 77a99cc61d CommandListBuilder: rename attributes 2013-01-04 01:16:22 +01:00
Max Kellermann fb337418a5 Client: move code to class CommandListBuilder 2013-01-04 00:50:13 +01:00
Max Kellermann 9d312ab208 PlaylistFile: reuse classes PlaylistInfo and PlaylistVector
.. instead of rolling own classes.
2013-01-04 00:02:09 +01:00
Max Kellermann 06be0a1997 PlaylistInfo: remove the obsolete list_head attribute 2013-01-04 00:01:01 +01:00
Max Kellermann 9e4509b846 ClientNew: initialise the "idle" attributes
Make valgrind happy.
2013-01-03 23:59:45 +01:00