Max Kellermann
6857286b42
decoder/Thread: don't scan for replay gain tags in PCM streams
...
This disables a long delay for playing songs from the cdio_paranoia
input plugin if ReplayGain is enabled.
2022-07-08 16:33:19 +02:00
Max Kellermann
c32dceb4d4
input/CdioParanoia: remove loop from Read()
...
The Read() method is not required to fill the whole buffer. By
returning as soon as at least one byte was read, we allow faster
cancellation.
2022-07-08 16:01:23 +02:00
Max Kellermann
8eb3164878
input/CdioParanoia: fix crash if no drive was found
...
cdio_get_devices_with_cap() can return nullptr if no drive was found,
or it can instead return an empty list. The latter caused MPD to
crash.
2022-07-08 12:05:20 +02:00
Max Kellermann
4d6ae6ffdd
output/PipeWire: add nullptr check to SetVolume()
...
If the PipeWire output has not yet been enabled and no thread_loop has
been created yet, a nullptr dereference in SetVolume() was possible
because nullptr was passed to pw_thread_loop_lock().
2022-07-08 11:32:59 +02:00
Max Kellermann
47680f936b
mixer/All: auto-open "global" mixers
...
If a mixer is "global", it is available even if the output isn't
open. However, since the check was changed from IsEnabled() to
IsReallyEnabled(), enabled outputs have not yet been used have not
been "really" enabled yet, preventing using the mixer.
Fixes a regression by commit 35dbc1a90c
(part of https://github.com/MusicPlayerDaemon/MPD/pull/1480 ).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1563
2022-07-08 11:05:26 +02:00
Max Kellermann
2d7181105d
output/MultipleOutputs: SetVolume() throws on error
...
This reveals more about the nature of an error instead of just
returning "problems setting volume".
2022-07-08 10:56:55 +02:00
Max Kellermann
138738075b
libfmt 9 support
...
libfmt version 9 broke the API by removing fmt::make_args_checked().
Fixes https://bugs.debian.org/1014543
2022-07-08 10:06:53 +02:00
Max Kellermann
7dd65f3028
Merge branch 'v0.23.x'
2022-07-04 19:21:18 +02:00
Max Kellermann
2ee57f9b0d
output/PipeWire: add nullptr check, fixing crash with PipeWire 0.3.53
...
Since PipeWire 0.3.53, control names can apparently be nulled, leading
to crashes in applications assertion that the string cannot be
nullptr.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1558
2022-07-04 19:20:08 +02:00
Max Kellermann
af951dc08a
Merge branch 'v0.23.x'
2022-07-01 12:45:07 +02:00
Max Kellermann
5a5655b790
lib/curl/Adapter: catch and postpone exceptions in WriteFunction()
...
This fixes a std::terminate() crash in the CURL storage plugin when
PropfindOperation::OnHeaders() throws an exception after receiving a
non-207 status.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1559
2022-07-01 12:43:42 +02:00
Max Kellermann
3bb7693200
decoder/HybridDsd: remove
...
This is a proprietary extension which nobody appears to use.
2022-05-20 10:08:17 +02:00
Max Kellermann
0e9e213324
meson.build: switch to C++20
2022-05-19 09:46:59 +02:00
Max Kellermann
86e6f4fcc0
Merge branch 'v0.23.x'
2022-05-19 09:27:06 +02:00
Max Kellermann
122db76781
release v0.23.7
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmJ5gd4QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEi1vD/9mcxGKnkx4yTDJZhtSWfsSE/5v+oFu09Qy
Uk5ggk6PN18hMFZ2mcVYXdh7Yc1QiiAycgVFnchiVMYaF+K3LXefXvtkn81xuUNN
QnJLX/o2hbnmr5Or/Ps+hgiQ0PEn0ui1+t70jJ8a3Ad9sJy3YFQc/HjLUeOZqT0p
4qVyp614TtjtPlw/q0GHgiD1BxpH/pbcdMvioGj80MwBlwyrvA5IlV4HxxAAervw
4KKT9XbtnHzR+fyUPv633CDU/bWNkTgbpMVyEhRXxE3heNaXMC4wSfsD/5XKDYLb
zt/q1pAj6totKJwgdm76MoOKuVeNvw54jBE7st46+lPoH97h5uN9rpEAk00dXtSA
2FuOw8bc79uN5ZRsWXJ6ZBWzwUvssAtx9ee2seR9BUpdeSGurdOfkKq0h/c/aUzN
Qn6oWX75e7fMAB9MZhdCpM8lC0Nm5l9il+pA9811qaeZLO6yveW6by2Hmbo6BU0Q
3MQKyhXJkLFAOwPR9qMAtr3rQ/Wyl4WsJ/kXIYBu7I7HjOxSHjNnZOMsvcLfCMC9
dcRmtHOPjuVbafiypZ88SekIS0U+deXg33mKaWhH7FrCFEFbXf6GTBzXh/hHKtBm
icGTwGoOHX53fTgQ9GwC0XBpVBFbY5/gGr2KuzABecU2TeL3QqLl8tolsnBGVYun
JJ9n+RP0dQ==
=iQJC
-----END PGP SIGNATURE-----
Merge tag 'v0.23.7'
release v0.23.7
2022-05-09 23:14:07 +02:00
Max Kellermann
106ad08cd2
increment version number to 0.23.8
2022-05-09 23:12:17 +02:00
Max Kellermann
0341ca1b6a
release v0.23.7
2022-05-09 23:04:30 +02:00
Max Kellermann
112fcd206d
Merge branch 'fix-hls-seeking' of https://github.com/burrocargado/MPD into v0.23.x
2022-05-09 22:44:53 +02:00
Max Kellermann
ce88dee14d
Merge branch 'v0.23.x'
2022-04-26 18:30:34 +02:00
Rosen Penev
50d35c9677
upnp: use UpnpInit2 always
...
libupnp 1.14 removes the non 2 function. Fixes compilation there.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1499
2022-04-26 17:57:48 +02:00
Arsen Arsenović
c7a4355153
outputs/pipewire: fix ParamChanged incorrectly setting volume
...
Previous versions of MPD would, on parameter change, set the PipeWire
volume before clearing the restore_volume flag, causing the call to
short circuit and do nothing. Instead, clear the flag before the call.
2022-04-26 17:44:19 +02:00
Max Kellermann
c779fc37eb
output/shout: declare minimum version 2.4.0
...
This version was released 7 years ago, and it's reasonable to require
at least this version.
2022-04-26 16:46:36 +02:00
Max Kellermann
3929f17aef
NEWS: mention the libiconv fix
2022-04-26 15:56:54 +02:00
Max Kellermann
a360475c7b
Merge branch 'v0.23.x'
2022-03-26 06:49:51 +01:00
Vitaly Ostrosablin
ac06088948
Make volume changes to apply to disabled software mixers.
...
Move audio output state check ahead of mixer check and force volume
applying even for disabled software mixed outputs.
This fixes incorrect software mixer volume that used to occur when
volume was changed while output being disabled.
This is easily reproduced with following sequence of commands on
multi-output software mixed MPD setup.
mpc volume 38; mpc disable 3; mpc volume 88; mpc enable 3
On current MPD, following commands would result in output 3 playing at
volume 38, while all other enabled outputs would play at volume
88. Moreover, global volume would display average of outputs real
volumes. In my case, it's 75.
After applying this patch, following commands would produce expected
behavior. All outputs play at expected (88) volume. And volume is
correctly displayed as 88.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1423
Signed-off-by: Vitaly Ostrosablin tmp6154@yandex.ru
Signed-off-by: Vitaly Ostrosablin <tmp6154@yandex.ru>
2022-03-26 06:29:18 +01:00
Max Kellermann
a757eebfbb
decoder/OggSyncState: allow skipping up to 64 kB after seek
...
This is more of what we did in commit 70bd35abe2
because it turns
out there are Ogg-Opus files with pages larger than 40 kB.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1487
2022-03-16 16:54:50 +01:00
Tim Sweet
3a3f605a56
decoder/opus: Implement bitrate calculation
2022-03-15 10:34:23 +01:00
Max Kellermann
407fa2720a
release v0.23.6
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmIvgaMQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEpzhEACOJOyOjtmeuu7Uc147O4YzL/7g5PEZMKHI
yB/H2QOWnbgAKh+8AFT2YudR89mIXslfuIILRg8/NYkEFgNCrkBQETWsATPyqrCr
rYJxPtjlC2fAlKkl9XM+qL1WMATIhvRVD9SZajZKwa+9H1y5mZGlMBWdzdxaJoUY
bhlu7fYvyRMXsStUncyYfsKsuHyibq3d4Pk/jegZhJeMI9/MOKdjc9GJE6Rzz0cT
dWGqpfBJ/WMZ9aKXB3fh7WVtiIl/hr/5K1QizL10pwmJ5o/LBNKk7eEREbPUvNc6
S5BHBOyVYaqVTGZyaoF9XkMKv7qnKYNoD2g2H+J5cN87rMRI8DzY/MqUxmX0bCGc
jOQinMcQuL7zMvYx0ypKdTiMas2OG/RlKluOgzhNIvzkWYCxh9iCozm7Wl3qsvY5
uJEsaeIb/zgSmUC2637ltBE37lW/8m7RYWpuq82M2CnFx9oL6W3ah8SMm5ToBzYB
jHrN7h+YcKoIrFcZsYVTCbLzGQnQ2kmzsyGecDeCK9aP16gTkALZdpexn0oIzEKv
fNtNSU7MgYXLs0knrcBoQw0nQnH9ICuswqFiyr4jcFfqxbIw9mvHyLRIWnyhL9zj
XiYEr3SqnuVnmuLSgHlYk6g4zpYFLJEHo+/7IlEqTItXeAcsIhjn6B/NDyKVvYQa
Pfb1ORoumQ==
=jMu8
-----END PGP SIGNATURE-----
Merge tag 'v0.23.6'
release v0.23.6
2022-03-14 18:58:47 +01:00
Max Kellermann
4a5c7d8261
increment version number to 0.23.7
2022-03-14 18:55:55 +01:00
Max Kellermann
f591193dda
release v0.23.6
2022-03-14 18:55:47 +01:00
Max Kellermann
2aed7378cc
TagAny: support CUE tracks
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1482
2022-03-14 18:42:31 +01:00
Richard Schorrig
aeaef85507
WasapiOutputPlugin pause bug fix
...
Wasapi output plugin won't start playing after being paused
The cause is that the scope guard in the WASAPI work thread
(WasapiOutputPlugin.cxx, function WasapiOutputThread::Work(), in the
while (true) loop) is set up too 'late' in the execution. There is one
condition ("if (data_in_frames >= buffer_size_in_frames)") when it is
hit, the loop will continue without executing the scope guard. This
scope guard is responsible for emptying the buffer again, and if the
buffer is not emptied, the above mentioned condition will stay true.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1451
2022-03-14 14:26:00 +01:00
jcorporation
5ad1a01d7a
Remove bmp, tiff and add webp for coverimage filenames
...
- supporting bmp and tiff seems outdated
- webp is more widely used for coverimages
2022-03-14 14:09:23 +01:00
Max Kellermann
8f84e1befd
decoder/plugins/FfmpegIo: return AVERROR_EOF at end of file
...
This part of the AVIOContext API is not documented :-(
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1448
2022-03-14 14:00:28 +01:00
Max Kellermann
9975905faf
output/PipeWire: initialize field "stream" in Open()
...
Must be initialized for the check in SetVolume().
2022-03-09 14:29:46 +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
2172aaf1ce
song/PrioritySongFilter: new filter
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1412
2022-02-14 14:06:37 +01:00
Max Kellermann
c3be961ccf
queue/Print: implement sorting
2022-02-14 13:07:13 +01:00
Max Kellermann
11d24a583d
command/queue: "playlistfind"/"playlistsearch" have a "window" parameter
2022-02-14 09:12:19 +01:00
Max Kellermann
ad4cf79cc9
tag: new tag "Mood"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1435
2022-02-12 07:50:18 +01:00
Max Kellermann
946cf25732
Merge branch 'v0.23.x'
2022-01-26 14:44:37 +01:00
Max Kellermann
86e9ed5f3a
decoder/opus: fix "readpicture" on Opus files
...
Don't return early from ScanOpusTags() if only
TagHandler::WantPicture() is set.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1413
2022-01-26 14:43:45 +01:00
Max Kellermann
35c11afd54
player/Thread: add option "mixramp_analyzer"
2021-12-06 23:06:08 +01:00
Max Kellermann
2384a240e0
increment version number to 0.24
2021-12-03 23:01:43 +01:00
Max Kellermann
e25e0030e7
increment version number to 0.23.6
2021-12-01 20:01:22 +01:00
Max Kellermann
df4b6b92f2
release v0.23.5
2021-12-01 20:00:00 +01:00
Max Kellermann
16fb843c9b
tag/MixRamp: fix typo which broken MixRamp
...
Fixes regression by commit 8e0d810968
which is 2 years old, and nobody
noticed. D'oh, how embarassing!
2021-12-01 15:46:31 +01:00
Max Kellermann
933a1a41e6
lib/upnp/Discovery: use InjectEvent instead of DeferEvent
...
Fixes regression by commit 774b4313f2
2021-11-30 18:03:27 +01:00
Max Kellermann
4682ae0898
command/database: support relative offsets for "searchadd"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1337
2021-11-23 12:17:32 +01:00
Max Kellermann
dcb5ca203c
db/DatabasePlaylist: increment only one variable
...
Fixes "searchaddpl" bug emitting bogus error "Bad position".
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1338
2021-11-22 20:47:34 +01:00
Max Kellermann
77df5a8f24
lib/pcre: migrate to PCRE2
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1352
2021-11-22 19:32:45 +01:00
Max Kellermann
eea2d35d3a
util/AllocatedString, ...: add missing include for std::exchange()
...
Fixes building with GCC 12.
2021-11-19 16:06:20 +01:00
Max Kellermann
16feb261e2
increment version number to 0.23.5
2021-11-11 10:18:19 +01:00
Max Kellermann
f084bf7872
release v0.23.4
2021-11-11 10:16:36 +01:00
Max Kellermann
1112d3907a
Revert "systemd: add "RuntimeDirectory" directive"
...
This reverts commit 552c30eae4
.
It has caused various problems; for example, MPD wasn't able to write
the pid_file (which was already mitigated by commit a4e4217204
).
And apparently, the socket file created in the same directory by
mpd.socket disappears when mpd.service (re)creates the directory. I
could not reproduce this problem with 247.3, but maybe this is a bug
in older systemd versions?
Until we figure out why this happens, let's remove the
RuntimeDirectory directive. A future MPD version may be launched as
regular user, not as root, which will eliminate one major problem with
RuntimeDirectory.
2021-11-11 10:16:13 +01:00
Max Kellermann
3464497880
command/database: add optional position parameter to "searchaddpl"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1328
2021-11-11 09:52:49 +01:00
Max Kellermann
5f4ec7de5b
decoder/ffmpeg, lib/ffmpeg: make AVCodec pointers "const"
...
For libavcodec 59 support.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1333
2021-11-09 21:09:14 +01:00
Max Kellermann
c93195c94b
NEWS: fix typo
2021-11-05 14:45:43 +01:00
Max Kellermann
a4e4217204
Main: ignore the "pid_file" setting if started as systemd service
...
Commit 552c30eae
caused problems for those people who still had a
"pid_file" setting (even though that is obsolete with systemd),
because now /run/mpd is owned by root:root (our mpd.service has no
User=mpd directive, so systemd starts MPD as root).
To work around this problem, and to be able to keep
RuntimeDirectory=mpd (which solved a problem of other MPD users), the
best compromise seems to just ignore the "pid_file" setting when it is
of no use.
2021-11-05 09:02:56 +01:00
Max Kellermann
be3eca39e8
NEWS: add missing lines
2021-11-04 17:59:02 +01:00
Max Kellermann
14b3c0f0af
event/Loop: destruct the Uring::Manager in the destructor before assert()
...
Fixes assertion failure when the EventLoop gets destructed before
Run() was ever called.
Fixes https://bugs.debian.org/998310
2021-11-03 18:32:14 +01:00
Max Kellermann
67aff05051
increment version number to 0.23.4
2021-10-31 18:17:35 +01:00
Max Kellermann
19a101c3ac
release v0.23.3
2021-10-31 18:13:10 +01:00
Max Kellermann
03f99dd26e
db/update/Walk: use GetFilenameSuffix() instead of uri_get_suffix()
...
Unlike GetFilenameSuffix(), uri_get_suffix() removes the query string
first, which breaks file names with question marks in the name.
Therefore, uri_get_suffix() shall only be applied to remote URIs.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1316
2021-10-31 13:18:24 +01:00
Max Kellermann
bfb1b641f9
db/update/InotifyUpdate: fix use-after-free bug
...
Regression by commit 2d8847f428
2021-10-28 13:39:38 +02:00
Max Kellermann
552c30eae4
systemd: add "RuntimeDirectory" directive
2021-10-26 08:38:36 +02:00
Max Kellermann
48e8a26813
command/playlist: allow range in playlistdelete
2021-10-25 12:23:37 +02:00
Max Kellermann
a6173e0eae
command/playlist: add position parameter to "playlistadd"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1106
2021-10-25 12:10:47 +02:00
Max Kellermann
6f595e9abb
command/queue: add optional position parameter to "add"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1285
2021-10-23 13:12:44 +02:00
Max Kellermann
c8121176b3
output/alsa: add option "stop_dsd_silence" to work around DSD DAC noise
2021-10-23 12:25:32 +02:00
Max Kellermann
ee270f9b00
meson.build: log_dep is only needed internally
2021-10-23 12:08:43 +02:00
Max Kellermann
3cb44f6652
increment version number to 0.23.3
2021-10-22 12:50:11 +02:00
Max Kellermann
b7fdff46f2
release v0.23.2
2021-10-22 12:45:45 +02:00
Max Kellermann
e16109330d
input/last: clear "uri" in OnCloseTimer()
...
Without clearing the "uri" field, the next Open() call attempts to
reuse the old InputStream, but it has already been closed, so Open()
always returns nullptr.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1300
2021-10-22 12:45:18 +02:00
Max Kellermann
0c4bf12bfd
player/CrossFade: fix inverted check and wrong variable
...
The inverted check was introduced by commit 46d00dd85f
, and commit
8ad17d25ef
added a check for the wrong variable. D'oh!
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1303
2021-10-22 11:49:38 +02:00
Max Kellermann
32851d1bc7
output/pipewire: DSD support
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1297
2021-10-20 11:39:54 +02:00
Max Kellermann
5fab107fd3
lib/nfs/FileReader: use the thread-safe InjectEvent
...
.. instead of DeferEvent, which is not thread-safe. This caused
various playback problems, which was initially caused by the
DeferEvent/InjectEvent split in commit 774b4313f2
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1298
2021-10-20 09:38:09 +02:00
Max Kellermann
80b09360c6
NEWS: mention the previous commit
2021-10-19 14:38:37 +02:00
Max Kellermann
fd5a3b5880
client/Response: reimplement Error() without FmtError()
...
With libfmt versions older than 7, this leads to an endless recursion
between Error() and FmtError(), resulting in a crash due to stack
overflow. D'oh!
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1295
2021-10-19 13:40:11 +02:00
Max Kellermann
a8087dc12c
neighbor/Glue: mention failed plugin name in error message
2021-10-19 13:29:00 +02:00
Max Kellermann
0a9bec3754
increment version number to 0.23.2
2021-10-19 10:29:49 +02:00
Max Kellermann
fff25ac753
release v0.23.1
2021-10-19 10:27:28 +02:00
Max Kellermann
4f1e79b6b8
filter/ReplayGain: emit "mixer" event when replay gain changes volume
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1294
2021-10-19 10:03:21 +02:00
Max Kellermann
df033fa4aa
NEWS: mention the previous commit
2021-10-19 08:56:32 +02:00
Max Kellermann
31151cec3c
command/playlist: "load" supports relative positions
...
This commit also increases the PROTOCOL_VERSION so clients can detect
the availability of the feature.
2021-10-18 22:08:22 +02:00
Max Kellermann
b22d7218aa
command/player, ...: use decimal notation
...
During the libfmt migration, I converted "%1.3f" to just "{:1.3}"
without the "f" suffix, but libfmt defaults to scientific notation,
which can break some MPD clients.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1291
2021-10-18 16:54:53 +02:00
Max Kellermann
d5be8c74b0
output/pipewire: attempt to change the graph sample rate
...
Requires PipeWire 0.3.32.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1283
2021-10-18 16:46:23 +02:00
Max Kellermann
c112cb60da
output/snapcast: fix typo which caused "Failed to get chunk"
...
This bug caused a 9 second offset in all time stamps. Due to that,
the Snapcast server thought the chunks are too old and discarded them.
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1287
2021-10-18 16:40:11 +02:00
Max Kellermann
907af2ad02
Permission: refactor getPermissionFromPassword() to return std::optional
...
This replaces the output parameter (which is bad API design). As a
side effect, it fixes the bad [[gnu::pure]] attribute added by commit
a636d2127
which caused optimizing compilers to miscompile calls to
that function. "Pure" functions can be assumed to have no output
arguments, so the compiler can assume the function doesn't modify
them.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1282
2021-10-17 19:58:50 +02:00
Max Kellermann
771c46032f
meson.build: add missing libfmt dependencies
...
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1281
The problem occurred when there was libfmt-dev installed, but it was
too old (e.g. on Debian Buster), and Meson used the wrap fallback.
Those internal MPD libraries where the libfmt dependency was not
declared were still using the old system libfmt headers, which are not
ABI-compatible with MPD's own libfmt build.
2021-10-15 14:26:59 +02:00
Max Kellermann
781fe4ff28
increment version number to 0.23.1
2021-10-14 15:36:16 +02:00
Max Kellermann
163c59128e
release v0.23
2021-10-14 15:25:21 +02:00
Max Kellermann
608896571c
command/queue: add position parameter to "load"
...
Another one from https://github.com/MusicPlayerDaemon/MPD/issues/888
2021-10-14 15:11:11 +02:00
Max Kellermann
2e5ca1cbd2
command/database: add "position" parameter to "findadd" and "searchadd"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/888
2021-10-14 15:03:02 +02:00
Max Kellermann
77d74b404e
Permission: add option "host_permissions"
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1115
2021-10-14 14:44:18 +02:00
Max Kellermann
9a766f4cd9
Permission: split permission "player" from "control"
...
Some users want certain clients to fully control playback, but do not
want them to be able to trigger database update.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1124
2021-10-14 14:19:51 +02:00
Max Kellermann
8ad17d25ef
player/CrossFade: do not cross-fade songs shorter than 20 seconds
...
From the feature request: "I generally like to have crossfade on, but
when it happens during such short tracks (e.g. 20 seconds or less) it
doesn't really sound good as those tracks are not really meant to be
crossfaded and intended to act as a bridge on their own."
Sounds reasonable. This commit doesn't add an option, but hard-codes
the limit to 20 seconds. If it turns out that users want to have it
configurable, we can still add the option.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1184
2021-10-14 13:47:24 +02:00
Max Kellermann
37bd6de658
db/simple: add option to hide CUE target songs
...
This reduces duplicates in the music database by hiding the original
song file when it is referenced by a CUE sheet.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1275
2021-10-14 13:28:37 +02:00
Max Kellermann
0712314d23
archive/{zzip,iso9660}: ignore file names which are invalid UTF-8
...
These malformed strings must not be transferred over the wire, because
the MPD protocol is defined to be UTF-8.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1274
2021-10-13 15:51:08 +02:00
Max Kellermann
a49b49cba7
decoder/wavpack: fix WVC file support
...
The wrong variable was used. This has been broken by commit
4eeea640f4
seven years ago - and nobody as noticed, d'oh!
2021-10-13 12:11:39 +02:00