Max Kellermann
7f3868727b
Log, client/Response, io/BufferedOutputStream: drop support for libfmt < 7
...
Remove some compatibility code.
2022-11-28 20:17:16 +01:00
Max Kellermann
8fe29f5728
release v0.23.11
...
-----BEGIN PGP SIGNATURE-----
iQJBBAABCgArFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmOE2gINHG1heEBibGFy
Zy5kZQAKCRAjbopYxttFEiugD/9OKEBR9tfrJvtVGuO2INtaMeAzlZ9swFYCkphF
i2R7H9/9E0AvtgyFi/6EDNgFCBbnUzSIGbtdc78EwHE6GxeK/Q9G1fo9AC+6I8Ww
2ScEV9NKIMGTbsRvoomKnGZWpvNTpadPlLa02bckXpKK3wQUPhLb8RAH3newZ0RC
OXs+mzSRReRKpjUBxZsI+6f+aajM6/PoiOmBbrNbYbsSlkpKtLeW8ptkQxPME12B
QD9e7yf9ZndYfoHJdmmPxfvIGIEDATCs8MzY8tFUYkhdbEk0C0aRZQTODQS3DATp
0wrmlJzmceiN2nhKjthg1bvC+jobPywIuDZdrEuyFumN/EZxldKAUCezduV+Dohm
UPkQp5yiSTZRZVYQMEOSW6cMndC7URFrtn643+jV7SGkTmmV6nVOyg4e9GR1BakT
rY0nZGr7dwEInODkA5lXMhph3u8aZa2Mfo5B8m2aloGVHYOX1t3bH07ym5oJiviq
eiQx/bMpaS6ECCSnmHPGDl0NHHWDiPGv96EyPO2N9oeWiNuZz/Fla0N99Mi/JbVI
EpSHF89F+bfiw5qIeet93ZrXjwQjMuC6zofZ1jbVFek2eKszCZSNdx233VLz170G
edyN5Vxy3r24YBy/nrZVXPRxsj65KOxF1TZ9SzHKmfnuU45a+JZjZuWz5yedPn2/
3fy7oA==
=eLEd
-----END PGP SIGNATURE-----
Merge tag 'v0.23.11'
release v0.23.11
2022-11-28 17:00:38 +01:00
Max Kellermann
9866adff95
release v0.23.11
2022-11-28 16:55:46 +01:00
Max Kellermann
cac88e8be5
python/build/libs.py: re-enable verbose error strings
...
This compile-time option is not about debug logging, but about
curl_easy_strerror().
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1670
2022-11-28 16:12:17 +01:00
Max Kellermann
e9f6a3482c
db/Configured: add default "cache_directory" setting
2022-11-28 14:24:52 +01:00
Max Kellermann
5d2e80f188
db/Configured: use GetAppCacheDir() instead of GetUserCacheDir()
2022-11-28 14:20:15 +01:00
Max Kellermann
eaecbcafb2
PlaylistFile: disallow backslash in playlist names on Windows
...
The function spl_valid_name() should verify playlist names and prevent
path traversal, but it failed to do so on Windows, because it forgot
to check for backslashes.
This buggy piece of code was already present when stored playlists
were initially implemented in 2006 by commit 08003904d7
, and
even during the many rounds of code refactoring, nobody ever bothered
to verify it. D'oh!
(Thanks, Paul Arzelier)
2022-11-28 09:53:49 +01:00
Max Kellermann
73b5d0a9b9
system/Error: truncate the snprintf() return value
...
snprintf() does not return the (truncated) length actually written,
but the length that would be needed if the buffer were large enough.
This API usage mistake in FormatLastError() can lead to overflow of
the stack buffer, crashing the process (Windows only).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1676
2022-11-28 09:42:37 +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
a0a11be79b
Merge branch 'v0.23.x'
2022-11-08 14:36:09 +01:00
Max Kellermann
32bddfabea
archive/plugins/meson.build: do not generate empty library
...
If no archive library was found, return from the "plugins" directory
without creating "libarchive_plugins.a". Empty static libraries are
unsupported on some operating systems such as macOS.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1650
2022-11-03 20:36:00 +01:00
Max Kellermann
01c9c4507f
python/build/libs.py: update OpenSSL to 3.0.7
...
Punycode hooray!
2022-11-03 10:28:13 +01:00
Max Kellermann
8c9d7bf07e
increment version number to 0.23.11
2022-10-20 19:09:03 +02:00
Max Kellermann
b4e3891912
Merge branch 'config_curl_conn_timeout' of https://github.com/geneticdrift/MPD
2022-10-16 11:45:19 +02: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
e4c8ebe056
release v0.23.10
2022-10-14 23:51:41 +02:00
Max Kellermann
76b25a1377
output/alsa: add nullptr check for snd_pcm_name() return value
...
It is not explicitly documented whether snd_pcm_name() is allowed to
return NULL:
https://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga5031edc0422df8db1f70af056a12dd77
But apparently this is legal:
0222f45d11/src/pcm/pcm.c (L2761-L2762)
That's ... surprising!
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1645
2022-10-14 23:14:30 +02:00
Max Kellermann
209e4e940e
Merge branch 'queue_save_with_append' of https://github.com/geneticdrift/MPD
2022-10-02 11:41:17 +02:00
BurroCargado
df71b07e9d
storage/curl: fix can't get timestamp of remote file
2022-09-29 18:19:03 +02:00
Max Kellermann
b0d6c0e7cb
Merge branch 'v0.23.x'
2022-09-28 13:08:34 +02:00
Max Kellermann
76efea3aa7
decoder/ffmpeg: add libfmt formatter for AVSampleFormat
...
Fixes compiler warning because formatting unscoped enums is deprecated
since libfmt 9.
2022-09-28 11:34:33 +02:00
Max Kellermann
45599e7840
Merge branch 'v0.23.x'
2022-09-27 20:40:41 +02:00
Max Kellermann
8d9b0c42cb
Merge branch 'reflection' of https://github.com/jcorporation/MPD
2022-09-27 20:35:17 +02:00
Max Kellermann
cd253e470a
Merge branch 'starts_with' of https://github.com/jcorporation/MPD
2022-09-27 20:05:38 +02:00
Max Kellermann
512cd7b0de
Merge branch 'ConsumeMode' of https://github.com/jcorporation/MPD
2022-09-21 11:36:25 +02:00
jcorporation
48a936ef5b
Add ConsumeMode oneshot, closes #925
2022-09-20 20:26:49 +02:00
Max Kellermann
15ff7c4cad
Merge branch 'fix-oggflac-serial' of https://github.com/anthonyde/MPD into v0.23.x
2022-09-20 14:44:13 +02:00
Max Kellermann
d5d25d78da
Merge branch 'v0.23.x'
2022-09-06 21:15:42 +02:00
Max Kellermann
84f43ccde8
LogInit: default to stderr on Windows
...
Don't require "log_file" setting, for "--no-config" operation.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1600
2022-09-06 21:04:53 +02:00
Max Kellermann
e77b3fa46f
increment version number to 0.23.10
2022-09-06 20:23:50 +02:00
Max Kellermann
4f041694d3
release v0.23.9
...
-----BEGIN PGP SIGNATURE-----
iQJBBAABCgArFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmL+ZuYNHG1heEBibGFy
Zy5kZQAKCRAjbopYxttFEmxjD/4sJEq9DroRRK2qnVL1c6rwdzAL05LQwXGfWMCY
/eIfoYGgu+PPN65Xf/A7qEvsXXSpuDzq0jTzdmtSvQwfKgg5jy72Qn+LN0dmoSRn
mqQoqPFFxr7URf7QhL/6/EKcKYSexu/dxLnnuOC/yB/32WB+JINGNLWABrCpFMW0
4kbVSC6t/e07bfBxNoYKx+kSxX88n82v5LNjkPctx0oU0gRoyRZds273uuKHOIYQ
KFHHuaW9eNT0x/JrrsBD0ASXcp/9CfyVvyoag4bqJIc6Bg4fJTEZ9QPy9SUF2R8L
0QCG2DBqFoht7Xqyo7qe5vYy2lww/flVrH/UwB1V7xfWzbuv3qUYs2pRnFmPKjQx
23FRBkmC3tWmno+pZFaYmzprRKQK7WS9DJUzaQ8DCjNVpncadNPDRvz13BZjVLAE
LeAFxPZ3B3yrDIjNRGl9LEySMJs7M4jrqzXQZuWS3+O9IZV19ajGczWmFCyQOyu4
F7bj9tfy1yhUjMYOiUIxXsWvxZSVIo8wK1payCJzvKTobnUUeDfDucnD/lpVRMF8
HyJsaZrXwFIClBmK8nCh3LiB5Dh9nxl8xjtmrCiPVzGZvj5qnzMkZWF+C4wxblnZ
XTVmHFrpdcI3nK4BzLVrxF+3A08gPkIHta9boqrMhfX4gPWkKmD1vH/+u2OD2BIY
I2MASg==
=tk1U
-----END PGP SIGNATURE-----
Merge tag 'v0.23.9'
release v0.23.9
2022-08-18 18:23:12 +02:00
Max Kellermann
12147f6d58
release v0.23.9
2022-08-18 18:20:54 +02:00
Max Kellermann
40bc60d6ae
Main: load Android mpd.conf from ExternalFilesDir
...
See also https://github.com/MusicPlayerDaemon/MPD/issues/1061
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1570
2022-08-18 18:17:43 +02:00
Max Kellermann
dd2cab1488
Merge branch 'v0.23.x'
2022-08-18 16:54:18 +02:00
Max Kellermann
e2d4654e20
filter/ReplayGain: invoke the MixerListener after volume change
...
This ensures that Partition::OnMixerVolumeChanged() invokes
MixerMemento::InvalidateHardwareVolume(), clearing the cached volume
level.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1526
2022-08-18 14:45:45 +02:00
Max Kellermann
b789ffd2bf
Merge branch 'v0.23.x'
2022-08-08 23:46:22 +02:00
Max Kellermann
4b4f47002b
mixer/Volume: refactor to class MixerMemento, per partition
...
Eliminate global variables, convert them to MixerMemento fields.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1583
2022-08-08 23:30:27 +02:00
Max Kellermann
dc07180e48
input/CdioParanoia: add options "mode" and "skip"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1529
2022-08-08 22:53:48 +02:00
Dave Hocker
bbc088ae4e
This PR provides forward and backward compatibility at macos SDK 12.0. At SDK 12.0, API function names were changed essentially replacing
...
occurrences of the word Master/master with Main/main. This change was test built on two different systems.
1. macos 10.15.7 with Xcode 12.4 and clang 12.0.0 on x86_64
2. macos 12.5 with Xcode 13.4.1 and clang 13.1.6 on arm64 (Apple silicon M1)
It should be noted that on macos 10.15.7 with Xcode 11.2 and clang 11.0, MPD will not build.
The MPD documentation states that clang 11.0 is the minimum requirement,
but clang 11.0 produces compile errors. Apparently the macos version
of clang 11.0 is not fully compliant.
2022-08-08 17:39:29 +02:00
Max Kellermann
4c08c0b8b1
Merge branch 'v0.23.x'
2022-07-27 11:06:47 +02:00
Max Kellermann
59792cb0b8
decoder/ffmpeg: wrap FFmpeg include in "extern C"
...
Commit ebae25d175
added that #include, but forgot to wrap it in
"extern C", so the linker tried to look up C++ symbols, causing linker
failure.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1582
2022-07-27 11:04:03 +02:00
Max Kellermann
b864094fdc
Merge branch 'master' of https://github.com/Sonico98/MPD
2022-07-21 21:14:15 +02:00
Rosen Penev
cc557c4d60
meson: port ncpmc iconv solution
...
Properly deals with iconv, unlike the current solution. have_iconv fails
when libiconv CFLAGS are passed to the compiler. Tested under OpenWrt
with its CONFIG_BUILD_NLS, which adds libiconv include flags.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-07-20 08:03:24 +02:00
Max Kellermann
199037c682
config: allow configuring partitions
...
This just allows creating empty partitions. More features to come.
2022-07-13 15:18:06 +02:00
Max Kellermann
64f84d5468
player/Listener: add virtual method OnPlayerState(), wrapping IDLE_PLAYER
...
This eliminates most of the remaining global "player" idle events.
2022-07-13 14:11:36 +02:00
Max Kellermann
89a18b49a7
Merge branch 'v0.23.x'
2022-07-12 14:00:00 +02:00
guihkx
956c5faebb
output/PipeWire: set app icon
...
Closes #1564
2022-07-12 13:59:05 +02:00
Max Kellermann
52eff41379
remove Haiku support
...
Haiku support has been unmaintained for many years, and this issue has
been open for more than 5 years, but apparently the Haiku people have
lost interest:
https://github.com/MusicPlayerDaemon/MPD/pull/183
Haiku support was therefore deprecated by this commit 4 years ago:
7de8fd04a4
- but in those 4 years, nobody stepped up to adopt
maintainership.
I don't have any computer (or VM) with Haiku and there is no CI with
Haiku support, so I'm unable to adapt the Haiku specific code to API
changes.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/182
Closes https://github.com/MusicPlayerDaemon/MPD/issues/185
2022-07-12 13:14:49 +02:00
Max Kellermann
eb7d321cb8
Merge branch 'v0.23.x'
2022-07-12 11:59:49 +02:00
Max Kellermann
79f9b268bb
increment version number to 0.23.9
2022-07-12 11:50:47 +02:00