Commit Graph

18460 Commits

Author SHA1 Message Date
Max Kellermann 9916d455f9 python/build/libs: fix libnfs 5.0.3 path 2024-03-11 15:55:25 +01:00
Max Kellermann 541707f9a8 lib/curl/Easy: add SetRequestBody() overload with std::span 2024-03-11 15:32:24 +01:00
Max Kellermann 00cf036d58 lib/avahi/Client: relax assertion after COLLISION/REGISTERING
Turns out that `AVAHI_CLIENT_S_COLLISION` can occur after
`AVAHI_CLIENT_S_RUNNING`, and `connected==true`.  Relaxing this fixes
a bogus assertion failure.
2024-03-11 15:32:24 +01:00
Max Kellermann 9c68f24cfc net/SocketError: fix typo
Whoops.  This function has never been used.
2024-03-11 15:32:24 +01:00
Max Kellermann 02c4512b00 util/CharUtil: add IsLowerHexDigit() 2024-03-11 15:32:24 +01:00
Max Kellermann be84b189dc util, io, net, ...: use "#pragma once" 2024-03-11 15:32:24 +01:00
Max Kellermann 313f2a1894 python/build/libs: update libnfs to 5.0.3 2024-03-11 15:32:24 +01:00
Max Kellermann a1ae1a1e95 python/build/libs: update FFmpeg to 6.1.1 2024-03-11 15:32:24 +01:00
Max Kellermann 4874bcf8e8 python/build/libs: update libopenmpt to 0.7.4 2024-03-11 15:32:24 +01:00
Max Kellermann 280ff9211f python/build/libs: update zlib to 1.3.1 2024-03-11 15:32:24 +01:00
Max Kellermann 494f658dee meson.build: suppress -Wnan-infinity-disabled (clang 18) due to libfmt 2024-03-11 15:32:24 +01:00
Max Kellermann c144d0a00d meson.build: build fmt in C++20 mode
Enables `char8_t` support which eliminates clang 18's
`-Wdeprecated-declarations` warning about fmt's use of
`std::string_view<unsigned char>`.
2024-03-11 15:32:24 +01:00
Max Kellermann 696a36bd5a subprojects: update sqlite3 to 3.45.1-1 2024-03-11 15:32:24 +01:00
Max Kellermann 3a3fc5e13a subprojects: update openssl to 3.0.8-3 2024-03-11 15:32:24 +01:00
Max Kellermann 0b89cc306e subprojects: update fmt to 10.2.0-2 2024-03-11 15:32:24 +01:00
Max Kellermann dbc68047ad subprojects: update flac to 1.4.3-2 2024-03-11 15:32:24 +01:00
Max Kellermann 2fdfe3a854 subprojects: update curl to 8.6.0 2024-03-11 15:10:41 +01:00
Max Kellermann d685d693e8 input/rewind, archive/iso9660: use use std::cmp_*() for safe integer comparison 2024-03-11 15:09:57 +01:00
Max Kellermann b0cfdfa257 client/Idle: consume only idle flags that were subscribed to
Since the very beginning when idle subscriptions where introduced
(commit 0bad84066b), waiting for a certain idle mask would clear
all other idle flags as well.  This would cause idle events to get
lost.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1998
2024-03-11 15:07:07 +01:00
Marius Feraru 7b6909f2c0 db/update/Walk:FindAncestorLoop: uint64_t inode & device
Previously, inode numbers were truncated to 32 bits, which could lead
to problems on XFS where inodes are 64 bit; this could lead to bogus
"recursive directory found" errors during database update.

[mk: added commit description and NEWS line]

Closes https://github.com/MusicPlayerDaemon/MPD/issues/2000
2024-03-11 13:34:27 +01:00
jcorporation 45553c5f61 This commit adds the sort and window parameter to "sticker find"
The three new compare operators "eq", "gt" and "lt" are casting the values to int.

Sort supports:
- uri: sort by uri
- value: sort by value as string
- value_int: casts value to int

