Max Kellermann
53e5139b99
Queue: move queue_shuffle_order_first() into the class
2013-01-07 21:26:22 +01:00
Max Kellermann
2b8ce83c9b
Queue: move queue_shuffle_order_range() into the class
2013-01-07 21:17:01 +01:00
Max Kellermann
52638c68f5
Playlist: convert functions to methods
2013-01-07 11:35:35 +01:00
Max Kellermann
400ff1c812
DatabaseQueue: pass DatabaseSelection to Add...()
2013-01-07 11:33:00 +01:00
Max Kellermann
d360f17a59
Client: add Partition reference attribute
...
playlist and player_control are deprecated.
2013-01-07 10:59:56 +01:00
Max Kellermann
a6ee6be960
TagPool: use the Mutex class instead of GStaticMutex
2013-01-07 10:49:21 +01:00
Max Kellermann
47911f9544
tag: convert to C++
2013-01-07 10:36:27 +01:00
Max Kellermann
48025c2279
DatabaseLock: use the Mutex class instead of GLib's GMutex
2013-01-07 10:34:55 +01:00
Max Kellermann
a68302e50b
thread/Mutex: don't use std::mutex
...
Use a custom pthread_mutex_t wrapper because std::mutex adds overhead.
2013-01-07 10:33:37 +01:00
Max Kellermann
333a08ebf9
replay_gain_info, ...: use cmath instead of math.h in C++ mode
...
Fixes build problems with mingw32.
2013-01-07 10:19:02 +01:00
Max Kellermann
989c9a7317
filter/replay_gain: convert to C++
2013-01-07 10:17:16 +01:00
Max Kellermann
975370c084
decoder_api.h, ...: add "extern C"
2013-01-07 10:07:40 +01:00
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