datasone
|
838b19c2b5
|
db/SimpleDatabasePlugin: store in_playlist value of songs into database
Fixes hide_playlist_targets not working after server restart
Currently, `hide_playlists_targets` works by skipping songs with
`in_playlist` value set to true in
[`Directory::Walk`](https://github.com/MusicPlayerDaemon/MPD/blob/a57bcd02382947abbd961594cdf00302c0c7866a/src/db/plugins/simple/Directory.cxx#L237). But
`in_playlist` is not stored and only updated in
[`UpdateWalk::PurgeDanglingFromPlaylists`](https://github.com/MusicPlayerDaemon/MPD/blob/a57bcd02382947abbd961594cdf00302c0c7866a/src/db/update/Playlist.cxx#L139),
which will only be executed while updating DB.
This causes the problem that playlist target songs are correctly
hidden after database update, but will remain visible after mpd server
restarted. This pr solves the problem by storing `in_playlist` value
of songs into the `SimpleDatabase` file.
|
2023-04-12 05:18:21 +02:00 |
|
Max Kellermann
|
a57bcd0238
|
thread/Mutex: add RecursiveMutex
|
2023-04-06 21:32:18 +02:00 |
|
Max Kellermann
|
76497bd5f7
|
util/IntrusiveSortedList, event/TimerList: include cleanup
|
2023-04-06 10:24:53 +02:00 |
|
Max Kellermann
|
53ec02d5e9
|
net/SocketDescriptor: decouple from FileDescriptor on Windows
On Windows, a socket is not a file descriptor; it is a different beast
(and anyway, Windows doesn't have file descriptors).
|
2023-03-29 10:12:50 +02:00 |
|
Max Kellermann
|
7a5f485cf8
|
event/ServerSocket: use class UniqueSocketDescriptor in SupportsIPv6()
|
2023-03-29 10:06:48 +02:00 |
|
Max Kellermann
|
6f7c7a2149
|
event/EpollBackend: add missing header guard
|
2023-03-21 11:00:41 +01:00 |
|
Max Kellermann
|
a20d467bf1
|
event/Loop: move quit_injected check to inside #ifdef HAVE_THREADED_EVENT_LOOP
|
2023-03-20 15:02:32 +01:00 |
|
Max Kellermann
|
102dc123e8
|
LogBackend: log to stderr (regression fix)
|
2023-03-14 20:25:28 +01:00 |
|
Max Kellermann
|
b4d0b23369
|
LogBackend: use fmt::print()
|
2023-03-14 20:24:14 +01:00 |
|
Max Kellermann
|
119a949bb5
|
ls: use fmt::print()
|
2023-03-14 20:20:46 +01:00 |
|
Max Kellermann
|
f5b22bf2c3
|
input/Offset: remove unused macro PRIoffset
|
2023-03-14 20:20:10 +01:00 |
|
Max Kellermann
|
5b7a89d714
|
mixer/plugins/volume_mapping: convert to C++
|
2023-03-14 20:18:41 +01:00 |
|
Max Kellermann
|
5b41857a22
|
mixer/plugins/volume_mapping: add SPDX header
|
2023-03-14 20:08:43 +01:00 |
|
Max Kellermann
|
688d9ff114
|
util/UriExtract: add uri_get_path_query_fragment()
Rename uri_get_path() to uri_get_path_query_fragment() and add a new
uri_get_path() function.
|
2023-03-14 20:03:17 +01:00 |
|
Max Kellermann
|
bc51bc2933
|
pcm/Normalizer: add method Reset()
|
2023-03-13 13:54:12 +01:00 |
|
Max Kellermann
|
f547a56b1d
|
pcm/Normalizer: use Traits::long_type
|
2023-03-13 13:51:27 +01:00 |
|
Max Kellermann
|
1f6637d49a
|
pcm/Normalizer: add constant SHIFT
|
2023-03-13 13:49:25 +01:00 |
|
Max Kellermann
|
de155a740c
|
pcm/Normalizer: convert peakPos to std::size_t
|
2023-03-13 13:47:04 +01:00 |
|
Max Kellermann
|
f323fc48d7
|
pcm/Normalizer: eliminate the local variable slot
|
2023-03-13 13:45:28 +01:00 |
|
Max Kellermann
|
2ea634c302
|
pcm/Normalizer: replace the gain array with a simple prev_gain variable
|
2023-03-13 13:44:45 +01:00 |
|
Max Kellermann
|
c0d38d941a
|
pcm/Normalizer: split the normalization loop
Performance improvement because the ramp code is now moved out of the
hot code path, allowing the compiler to vectorize.
|
2023-03-13 13:38:19 +01:00 |
|
Max Kellermann
|
d7f2d90fd3
|
pcm/Normalizer: no in-place editing, separate src/dest parameters
This eliminates the memcpy() call from NormalizeFilter::FilterPCM().
|
2023-03-13 13:37:49 +01:00 |
|
Max Kellermann
|
8ea9b89321
|
pcm/Normalizer: use std::span
|
2023-03-13 13:16:44 +01:00 |
|
Max Kellermann
|
738254b2fc
|
pcm/Normalizer: use SampleTraits
|
2023-03-13 12:42:37 +01:00 |
|
Max Kellermann
|
fcc9a98cad
|
pcm/Normalizer: use PcmClamp()
|
2023-03-13 12:42:36 +01:00 |
|
Max Kellermann
|
dcf0a3e475
|
pcm/Normalizer: remove clipped (only written to, never read)
|
2023-03-13 12:42:34 +01:00 |
|
Max Kellermann
|
e990d6eecc
|
pcm/Normalizer: make variables more local
|
2023-03-13 12:42:31 +01:00 |
|
Max Kellermann
|
941636b87b
|
pcm/Normalizer: eliminate local variable ap
|
2023-03-13 12:31:16 +01:00 |
|
Max Kellermann
|
1298a82f4f
|
pcm/Normalizer: use std::size_t
|
2023-03-13 12:31:16 +01:00 |
|
Max Kellermann
|
e6fedcbd10
|
pcm/Normalizer: expose the class, convert functions to methods
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
48c8c7daf5
|
pcm/Normalizer: move code to ctor/dtor
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
6e5d9d4490
|
pcm/Normalizer: hard-code the preferences
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
d2f2dde2e1
|
pcm/Normalizer: eliminate struct CompressorConfig
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
d0dd035075
|
pcm/Normalizer: use new/delete instead of malloc()/free()
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
7702643e1b
|
pcm/Normalizer: remove Compressor_setHistory(), no resize possible
This feature was never used.
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
984c9c317a
|
pcm/Normalizer: add noexcept
|
2023-03-13 12:25:09 +01:00 |
|
Max Kellermann
|
2d7068a09d
|
pcm/AudioCompress: convert to C++
|
2023-03-13 12:25:01 +01:00 |
|
Max Kellermann
|
d712c3b408
|
pcm/AudioCompress: fold config.h into compress.c
|
2023-03-13 11:55:44 +01:00 |
|
Max Kellermann
|
0a623122dc
|
pcm/AudioCompress: add SPDX header
|
2023-03-13 11:40:46 +01:00 |
|
Max Kellermann
|
68c36c0d3f
|
decoder/dsf: use PackedLE64 instead of DsdUint64
|
2023-03-12 20:27:05 +01:00 |
|
Max Kellermann
|
f3ebaf8bdd
|
util/ByteOrder: add class PackedLE64
|
2023-03-12 20:25:49 +01:00 |
|
Max Kellermann
|
c472046cbb
|
decoder/dsdiff: use PackedBE64 instead of DffDsdUint64
|
2023-03-12 20:22:50 +01:00 |
|
Max Kellermann
|
02296adbba
|
io/FileDescriptor: include cleanup
|
2023-03-12 20:18:13 +01:00 |
|
Max Kellermann
|
a375f0f160
|
io/BufferedReader: add method ReadFullT()
|
2023-03-12 20:15:41 +01:00 |
|
Max Kellermann
|
fb961e89da
|
util/StringCompare: add constexpr
|
2023-03-12 20:14:23 +01:00 |
|
Max Kellermann
|
3e2bff296f
|
event/SocketEvent: add method GetReadyFlags()
|
2023-03-12 20:12:15 +01:00 |
|
Max Kellermann
|
cf01db4d08
|
event/Chrono, ...: relicense to BSD-2
|
2023-03-12 20:02:54 +01:00 |
|
Max Kellermann
|
08dbb4a69a
|
event/BackendEvents: relicense to BSD-2
These headers contain only trivial integer constants and these are
probably not even copyrightable.
|
2023-03-12 19:53:03 +01:00 |
|
Max Kellermann
|
b5eff3cecd
|
decoder/plugin: kludge for Android NDK r25c
|
2023-03-12 19:53:03 +01:00 |
|
Max Kellermann
|
89d66b6100
|
decoder/ffmpeg: check for DST codec
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1756
|
2023-03-12 19:39:49 +01:00 |
|