Closes #1894
2024-03-07 20:52:11 +01:00
naglis 1efb9d41db doc/protocol.rst: clarify `message` event
The term "queue" is used in MPD to refer to the current playlist;
clarify that in this case it refers to the client's message queue.
2024-02-25 19:59:26 +01:00
naglis 9292b39cf5 doc/protocol.rst: document max number of subscriptions 2024-02-18 12:42:53 +02:00
Max Kellermann 9eb26ab90c Merge branch 'countplaylist' of https://github.com/jcorporation/MPD 2024-02-15 11:28:11 +01:00
jcorporation f801f299c9 New command playlistlength
Count the number of songs and their total playtime in the playlist.
2024-02-15 11:25:34 +01:00
Max Kellermann 7f18cae2e4 Merge branch 'skidoo23-patch-1' of https://github.com/skidoo23/MPD 2024-02-13 08:06:16 +01:00
jcorporation a3794f8c3b Allow range in listplaylist and listplaylistinfo 2024-02-08 21:26:28 +01:00
skidoo23 31a88e7ccc
Update Templates.cxx
Remove Spotify leftovers
2024-01-26 14:34:58 +01:00
skidoo23 4074e3a9e4
Update Option.hxx 2024-01-26 14:31:08 +01:00
Max Kellermann c71e586c53 .readthedocs.yaml: install sphinx-rtd-theme 2024-01-19 10:31:50 +01:00
Max Kellermann 1039fb5582 .readthedocs.yaml: add 2024-01-19 10:22:36 +01:00
Max Kellermann 7f60acdfdd util/CharUtil: add IsUpperAlphaNumericASCII() 2024-01-18 18:53:05 +01:00
Max Kellermann aef2c5dc14 lib/avahi/Service: add field `visible`
Now individual services can be hidden or shown at any time.
2024-01-18 18:50:06 +01:00
Max Kellermann 8d02986b0e lib/avahi/Publisher: add missing defer_register_services.Cancel() calls 2024-01-18 18:50:01 +01:00
Max Kellermann 461da92064 lib/avahi/Publisher: make the service list dynamic
This allows editing the list of services at any time instead of
passing a constant list at construction time.  To do this, Service
instances are now caller-owned and managed in an IntrusiveList instead
of Publisher-owned in a std::forward_list.
2024-01-18 18:48:27 +01:00
Max Kellermann b20b773189 zeroconf/avahi/Helper: embed the Avahi::Publisher without std::unique_ptr 2024-01-18 18:45:51 +01:00
Max Kellermann 74125c0922 test/meson.build: suppress compiler warnings in GTest headers 2024-01-18 18:42:56 +01:00
Max Kellermann 5023432802 lib/avahi/Publisher: use DeferEvent for RegisterServices()
Prepares making the service list dyammic; the DeferEvent not only
moves the operation out of the current stack frame, but also allows
combining several AddService() calls.
2024-01-18 18:24:08 +01:00
Max Kellermann 4a14248004 lib/avahi/Publisher: move code to RegisterServices(AvahiEntryGroup) 2024-01-18 18:24:04 +01:00
Max Kellermann 1b241fc97a lib/avahi/Publisher: allow RegisterServices() to throw 2024-01-18 18:24:01 +01:00
Max Kellermann 09d1ab7abe lib/avahi/Publisher: move try/catch in GroupCallback() to the top level 2024-01-18 18:23:57 +01:00
Max Kellermann d28cb93835 lib/avahi/Client: add method IsConnected()
Publish only if the client is really connected.
2024-01-18 18:23:52 +01:00
Max Kellermann 6b43338e06 lib/avahi/Client: add assert() 2024-01-18 18:23:48 +01:00
Max Kellermann 9a7a49350c lib/avahi/Client: free the AvahiClient on AVAHI_CLIENT_FAILURE
Previously the AvahiClient was only freed when AVAHI_ERR_DISCONNECTED
was detected, but all other error conditions would lead to a memory
leak.
2024-01-18 18:23:45 +01:00
Max Kellermann f85629afa6 lib/avahi/Client: is if with initializer 2024-01-18 18:23:42 +01:00
Max Kellermann a39473a912 lib/avahi/Service: add API docs 2024-01-18 18:23:37 +01:00
Max Kellermann 05d0e9b8bb lib/avahi/Publisher: reuse the AvahiEntryGroup
The libavahi-client documentation recommends reusing AvahiEntryGroup
instances instead of freeing them and creating new ones.
2024-01-18 18:23:30 +01:00
Max Kellermann b68c3b7f55 net/SocketDescriptor: disable msghdr methods on Windows 2024-01-18 15:44:44 +01:00
Max Kellermann 0fbed6dec1 net/SocketDescriptor: remove misplaced [[nodiscard]] 2024-01-18 15:44:43 +01:00
naglis 16af2a2998 CommandLine: fix typo
I believe this is a typo since all other sections have the form
"<Singular> plugins", e.g. "Encoder plugins".
2024-01-18 14:23:41 +02:00