Max Kellermann
466a05bc52
CommandLine: update copyright year in --version output
2021-05-19 18:09:38 +02:00
Max Kellermann
6de4064cca
client/Response, command/file: use %lu instead of %zu on Windows
...
Fixes -Wformat warnings.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1150
2021-05-19 18:06:40 +02:00
Max Kellermann
bcf0fdd3a8
meson.build: define NOUSER on Windows for lighter windows.h
...
A few exceptions are needed for sources which include COM header
(directly or indirectly).
This fixes lots of shadow warnings, see
https://github.com/MusicPlayerDaemon/MPD/issues/1150
2021-05-19 18:02:49 +02:00
Max Kellermann
a8f05a7efc
win32/HResult: un-inline HRESULTToString() to reduce header dependencies
2021-05-19 17:48:42 +02:00
Max Kellermann
c64a3b5dbb
fs/Glob: un-inline the Windows version to reduce header dependencies
2021-05-19 17:41:23 +02:00
Max Kellermann
16c38c438f
fs/Glob: use defaulted move constructor
2021-05-19 17:40:23 +02:00
Max Kellermann
48cc4a6ced
fs/Glob: remove redundant #ifdefs
2021-05-19 17:40:03 +02:00
Max Kellermann
a169a05e41
win32, ...: avoid including windows.h
...
Include the most specific header documented by MSDN instead.
2021-05-19 17:25:32 +02:00
Max Kellermann
8efa5c7641
output/wasapi: use "%lu" in log calls
...
"%lu" is portable - it works with both POSIX and Microsoft flavors.
Fixes a part of https://github.com/MusicPlayerDaemon/MPD/issues/1150
2021-05-19 17:10:49 +02:00
Max Kellermann
28e7be248f
util/RuntimeError: disable -Wformat-security as a kludge
2021-05-19 14:57:20 +02:00
Max Kellermann
e016cc8940
lib/upnp/meson.build: auto-disable UPnP without CURL/expat
2021-05-19 14:37:13 +02:00
GrimReaperFloof
34f636ffc3
Change WritableBuffer<uint8_t> to AllocatedArray<std::byte>
2021-05-19 09:54:06 +02:00
GrimReaperFloof
a134f692bf
Code deduplication: move mod_loadfile() into ModCommon.cxx
2021-05-19 09:53:39 +02:00
Max Kellermann
d747576793
Merge branch 'npu' of git://github.com/neheb/MPD
2021-05-19 09:48:12 +02:00
Max Kellermann
d9578f6427
Merge branch 'flac-ogg' of git://github.com/jprjr/VGMPD
2021-05-19 09:33:42 +02:00
Max Kellermann
b2cec7a0a3
Merge branch 'v0.22.x'
2021-05-19 08:09:05 +02:00
Max Kellermann
85db2d6704
db/proxy: split search into chunks to avoid exceeding the output buffer
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1130
2021-05-19 08:04:50 +02:00
Max Kellermann
22ebb2bdd5
db/proxy: send "window" as separate parameter to SendConstraints()
2021-05-19 07:51:48 +02:00
Max Kellermann
e108568082
db/proxy: require libmpdclient 2.11 or later
...
Remove lots of #ifdefs.
2021-05-19 07:46:42 +02:00
Max Kellermann
4fc08e39b4
db/proxy: require MPD 0.20 or later
...
Allows using ranges, always. This is required to fix
https://github.com/MusicPlayerDaemon/MPD/issues/1130 without adding
more runtime conditionals.
2021-05-19 07:41:04 +02:00
Max Kellermann
c3f9b38c97
command/PlaylistCommands: pass real_uri to LookupRemoteTag()
...
For querying tags, the real song URI should be used, because if the
(display) URI is different, requesting it will not produce a usable
response. This is a theoretical problem because none of the existing
playlist plugins sets the real_uri.
This requires changing the URI comparison in playlist::TagModified().
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1154
2021-05-18 21:35:09 +02:00
Max Kellermann
dbb18a401b
command/file: cache the last "albumart" file
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1156
2021-05-18 17:04:09 +02:00
Max Kellermann
e1e41708af
input/LastInputStream: new class
2021-05-18 17:04:09 +02:00
Max Kellermann
a2bdac571a
Merge branch 'v0.22.x'
2021-05-17 19:33:15 +02:00
Max Kellermann
638dfc3981
{input,storage}/curl: set CURLOPT_HTTPAUTH=CURLAUTH_BASIC
...
With the default value CURLAUTH_ANY, libcurl needs to probe for
authentication methods first, and only the second request will have an
Authorization header.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1155
2021-05-17 19:26:05 +02:00
Max Kellermann
6f51d910ee
python/build/libs.py: update CURL to 7.76.1
2021-05-17 18:42:05 +02:00
John Regan
87fa6bca54
flac encoder: enable Ogg FLAC and Ogg chaining
...
refactors GenerateOggSerial into a generic GenerateSerial
utility, under the util lib.
libFLAC may be encoded without Ogg support. If Ogg support is disabled,
libFLAC will still export Ogg-related methods (like setting a serial
number), and throw a runtime error when initializing an Ogg stream.
GenerateOggSerial does not depend on libogg. Refactoring it into
a generic GenerateSerial prevents having to add build-time checks
for libogg within the FLAC encoder plugin.
2021-05-15 11:31:01 -04:00
GrimReaperFloof
a0334d1d94
Add resampling mode setting to modplug decoder
2021-05-07 19:48:52 +02:00
Max Kellermann
0f02bbc2fe
output/jack: enable on Windows
...
This enables the JACK output plugin on Windows, but doesn't link
against libjack64.dll, instead loads the DLL at runtime with
LoadLibrary(). This kludge avoids the extremely fragile JACK shared
memory protocol by using the system's libjack64.dll, without requiring
the same DLL at build time.
2021-04-26 21:47:20 +02:00
Max Kellermann
b885f358a5
output/control: add missing nullptr checks
...
Fixes crash when pausing the default partition after an output was
moved to another partition.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1147
2021-04-26 21:34:58 +02:00
Max Kellermann
423f2df5e0
pcm/Volume: drop support for GCC older than 8
2021-04-20 20:01:43 +02:00
Max Kellermann
0122dc8452
util/BindMethod: drop support for GCC older than 7
2021-04-20 20:01:08 +02:00
Max Kellermann
650a30d794
Revert "tag/Pool: use strncmp() without strlen() to compare strings"
...
This reverts commit 1532983fb5755305a86fc37d2f35a7757d2bd66f. This
optimization was bad because now all strings match if they are a
prefix of another string, and this caused collisions in the tag string
pool, corrupting the database.
2021-04-15 16:15:44 +02:00
Max Kellermann
95ad1b0cc6
use [[gnu::pure]] instead of gcc_pure
...
This is semi-standard and doesn't require the util/Compiler.h header.
2021-04-06 14:09:21 +02:00
Max Kellermann
52f46b94e9
util/AllocatedString: add concatenating constructor
2021-04-06 14:06:16 +02:00
Max Kellermann
e07e0bc9c1
util/AllocatedArray: include cleanup
2021-04-06 14:05:29 +02:00
Max Kellermann
4a1c231734
net/SocketError: use constexpr
2021-04-06 13:59:58 +02:00
Max Kellermann
fd0e958e95
net/SocketError: use auto
2021-04-06 13:58:46 +02:00
Max Kellermann
3d814115c8
net/SocketError: change "const" to "pure"
2021-04-06 13:58:32 +02:00
Max Kellermann
ca726a0110
util/StringBuffer: make capacity() static
...
This allows using it in constant expressions.
2021-04-06 13:46:07 +02:00
Max Kellermann
e01710cbd1
util/DereferenceIterator: simplify operator->()
...
This makes it compatible with containers storing std::unique_ptr.
2021-04-06 13:45:32 +02:00
Max Kellermann
c87a4a7d08
util/DereferenceIterator: fix static_cast in operator->()
2021-04-06 13:45:10 +02:00
Max Kellermann
b59170b702
Java/Exception: simplify RethrowException()
2021-04-06 13:35:59 +02:00
Max Kellermann
a237db556a
java/File: add non-static GetAbsolutePath() overload
2021-04-06 13:35:59 +02:00
Max Kellermann
285ba54fe5
java/String: remove unnecessary env
parameter
2021-04-06 13:35:59 +02:00
Max Kellermann
ee86434a89
java/String: add const
2021-04-06 13:35:59 +02:00
Max Kellermann
95d5efbfe6
java/Ref: add nullptr comparison
2021-04-06 13:35:59 +02:00
Max Kellermann
c33f206ce8
java/Ref: add nullptr constructor
2021-04-06 13:29:35 +02:00
Max Kellermann
2d95ac2e94
Java/String: inherit the super class constructor
2021-04-06 13:29:24 +02:00
Max Kellermann
f58c14a74a
Java: no namespace indent
2021-04-06 13:29:13 +02:00