Commit Graph

17761 Commits

Author SHA1 Message Date
82568c0b52 Fix syntax error in mpdconf.example 2023-04-13 08:47:43 +02:00
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`](a57bcd0238/src/db/plugins/simple/Directory.cxx (L237)). But
`in_playlist` is not stored and only updated in
[`UpdateWalk::PurgeDanglingFromPlaylists`](a57bcd0238/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
0d2f67b523 check systemd unit dir from systemd.pc in meson 2023-04-11 21:06:53 +02:00
a57bcd0238 thread/Mutex: add RecursiveMutex 2023-04-06 21:32:18 +02:00
76497bd5f7 util/IntrusiveSortedList, event/TimerList: include cleanup 2023-04-06 10:24:53 +02:00
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
7a5f485cf8 event/ServerSocket: use class UniqueSocketDescriptor in SupportsIPv6() 2023-03-29 10:06:48 +02:00
90565b1e36 test/run_{input,output}: add missing includes 2023-03-29 10:06:48 +02:00
6f7c7a2149 event/EpollBackend: add missing header guard 2023-03-21 11:00:41 +01:00
91123983ad Revert "python/build/meson.py: keep Meson from executing Android-x86 test binaries"
This reverts commit 8ab2722300.  The
"needs_exe_wrapper" setting was already there, and the new one was
misplaced, it belongs in "[properties]".
2023-03-21 09:46:25 +01:00
2506edbffb python/build/libs.py: update OpenSSL to 3.1.0 2023-03-21 09:39:28 +01:00
929520ecd2 python/build/libs.py: update CURL to 8.0.1 2023-03-21 09:38:22 +01:00
a20d467bf1 event/Loop: move quit_injected check to inside #ifdef HAVE_THREADED_EVENT_LOOP 2023-03-20 15:02:32 +01:00
102dc123e8 LogBackend: log to stderr (regression fix) 2023-03-14 20:25:28 +01:00
b4d0b23369 LogBackend: use fmt::print() 2023-03-14 20:24:14 +01:00
119a949bb5 ls: use fmt::print() 2023-03-14 20:20:46 +01:00
f5b22bf2c3 input/Offset: remove unused macro PRIoffset 2023-03-14 20:20:10 +01:00
5b7a89d714 mixer/plugins/volume_mapping: convert to C++ 2023-03-14 20:18:41 +01:00
5b41857a22 mixer/plugins/volume_mapping: add SPDX header 2023-03-14 20:08:43 +01:00
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
c2d202e9b0 meson_options.txt: add option "libfuzzer"
This option allows disabling libFuzzer, which is required to run the
fuzzers with Honggfuzz.
2023-03-14 19:47:22 +01:00
bc51bc2933 pcm/Normalizer: add method Reset() 2023-03-13 13:54:12 +01:00
f547a56b1d pcm/Normalizer: use Traits::long_type 2023-03-13 13:51:27 +01:00
1f6637d49a pcm/Normalizer: add constant SHIFT 2023-03-13 13:49:25 +01:00
de155a740c pcm/Normalizer: convert peakPos to std::size_t 2023-03-13 13:47:04 +01:00
f323fc48d7 pcm/Normalizer: eliminate the local variable slot 2023-03-13 13:45:28 +01:00
2ea634c302 pcm/Normalizer: replace the gain array with a simple prev_gain variable 2023-03-13 13:44:45 +01:00
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
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
8ea9b89321 pcm/Normalizer: use std::span 2023-03-13 13:16:44 +01:00
738254b2fc pcm/Normalizer: use SampleTraits 2023-03-13 12:42:37 +01:00
fcc9a98cad pcm/Normalizer: use PcmClamp() 2023-03-13 12:42:36 +01:00
dcf0a3e475 pcm/Normalizer: remove clipped (only written to, never read) 2023-03-13 12:42:34 +01:00
e990d6eecc pcm/Normalizer: make variables more local 2023-03-13 12:42:31 +01:00
941636b87b pcm/Normalizer: eliminate local variable ap 2023-03-13 12:31:16 +01:00
1298a82f4f pcm/Normalizer: use std::size_t 2023-03-13 12:31:16 +01:00
e6fedcbd10 pcm/Normalizer: expose the class, convert functions to methods 2023-03-13 12:25:09 +01:00
48c8c7daf5 pcm/Normalizer: move code to ctor/dtor 2023-03-13 12:25:09 +01:00
6e5d9d4490 pcm/Normalizer: hard-code the preferences 2023-03-13 12:25:09 +01:00
d2f2dde2e1 pcm/Normalizer: eliminate struct CompressorConfig 2023-03-13 12:25:09 +01:00
d0dd035075 pcm/Normalizer: use new/delete instead of malloc()/free() 2023-03-13 12:25:09 +01:00
7702643e1b pcm/Normalizer: remove Compressor_setHistory(), no resize possible
This feature was never used.
2023-03-13 12:25:09 +01:00
984c9c317a pcm/Normalizer: add noexcept 2023-03-13 12:25:09 +01:00
2d7068a09d pcm/AudioCompress: convert to C++ 2023-03-13 12:25:01 +01:00
d712c3b408 pcm/AudioCompress: fold config.h into compress.c 2023-03-13 11:55:44 +01:00
0a623122dc pcm/AudioCompress: add SPDX header 2023-03-13 11:40:46 +01:00
68c36c0d3f decoder/dsf: use PackedLE64 instead of DsdUint64 2023-03-12 20:27:05 +01:00
f3ebaf8bdd util/ByteOrder: add class PackedLE64 2023-03-12 20:25:49 +01:00
c472046cbb decoder/dsdiff: use PackedBE64 instead of DffDsdUint64 2023-03-12 20:22:50 +01:00
02296adbba io/FileDescriptor: include cleanup 2023-03-12 20:18:13 +01:00