Commit Graph

18726 Commits

Author SHA1 Message Date
Max Kellermann d7b4634e5e io/FileLineReader: add missing include 2024-10-30 21:47:37 +01:00
Max Kellermann 2bc57c38d2 meson.build: set cpp_std=c++20
Meson supports this since version 0.57.0.
2024-10-30 21:37:49 +01:00
Max Kellermann 744308bfff python/build/libs.py: update FFmpeg to 7.1 2024-10-30 21:31:17 +01:00
Max Kellermann 7db93fb20b subprojects: update sqlite3 to 3.47.0-1 2024-10-30 21:29:57 +01:00
Max Kellermann 95db2db736 subprojects: update curl to 8.10.1-1 2024-10-30 21:29:47 +01:00
Max Kellermann f807345022 event/Loop: use std::chrono::ceil()
Thanks to C++17, we don't need our custom implementation anymore.
2024-10-30 21:29:16 +01:00
Max Kellermann b745d1f226 util/StringCompare: add `constexpr` 2024-10-30 21:29:16 +01:00
Max Kellermann 52e2130d51 util/StringCompare: simplify StringIsEqual() using operator== 2024-10-30 21:28:15 +01:00
Max Kellermann 1930ed16cb Merge branch 'icu76-support' of https://github.com/cho-m/MPD 2024-10-27 15:22:04 +01:00
Michael Cho 1a063fee7e
meson.build: support building with ICU 76
ICU 76 decided to reduce overlinking[^1] thus `icu-i18n` will no longer
add `icu-uc` when linking to shared libraries. This results in failure:
```
src/lib/icu/libicu.a.p/Converter.cxx.o: undefined reference to symbol 'ucnv_fromUnicode_76'
```

[^1]: 199bc82702
2024-10-27 09:57:22 -04:00
jcorporation 51e0fefda7 Fix order of commands 2024-10-26 11:32:36 +02:00
Max Kellermann 449f8af7d0 Merge branch 'protocol_features' of https://github.com/jcorporation/MPD 2024-10-26 08:18:56 +02:00
Max Kellermann 38b46e680a Merge branch 'stickernames-types' of https://github.com/jcorporation/MPD 2024-10-26 08:16:53 +02:00
Max Kellermann 17d0cd0abd Merge branch 'queue_loaded_playlist' of https://github.com/jcorporation/MPD 2024-10-26 08:15:23 +02:00
Max Kellermann 98bc63251e Merge branch 'searchplaylist_pos' of https://github.com/jcorporation/MPD 2024-10-26 08:14:31 +02:00
Max Kellermann 030bac441f Merge branch 'playlistlength_fix' of https://github.com/jcorporation/MPD 2024-10-26 08:13:14 +02:00
Max Kellermann f82a385be2 Merge branch 'tagtypes_available' of https://github.com/jcorporation/MPD 2024-10-26 08:10:07 +02:00
jcorporation 052719c0e4 Fix integer overflow calculating length of very large playlists 2024-10-20 12:12:50 +02:00
jcorporation bfbff31860 Store last loaded playlist
Stores the last loaded playlist uri in the queue struct.
Last loaded playlist is set on load command and cleared with the clear command.
The last loaded playlist is printed in the status command and saved / restored from the partition state file.

Resolves issue #938
2024-10-20 12:03:31 +02:00
jcorporation b1067333dc Print positions in the search playlist functions. 2024-10-20 11:55:52 +02:00
jcorporation 35bdf74952 Mention contains and starts_with for "sticker find" 2024-09-28 22:43:20 +02:00
jcorporation 23c2bba483 This commit adds a new protocol command to toggle protocol features
for a client connection. It works like the tag_mask and the associated
tagtypes command.

New commands:

- protocol
  Shows enabled protocol features.

- protocol available
  Show all available protocol features.

- protocol enable {feature...}
  Enables protocol features.

- protocol disable {feature...}
  Disables protocol features.

- protocol all
  Enables all available protocol features.

- protocol clear
  Disables all protocol features.

This commit adds also the first protocol feature.

hide_playlists_in_root
  Disables the listing of playlists in the root folder
  for the lsinfo command.
