Max Kellermann
45b13fc2a6
util/OptionParser: move to cmdline/
...
This library will depend on libfmt, and libutil shouldn't depend on
any library.
2022-11-29 11:32:16 +01:00
Max Kellermann
4b5c8d1f3e
mixer/meson.build: split libmixer_api from libmixer_glue
2022-11-29 09:09:11 +01:00
Max Kellermann
9467df526c
song/StringFilter: add enum Position
...
Replaces two conflicting bools.
2022-11-15 21:55:55 +01:00
Max Kellermann
53530bd1d5
lib/icu/Canonicalize: convert all punctuation to ASCII
...
To make tag matching easier.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1669
2022-11-15 21:04:16 +01:00
Max Kellermann
d7f545721b
lib/icu/Canonicalize: use unorm2_normalize() instead of u_strFoldCase()
...
unorm2_normalize() can case-fold as well, plus it applies Unicode
normalization which MPD should do for proper string comparisons.
2022-11-15 20:53:29 +01:00
Max Kellermann
5a1fbe60af
test/TestStringFilter: new unit test
2022-11-15 20:52:53 +01:00
Max Kellermann
88e33b7b32
test/TestTagSongFilter: initialize ICU
2022-11-15 20:51:59 +01:00
Max Kellermann
51769c40d8
util/IntrusiveSortedList: new class
2022-11-13 09:08:36 +01:00
Max Kellermann
c943e27d51
util/IntrusiveHashSet: new class
...
Incomplete draft implementation, just enough methods for current
needs.
2022-11-13 08:38:53 +01:00
Max Kellermann
fb5d77158a
util/IntrusiveList: add enum LinkMode
...
Compile-time code simplification.
2022-11-13 08:15:47 +01:00
Max Kellermann
98c24d1a32
Merge branch 'v0.23.x'
2022-11-12 12:29:21 +01:00
Max Kellermann
ab99a57997
test/meson.build: reduce test_translate_song. dependencies
2022-11-12 12:17:35 +01:00
Max Kellermann
963ff846ff
test/util/TestIntrusiveForwardList: new unit test
2022-11-11 21:13:41 +01:00
Max Kellermann
48c4081ba1
test/util/TestIntrusiveList: remove unused code
2022-11-11 21:11:22 +01:00
Max Kellermann
a448d04d46
util/SortList: library which sorts linked lists
2022-11-11 19:03:39 +01:00
Max Kellermann
1ccfd1fb67
test/util/TestIntrusiveList: simplify tests
2022-11-11 16:41:24 +01:00
Max Kellermann
84fd401d21
util/IntrusiveList: add method splice()
2022-11-11 10:05:20 +01:00
Max Kellermann
b78d6c9dd7
test/util/TestIntrusiveList: add tests for reverse iterators
2022-11-11 09:53:00 +01:00
Max Kellermann
d6d0f78e93
release v0.23.10
...
-----BEGIN PGP SIGNATURE-----
iQJBBAABCgArFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmNJ2e0NHG1heEBibGFy
Zy5kZQAKCRAjbopYxttFEjBYEACk4QtVnD52sGtz0CwThFYzekvkZHOBcP2fYOH7
rVcQaNmV7Fpnv+iz+k7zrqhs/A8FgQq6KUNpUn3gzxae4KsA7i1yEpopIqfzRh71
eVrjTGijMirddehsxKbkjZ1TZy5S+SkZ+Bu965qzXUZuIrErKm4m5xqkIxXBHMEc
twK9BSCqlTT2vpND5cmX90T/NBDgZd3uQxQP2ohWjVXvg9ou2gtns18ZdYUVRTym
rLqRLfx1rG1lS8hzKqUqt9YxbWSD606T4giC2vYg2+2OFA9VFh3TNCSaFgWEJMZe
ou6iaX+aSoCP+H6nktxfYravwdmHvBseRtrOouxPd8Br2k1eSQGXEVlZVTKrpBME
OZnncEGqN27GggYH1RyVZ6showJ7G05HOhGFDDs8ABR0EbAbNkGvhrjl8cGXONYH
ScTBbvqkTrhRMOOSmiAp7X1eLJ4QICAfhCV85YzSV93u69egO1MQLYzVYUurOOyt
TuT+XbUD+Irk3DrHvhxs/IE+ciIvilFsvCmeNjCAyH4ZPvvHt/AIskQNyF3Jj720
XKjtq6rMF9bizut/kboPgsVQoFbnj7ncCaIZ90h27obeqqiXajTx7ixJldvwDbrp
yKQY6xDdm7DZChqYF0KKWWzLt2BoAzqVPW3zgRfJRqb9HtQ+ZVJuljvV8bBVFKN1
zIA4Nw==
=GQl1
-----END PGP SIGNATURE-----
Merge tag 'v0.23.10'
release v0.23.10
2022-10-14 23:56:33 +02:00
Max Kellermann
912530ed20
test/meson.build: remove obsolete CURL workaround
...
This appears to have been fixed in some recent CURL version.
2022-10-14 22:41:33 +02:00
jcorporation
868a06eaf9
Add starts_with to filter expressions
2022-09-27 19:45:15 +02:00
Max Kellermann
5a7d2be77d
Merge remote-tracking branch 'jcorporation/idle'
2022-09-20 15:11:41 +02:00
jcorporation
310a146a55
OutputCommands get ride of global mixer idle events
2022-09-06 21:58:18 +02:00
Max Kellermann
d5d25d78da
Merge branch 'v0.23.x'
2022-09-06 21:15:42 +02:00
Max Kellermann
910d0ec92b
test/net/meson.build: add missing dependency
2022-09-06 20:44:24 +02:00
Max Kellermann
29eb3e9ebc
mixer/Control: move some code to Lock*() methods
2022-08-18 17:34:00 +02:00
Max Kellermann
b0873fbc90
mixer/Mixer*: drop the "Mixer" prefix from source files
2022-08-18 17:21:39 +02:00
Max Kellermann
c14484a5cc
mixer/MixerList: eliminate header
2022-08-18 17:14:42 +02:00
Max Kellermann
3eedcc55b9
mixer/Control: convert pointers to references
2022-08-18 16:56:06 +02:00
Max Kellermann
0c98d93e9a
io/FileOutputStream: write to temporary file if O_TMPFILE is not available
2022-07-14 18:45:33 +02:00
Max Kellermann
bc7fdba36d
test/fs/TestPath: add missing PATH_LITERAL
2022-07-14 18:34:43 +02:00
Max Kellermann
fe3ab7b937
fs/Path: add WithSuffix()
2022-07-14 18:23:48 +02:00
Max Kellermann
458084d79b
fs/Path: add GetSuffix()
2022-07-14 18:20:55 +02:00
Max Kellermann
f44bc19ce1
test/fs/TestPath: new unit test
2022-07-14 18:20:45 +02:00
Max Kellermann
cc0def15c4
Copyright year 2022
2022-07-14 17:59:35 +02:00
Max Kellermann
81154130b5
test/fs: rename TestFs.cxx to TestGlob.cxx
2022-07-14 17:57:10 +02:00
Max Kellermann
0514f25c61
test/TestFs: move to test/fs/
2022-07-14 17:56:37 +02:00
Max Kellermann
45071607aa
output/Interface: pass std::span to Play()
2022-07-12 12:59:47 +02:00
Max Kellermann
eb7d321cb8
Merge branch 'v0.23.x'
2022-07-12 11:59:49 +02:00
Max Kellermann
cd0396c1f1
test/run_decoder: remove bogus assert()
2022-07-12 11:59:14 +02:00
Max Kellermann
7e14f8f830
encoder/Interface: pass std::span to Write() and Read()
2022-07-12 10:33:59 +02:00
Max Kellermann
c34f6ed8c0
decoder/Client: pass std::span to SubmitData()
2022-07-11 22:37:38 +02:00
Max Kellermann
e8667f99be
util/OptionParser: use std::span instead of ConstBuffer
2022-07-04 19:04:16 +02:00
Max Kellermann
4fb8b45111
song/Filter: use std::span instead of ConstBuffer
2022-07-04 18:37:35 +02:00
Max Kellermann
6c107443d3
input/qobuz: include cleanup
2022-07-04 18:37:35 +02:00
Max Kellermann
67c6d111a8
filter/*: use std::span instead of ConstBuffer
2022-07-04 18:37:35 +02:00
Max Kellermann
4ce1dae673
pcm/*: use std::span instead of ConstBuffer
2022-07-04 18:11:21 +02:00
Max Kellermann
683f0da2e7
tag/*: use std::string_view instead of StringView
2022-07-04 15:04:31 +02:00
Max Kellermann
171b31ae67
lib/zlib/GzipOutputStream: rename Flush() to Finish()
2022-07-04 10:08:54 +02:00
Max Kellermann
19d2864c34
lib/curl/Headers: central type definition for the header map
2022-07-01 12:17:36 +02:00
Max Kellermann
6d23ac67f9
util/UriQueryParser: use std::string_view
2022-07-01 11:29:10 +02:00
Max Kellermann
b806b0a97f
util/StringStrip: add std::string_view overloads
2022-06-30 21:00:07 +02:00
Max Kellermann
0f4bf5569a
event/InotifyEvent: new class wrapping inotify
...
Replaces class InotifySource.
2022-06-30 12:05:50 +02:00
Max Kellermann
ff4cf6c6d1
test/run_inotify: add class Instance
2022-06-30 11:57:03 +02:00
Max Kellermann
bc3415ce8b
Copyright year 2022
2022-06-30 09:41:53 +02:00
Max Kellermann
1da09f5b1b
lib/curl: use std::span
2022-06-29 17:37:12 +02:00
Max Kellermann
ec66ee3bfb
tag/Handler: use std::string_view instead of StringView
2022-06-29 17:22:17 +02:00
Max Kellermann
6d113de1f8
tag/Handler: pass std::span to OnPicture()
2022-05-24 14:18:33 +02:00
Max Kellermann
b50173ae8b
util/CircularBuffer: use std::span
2022-05-20 11:15:45 +02:00
Max Kellermann
bb7be9a4cd
util/*FifoBuffer: migrate from WritableBuffer to std::span
2022-05-19 14:01:57 +02:00
Max Kellermann
6e1500c251
Merge branch 'v0.23.x'
2022-04-26 21:05:39 +02:00
Max Kellermann
85f9863e0a
meson.build: always enable Wave encoder for Snapcast
...
Even if the "wave_encoder" option is disabled (and no other encoder
plugins are enabled), forcefully enable the Wave encoder (if Snapcast
is enabled).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1500
2022-04-26 20:13:43 +02:00
Max Kellermann
a360475c7b
Merge branch 'v0.23.x'
2022-03-26 06:49:51 +01:00
Max Kellermann
2be4f89555
test/DumpOgg: new debug program
2022-03-16 16:51:44 +01:00
Max Kellermann
1e548fb6e3
lib/curl/Headers: central type definition for the header map
2022-02-14 18:19:05 +01:00
Max Kellermann
fdc0329e64
archive/List: add option to disable archive plugins in mpd.conf
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1384
2022-02-14 17:54:21 +01:00
Max Kellermann
b1096a9935
test/{visit_archive,dump_text_file}: add basic config file support (not wired yet)
2022-02-14 16:43:37 +01:00
Max Kellermann
c68dbc4e5c
queue/Queue: add method GetLight()
2022-02-14 13:33:34 +01:00
Max Kellermann
713c7585b5
pcm/MixRampAnalyzer: a MixRamp implementation
2021-12-06 21:09:28 +01:00
Max Kellermann
f12c25b7ae
pcm/ReplayGainAnalyzer: new library
2021-12-06 21:06:19 +01:00
Max Kellermann
0a54b987a1
test/run_filter: move ReadFrames() to separate source
2021-12-06 10:31:52 +01:00
Max Kellermann
2240327286
ReplayGainInfo: move to tag/
2021-12-06 09:28:36 +01:00
Max Kellermann
3452682a42
IcyMetaDataParser: move to tag/
2021-12-03 16:07:39 +01:00
Max Kellermann
9262b24504
AudioCompress: move to pcm/
2021-12-03 16:04:59 +01:00
Max Kellermann
a5fa43b526
fs/io: move to io/
2021-12-03 14:35:41 +01:00
Max Kellermann
20bf1d68e6
MixRampInfo: move to tag/
2021-12-01 17:09:02 +01:00
Max Kellermann
9bc4c168fd
tag/MixRamp: rename to MixRampParser.cxx
2021-12-01 17:07:53 +01:00
Max Kellermann
3415049d1c
test/tag/TestMixRampParser: include the header, not the .cxx file
2021-12-01 17:07:39 +01:00
Max Kellermann
36b333459b
test/tag/TestMixRampParser: new unit test
2021-12-01 15:46:01 +01:00
Max Kellermann
4d3320233e
test/test_mixramp: move to test/tag/
2021-12-01 15:33:17 +01:00
Max Kellermann
cc421b04cd
test/meson.build: add "protocol:gtest" where appropriate
2021-11-26 08:47:06 +01:00
Max Kellermann
3f2bc325a1
test/meson.build: fix test() indent
2021-11-26 08:40:40 +01:00
Max Kellermann
54686dfd79
test/meson.build: add dependencies on run_input
...
Fixes spurious unit test failures because run_input has not yet been
built.
2021-11-26 08:35:49 +01:00
Rosen Penev
4e0e4c00bf
treewide: replace lock_guard with scoped_lock
...
SonarLint reports the latter to be better:
std::scoped_lock basically provides the same feature as std::lock_guard,
but is more generic: It can lock several mutexes at the same time, with a
deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code
to perform simultaneous locking with std::lock_guard is significantly more
complex. Therefore, it is simpler to use std::scoped_lock all the time,
even when locking only one mutex (there will be no performance impact).
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:13:03 -08:00
Max Kellermann
771c46032f
meson.build: add missing libfmt dependencies
...
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1281
The problem occurred when there was libfmt-dev installed, but it was
too old (e.g. on Debian Buster), and Meson used the wrap fallback.
Those internal MPD libraries where the libfmt dependency was not
declared were still using the old system libfmt headers, which are not
ABI-compatible with MPD's own libfmt build.
2021-10-15 14:26:59 +02:00
Max Kellermann
41a69027c2
test/util/TestUriRelative: add failing test for "./" prefix
2021-10-07 14:44:30 +02:00
Max Kellermann
d7e7adb496
time/FileTime: add ChronoToFileTime()
2021-08-10 16:16:15 +02:00
Max Kellermann
017814adc7
test/time/TestFileTime: new unit test
2021-08-10 15:12:34 +02:00
Max Kellermann
7f94af8b2c
test/time/TestISO8601: disable on Windows for now
2021-08-10 15:07:19 +02:00
Max Kellermann
ee6603ed38
test/meson.build: add missing dependencies on libfmt
2021-08-10 14:31:49 +02:00
Max Kellermann
a2bdac571a
Merge branch 'v0.22.x'
2021-05-17 19:33:15 +02:00
Max Kellermann
8c51440057
test/test_mixramp: workaround for -Wdouble-promotion
2021-04-28 13:00:42 +02:00
Max Kellermann
a71b76bb3c
test/test_pcm_format: another workaround for -Wdouble-promotion
2021-04-26 23:25:36 +02:00
Max Kellermann
c1429500b2
test/test_pcm_format: work around -Wdouble-promotion
2021-04-26 22:21:12 +02:00
Max Kellermann
25354b9d8c
Merge branch 'v0.22.x'
2021-03-10 21:06:12 +01:00
Max Kellermann
d19b3df3b0
test/run_output: call AudioOutput::Drain()
2021-03-08 22:20:55 +01:00
Max Kellermann
4d9af9a81b
test/run_{input,output,convert}: switch file descriptors to binary mode
...
Fixes those programs on Windows.
2021-03-08 17:27:23 +01:00
Max Kellermann
eff50b263a
test/run_output: use class StaticFifoBuffer
2021-03-08 17:01:48 +01:00
Max Kellermann
2bebc79363
test/run_convert: use std::byte
2021-03-08 16:58:43 +01:00
Max Kellermann
e777fb4edb
test/run_convert: pass FileDescriptor to RunConvert()
2021-03-08 16:51:57 +01:00