Max Kellermann
cc0def15c4
Copyright year 2022
2022-07-14 17:59:35 +02:00
Max Kellermann
fef79931c5
output/Multiple: pass std::string_view to FindByName()
2022-07-13 13:13:21 +02:00
Max Kellermann
4464310e74
release v0.23.8
...
-----BEGIN PGP SIGNATURE-----
iQJBBAABCgArFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmLIuEINHG1heEBibGFy
Zy5kZQAKCRAjbopYxttFEm1JD/9j/a82cNccPLUfTptgb8ak5fAnYA65edbtGPr9
dLv1BSjMrsTpMpgJ8FT5wjQn7H5drmE2GLvCN+oZUqaSz99F5BC+Hof7bfvv/sVF
opLTiZn2iAtanwtHP6ZEPPswTbdN2FgtZeFhJIGmFspghJV5hdbM7vbwNX1SIpc6
LH+WvE42ZG/w5wNajRvr6/lPYQhJc70wUqODXLzgdYu3WYmIclUAyFv7tVr067Hh
uXP6b6MZV60cqh+a0xX01n5kwDo2reqmmE0IY0Le7H6xg5quE7DzCVElTOAa7R1x
MZJCqY/thjvXl3JfHW5/ZwmiNrxsmx8nzGhrDyg4tb3hjbwip1iEI/OgnDyacdl4
34njeFxO40AJhienDWLAp2oSYh4pNdfjFvnfSJXeQ9HD2sIzGi692WUgzjdM1VmA
83iVRe9Bx4OTyAg1jwPOFyAYnRqhWsYFSp7GjwNBQwTRSwwBtmOxwAhWKwuspuLi
YfDoF7wGYVY5lOXuDBw+rvhGRWqGKsbQzZFy0bQFoD8dbwG9huLJCumNWZCbqELF
TAfU5sRcQlAjwSGncEpKOitYjdrtylYRb12p2DSedFuBWxcRGGPiCFfTVUKV8hz1
LGD1xj1g/4ClEUbfDNVwa7sAEO7o84Qojfkt/siBjhE427i11CpPGIlMCVeO2FkG
fI1f3Q==
=KgWM
-----END PGP SIGNATURE-----
Merge tag 'v0.23.8'
release v0.23.8
2022-07-09 01:08:16 +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
9b427b3171
command/*: use std::span instead of ConstBuffer
2022-07-04 18:58:13 +02:00
Max Kellermann
bd32b229b5
config/Path: use std::string_view instead of StringView
2022-07-04 14:41:39 +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
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
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
ab5b6f83fd
queue/Print: support sorting by priority
2022-02-14 14:10:33 +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
5588291a35
queue/Selection: wrap SongFilter in a new struct
2022-02-14 09:12:18 +01:00
Max Kellermann
95a155b10d
Partition: pass configuration as struct
2021-12-03 23:03:41 +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
Rosen Penev
4e0e4c00bf
treewide: replace lock_guard with scoped_lock
...
SonarLint reports the latter to be better:
std::scoped_lock basically provides the same feature as std::lock_guard,
but is more generic: It can lock several mutexes at the same time, with a
deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code
to perform simultaneous locking with std::lock_guard is significantly more
complex. Therefore, it is simpler to use std::scoped_lock all the time,
even when locking only one mutex (there will be no performance impact).
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:13:03 -08:00
Max Kellermann
a8c77a6fba
Merge branch '1' of git://github.com/neheb/MPD
2021-11-11 10:33:17 +01:00
Rosen Penev
31aa6d0c4f
use auto with make_unique
...
C arrays can be used with make_unique in C++17.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 01:33:03 -08: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
651f57bced
command/playlist: save only if at least one song was added
2021-11-11 09:50:31 +01:00
Max Kellermann
b4e72aba6c
command/playlist: move code to SearchInsertIntoPlaylist()
2021-11-11 09:40:41 +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
48e8a26813
command/playlist: allow range in playlistdelete
2021-10-25 12:23:37 +02:00
Max Kellermann
ade847bc89
PlaylistFile: fold spl_move_index() into handle_playlistmove()
2021-10-25 12:13:45 +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
35c4c7e8bf
command/queue: move #ifdef out of AddDatabaseSelection()
2021-10-23 13:09:04 +02:00
Max Kellermann
293ed924d1
command/queue: pass Partition to AddDatabaseSelection()
2021-10-23 13:06:31 +02:00
Max Kellermann
f0d66bf6a6
output/Control: pass rvalue reference to move constructor
2021-10-22 20:14:37 +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
07e8c338df
command/queue: move position parameter functions to separate library
2021-10-18 22:07:04 +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
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
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
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
2fbbd540bb
more [[gnu::...]] attributes
2021-10-13 17:38:01 +02:00
Max Kellermann
f510564d9d
more [[gnu::...]] attributes
2021-10-13 12:07:05 +02:00
Max Kellermann
78e49928b6
command/QueueCommands: disallow moving the current song relative to itself
...
This was a no-op previously, but this operation makes no sense.
2021-10-07 22:55:41 +02:00
Max Kellermann
c0bcfe244c
command/QueueCommands: reimplement relative "move"/"moveid" offsets
...
The existing implementation has been utterly broken forever; I cannot
explain what it actually does, but it doesn't do what the
documentation says.
2021-10-07 22:49:38 +02:00
Max Kellermann
e63ecd81ec
command/QueueCommands: eliminate id lookup from handle_addid()
...
Use MoveRange() instead of MoveId().
2021-10-07 22:44:06 +02:00
Max Kellermann
c47a858d15
command/QueueCommands: move code to RequireCurrentPosition()
2021-10-07 22:21:00 +02:00
Max Kellermann
076c9a0dd9
command/QueueCommands: offset relative "addid" positions by one
...
Now, "+0" means "right after the current song" and "-0" means "right
before the current song". Mnemonic: there are zero songs between the
current song and the newly added song.
2021-10-07 22:12:10 +02:00
Max Kellermann
3993176b76
command/QueueCommands: support relative offsets in "addid"
...
A similar feature was present long ago in MPD, but was deprecated in
version 0.16 because the implementation was broken. This commit
re-adds the feature in a way that's well-defined and not broken.
Close https://github.com/MusicPlayerDaemon/MPD/issues/1221
2021-10-07 21:55:56 +02:00
Max Kellermann
16cad48641
command/QueueCommands: validate the "addid" position before adding the song
...
Validate early, so we avoid the rollback if an error occurs.
2021-10-07 21:27:07 +02:00
Max Kellermann
7a6d0c2efc
command/Queue: move LookupRemoteTag() to the end
...
Skip the LookupRemoteTag() call if the MoveId() call fails.
2021-10-07 21:13:45 +02:00
Max Kellermann
8a29805767
release v0.22.11
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmElU1oQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEnfUD/0fmlPB0ud6UdyedOp6yqbZoWvUanGFyrFX
4eaTfSZq4qAs3JKSLqGVcseDNG4wk/VkDhXekbpFPIgCjBQpypxusQ1NowoT6gps
NYFClU2cxBnGYHMZQeTT+4WB4VRGreZGJ42IfQbKDyrSNImKu+5CmtDvsoGezeMK
OnL9EkNR3D7nl6uIUstuyOG6f/x1QNNVlntatslMxPYfnrZgHElwZiodqEGDh0c4
XxBQmVyAX+AGjmwepXTQvUap2rd2x0mW7jQ7C3FFTP/eSImPsspQb4zO/TGnp3/o
9pSIDUSlnOS78C3GIJCZB4ac7i/Gh+tSV6Y3wSJmY9s/EvqnnHwySeiJnTLG3q3G
03Wy7r64enytU3jdgjtYb3h8fCnsQjhuhmUXtDLTF3hFeBR/EkviYQOpGqVbXpzm
Wx+yINtHJcUr4jikxboFSQacmf2WbJbIyZ3RhsWTWANHWDqHrMzW73E850Dg3kg3
RoeMKV3B9vFv6kolsCZR/Pq6+vFSsuDt8o+/RJqBwSKKwPP9Hm7ntlamTsJ5kA/0
kvr5WE9RcDOU+lyTjra1OW7OInxbhr05PFNBw8GfeR9QyatUT6c3hgyhoCbZ24DV
oPh3TwKrwtm82TMxBktGMAWb02RebEYVpPSlVrnWhpI9vlm4gHebAxANbFVWA/ur
FxQv+PXg0w==
=G8gT
-----END PGP SIGNATURE-----
Merge tag 'v0.22.11'
release v0.22.11
2021-08-24 22:19:38 +02:00
Dave Hocker
18be8c3318
Fix compile error on macOS 11.15.2 (introduced by commit 30e3ef4
)
2021-08-21 11:16:22 -05:00
Samir Benmendil
cfe024ea13
command/file: return directory_uri if real_uri is unset
...
Prevent a segfault when accessing album art.
Fix #1224 #1225
2021-08-17 10:55:43 +02:00