2024-09-28 22:41:35 +02:00
jcorporation 25e8ce2d37 New command tagtypes available
Shows the list of tag types configured by the ``metadata_to_use`` setting.
2024-09-28 22:40:29 +02:00
Max Kellermann 124c0e66ee subprojects: update libnpupnp to 6.2.0-1, libmicrohttpd to 0.9.77-3 2024-09-27 08:53:01 +02:00
Max Kellermann 202bb4f90f subprojects: update fmt to 11.0.2-1 2024-09-27 08:52:22 +02:00
Max Kellermann 5ee42ada67 subprojects: update curl to 8.10.0-1 2024-09-27 08:52:10 +02:00
Max Kellermann 752c6c1f03 lib/fmt/ExceptionFormatter: move the exception_ptr 2024-09-27 08:48:30 +02:00
Max Kellermann def2221dfd Merge branch 'searchplaylist_syntax' of https://github.com/jcorporation/MPD 2024-09-27 08:47:02 +02:00
Max Kellermann 9ff8e02e54 net/Resolver: use StringIsEqual() 2024-09-04 17:26:45 +02:00
Max Kellermann 32dd9704ce util/DeleteDisposer: add `const` and `noexcept` 2024-09-04 17:24:42 +02:00
Max Kellermann 523519182a util/IntrusiveHashSet: add concept checks 2024-09-04 17:24:24 +02:00
jcorporation 3f718e8924 Change the semantic of the searchplaylist protocol command
Old: searchplaylist {NAME} {FILTER} [{START:END}]
New: searchplaylist {NAME} {FILTER} [window {START:END}]

This is more similar to the other search commands and we can reuse search specific functions in libmpdclient.
2024-08-30 21:06:50 +02:00
jcorporation 26c4211cd4 New command stickernamestypes
Lists sticker names with their types and optionally filters by type
2024-08-30 20:14:55 +02:00
Max Kellermann a3a07280e8 Merge branch 'mpd-2100-nested-and' of https://github.com/m7a/mpd 2024-08-30 12:57:20 +02:00
Max Kellermann ed755f04e9 lib/fmt/meson.build: suppress -Warray-bounds with GCC 14
The bug is still present in GCC 14.
2024-08-30 12:48:41 +02:00
Max Kellermann 2809db8b40 Merge branch 'searchplaylist' of https://github.com/jcorporation/MPD 2024-08-30 12:47:24 +02:00
Max Kellermann c866199d4c net/SocketError: cast to socket_error_t to fix -Wsign-compare
Only relevant on Windows where socket_error_t is a `DWORD` (unsigned).
2024-08-30 12:45:10 +02:00
Max Kellermann 39937be2e1 Merge branch 'stickertypes' of https://github.com/jcorporation/MPD 2024-08-30 12:43:54 +02:00
Max Kellermann d207c144d6 lib/curl/Multi: remove the Wait() overload with "int" timeout
Enforce type-safety.
2024-08-30 12:30:18 +02:00
Max Kellermann 435f1eb6cc lib/curl/Multi: remove default timeout value
-1 is an illegal value and leads to CURLM_BAD_FUNCTION_ARGUMENT.  Our
API shouldn't imply this value.
2024-08-30 12:30:15 +02:00
Max Kellermann c7b80b0828 io/FileDescriptor: add method WriteAt() 2024-08-30 12:29:32 +02:00
Max Kellermann 59199b5620 io/FileDescriptor: pass std::span to ReadAt() 2024-08-30 12:29:27 +02:00
Max Kellermann ebfc83dac5 io/FileDescriptor: add method SetPipeCapacity() 2024-08-30 12:28:51 +02:00
Max Kellermann f535ccf9bf net/UniqueSocketDescriptor: add UniqueFileDescriptor constructor 2024-08-30 12:28:19 +02:00
Max Kellermann 75eb2c257c net/SocketError: add IsSocketError() overload with socket_error_t 2024-08-30 12:27:19 +02:00
Max Kellermann 314667259e net/SocketDescriptor: add Duplicate() method
The the Duplicate() method we inherited from class FileDescriptor
returns a UniqueFileDescriptor, but we really want to return a
UniqueSocketDescriptor.
2024-08-30 12:27:13 +02:00
Max Kellermann dbb2b29271 net/IPv6Address: add method GetPortBE() 2024-08-30 12:24:12 +02:00
Max Kellermann 7f25ede888 net/AddressInfo: add method Cast() 2024-08-30 12:23:45 +02:00
Max Kellermann 4a2fff019a util/DisposablePointer: suppress -Wuninitialized
I pretend to know what I'm doing :-)
2024-08-30 12:23:45 +02:00
Max Kellermann fae5d16d43 subprojects: update curl to 8.9.1-1 2024-08-30 12:23:41 +02:00