Max Kellermann
1f495efb46
test/LoadDatabase: ignore tag/charset mismatches
...
This program shouldn't fail just because the configuration doesn't
match - it has no configuration, it's just a dumb test program.
2023-09-07 09:54:03 +02:00
Max Kellermann
38d8359384
test/LoadDatabase: new test program (for benchmarking the database loader)
2023-09-06 16:17:24 +02:00
Max Kellermann
78801f303e
test/util/TestIntrusiveHashSet: add test for remove_and_dispose_key()
2023-08-03 20:44:52 +02:00
Max Kellermann
2cd5f4cd3e
util/IntrusiveHashSet: replace template parameters Hash/Equal with a single one
...
Preparing to add a key extraction function. Without this "Operators"
template parameter, we'd have even more template parameters, and that
parameter list would grow too complex. Better wrap it in one single
template that contains all operators.
This is an API change which all callers need to adjust to, but it will
be worth it.
2023-08-03 20:44:14 +02:00
Max Kellermann
42d5b05f54
util/IntrusiveHashSet: rename insert() to insert_commit()
...
Clarify that the method is not a freestanding insertion method but
should only be used after insert_check().
2023-07-21 19:42:26 +02:00
Max Kellermann
8ba68fdb47
io/OutputStream: use std::span
2023-05-21 21:35:11 +02:00
Max Kellermann
90565b1e36
test/run_{input,output}: add missing includes
2023-03-29 10:06:48 +02: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
e6fedcbd10
pcm/Normalizer: expose the class, convert functions to methods
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
2d7068a09d
pcm/AudioCompress: convert to C++
2023-03-13 12:25:01 +01:00
Max Kellermann
dbfd0a833d
io/meson.build: move sources to libio_fs.a
...
Only that one has a dependency on libfs.a (for class AllocatedPath
etc.).
2023-03-07 12:48:47 +01:00
Max Kellermann
b18ef61361
output/Registry: rename function
2023-03-07 11:57:36 +01:00
Max Kellermann
5ef29c424d
output/meson.build: add liboutput_registry.a
2023-03-07 11:53:16 +01:00
Max Kellermann
1132a1c9a7
protocol/ArgParser: use libfmt
2023-03-06 20:10:06 +01:00
Max Kellermann
0c102a8f2f
meson.build: add missing libfmt dependencies
2023-03-06 20:10:06 +01:00
Max Kellermann
02d108774c
test/meson.build: add missing dependencies on libio.a
2023-03-06 19:50:52 +01:00
Max Kellermann
2c66d90626
fs/io: move to separate library
...
To eliminate the libio.a dependency.
2023-03-06 19:47:29 +01:00
Max Kellermann
42f6a0441c
use [[gnu::...]] attributes
2023-03-06 16:14:15 +01:00
Max Kellermann
7a46c57ef3
tag/Type: require C++
2023-03-06 15:28:44 +01:00
Max Kellermann
a302d34f6d
tag/Names: convert to C++
2023-03-06 15:16:33 +01:00
Max Kellermann
148aca23be
use SPDX IDs, replacing the long copyright headers
2023-03-06 14:59:48 +01:00
Max Kellermann
78b13577ef
test/net/TestIPv[46]Address: add more tests
2023-01-28 08:15:41 +01:00
Max Kellermann
c6eac285ea
test/util/TestRingBuffer: add "U" literal suffix to work around -Wsign-compare
2023-01-23 14:05:55 +01:00
Max Kellermann
f31ae7c556
util/RingBuffer: replacement for boost::lockfree::spsc_queue
2023-01-23 13:44:54 +01:00
Max Kellermann
8860962e09
util/IntrusiveHashSet: make several methods const
2022-12-01 15:10:13 +01:00
Max Kellermann
fa58db798b
lib/fmt/RuntimeError: new library
...
Replacing FormatRuntimeError().
2022-11-29 14:10:34 +01:00
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