Commit Graph

1061 Commits

Author SHA1 Message Date
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
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