Max Kellermann
2d2df25d04
mixer/Mixer: avoid locking twice
2022-08-18 17:39:17 +02:00
Max Kellermann
29eb3e9ebc
mixer/Control: move some code to Lock*() methods
2022-08-18 17:34:00 +02:00
Max Kellermann
b0873fbc90
mixer/Mixer*: drop the "Mixer" prefix from source files
2022-08-18 17:21:39 +02:00
Max Kellermann
c14484a5cc
mixer/MixerList: eliminate header
2022-08-18 17:14:42 +02:00
Max Kellermann
a966cfeb1f
playlist/cue/CueParser: fix nullptr dereference
...
Regression from commit 21e4c25e61
2022-08-18 17:06:51 +02:00
Max Kellermann
6c0546d829
mixer/Internal: document that caller must lock the mutex
2022-08-18 16:57:58 +02:00
Max Kellermann
e1e8f45983
mixer/Control: add noexcept
2022-08-18 16:56:32 +02:00
Max Kellermann
3eedcc55b9
mixer/Control: convert pointers to references
2022-08-18 16:56:06 +02:00
Max Kellermann
dd2cab1488
Merge branch 'v0.23.x'
2022-08-18 16:54:18 +02:00
Max Kellermann
f883c09b6b
fs/FileSystem: add pure attributes
2022-08-18 16:53:32 +02:00
Max Kellermann
71acad6c21
fs/FileSystem: add noexcept
2022-08-18 16:53:31 +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
2b8f1170a6
mixer/Control: use Mixer::IsGlobal()
2022-08-18 14:33:35 +02:00
Max Kellermann
5c4743441e
mixer/All: use Mixer::IsPlugin()
2022-08-18 14:08:31 +02:00
Max Kellermann
938054bdb8
command/all: fix off-by-one bug in parameter count check
2022-08-09 12:47:57 +02:00
Max Kellermann
d0909adf6b
command/all: use class StaticVector
2022-08-09 12:46:26 +02:00
Max Kellermann
a12b004fa4
util/StaticVector: new class
2022-08-09 12:44:02 +02:00
Max Kellermann
a8452957fc
command/Request: pass std::span to constructor
2022-08-09 12:43:52 +02:00
Max Kellermann
feb334756e
command/all: convert macro to constexpr
2022-08-09 12:39:18 +02:00
Max Kellermann
50a4d7169e
TagAny: pass std::string_view to uri_has_scheme()
2022-08-09 11:43:35 +02:00
Max Kellermann
6239b6c0e2
Merge branch 'v0.23.x'
2022-08-08 23:48:38 +02:00
Max Kellermann
cb288439a4
{android,win32}/build.py: make stdout/stderr unbuffered
...
Avoid excessive buffering if run by CI.
2022-08-08 23:48:23 +02:00
Max Kellermann
b789ffd2bf
Merge branch 'v0.23.x'
2022-08-08 23:46:22 +02:00
Max Kellermann
69f741e8a6
mixer/Memento: move IDLE_MIXER out of SetVolume()
...
Make this idle event per-partition.
2022-08-08 23:32:57 +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
615c301961
mixer/Volume: remove logging (mostly useless)
2022-08-08 23:13:14 +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
Max Kellermann
d3b235bab5
input/CdioParanoia: move global variables up
2022-08-08 22:38:28 +02:00
Max Kellermann
0279f4fb57
output/jack: fix bogus assertion failure
...
Regression from commit 45071607aa
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1571
2022-08-08 22:01:59 +02:00
Max Kellermann
7c920ddebe
filter/ffmpeg: fix FFmpeg 5.1 deprecation warnings
2022-08-08 21:34:26 +02:00
Max Kellermann
88793cbc1a
output/httpd: avoid extra buffer copy if possible
2022-08-08 21:00:38 +02:00
Max Kellermann
2afe427ab3
output/httpd: copy from returned encoder buffer
...
This fixes a regression from commits c266fb7758
and 00b8ced09f
,
but really caused by API change in commit 7e14f8f830
, and this
plugin's failure to adapt to this API change.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1585
2022-08-08 21:00:27 +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
fe195257d8
python/build/libs.py: update FFmpeg to 5.1
2022-07-27 11:04:14 +02:00
Max Kellermann
57d5df8118
decoder/ffmpeg: fix FFmpeg 5.1 deprecation warnings
2022-07-27 11:04:09 +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
Sonico
3ef83cc34e
Add titleSort tag
2022-07-20 23:05:10 -03:00
Rosen Penev
3f133dd586
use data() instead of &[0]
...
No need for C pointer manipulation.
Removed data() for string_view as [] can be used without.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-07-20 13:50:48 -07: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
0c98d93e9a
io/FileOutputStream: write to temporary file if O_TMPFILE is not available
2022-07-14 18:45:33 +02:00
Max Kellermann
c344403bed
fs/Path: add operator+
2022-07-14 18:42:25 +02:00
Max Kellermann
150e8f78bf
io/FileOutputStream: use fsync() if fdatasync() is unavailable
...
Fixes the macOS build which apparently doesn't implement the POSIX
function fdatasync().
2022-07-14 18:34:44 +02:00
Max Kellermann
bc7fdba36d
test/fs/TestPath: add missing PATH_LITERAL
2022-07-14 18:34:43 +02:00
Max Kellermann
fe3ab7b937
fs/Path: add WithSuffix()
2022-07-14 18:23:48 +02:00
Max Kellermann
458084d79b
fs/Path: add GetSuffix()
2022-07-14 18:20:55 +02:00
Max Kellermann
f44bc19ce1
test/fs/TestPath: new unit test
2022-07-14 18:20:45 +02:00
Max Kellermann
d3947d0ad5
fs/Path: GetExtension() skips all leading dots
...
Don't return an empty string for "..", because this path doesn't have
an extension.
2022-07-14 18:20:45 +02:00
Max Kellermann
849ed122c7
fs/Path: document GetExtension()
2022-07-14 18:12:00 +02:00