Commit Graph

17665 Commits

Author SHA1 Message Date
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
Max Kellermann
254ee00c37 fs/Path: rename GetSuffix() to GetExtension()
The "extension" is the name after the dot, but the "suffix" is the
string including the dot.
2022-07-14 18:12:00 +02:00
Max Kellermann
594b97feb1 fs/Path: change cast syntax 2022-07-14 18:12:00 +02:00
Max Kellermann
cc0def15c4 Copyright year 2022 2022-07-14 17:59:35 +02:00
Max Kellermann
81154130b5 test/fs: rename TestFs.cxx to TestGlob.cxx 2022-07-14 17:57:10 +02:00
Max Kellermann
0514f25c61 test/TestFs: move to test/fs/ 2022-07-14 17:56:37 +02:00
Max Kellermann
2670bbdcc8 io/FileOutputStream: simplify OpenTempFile() call 2022-07-14 15:47:10 +02:00
Max Kellermann
bd3e096411 io/FileOutputStream: move code to Delete() 2022-07-14 15:43:36 +02:00
Max Kellermann
270a74e53b io/FileOutputStream: add method Sync() 2022-07-14 15:41:12 +02:00
Max Kellermann
47d103e8a1 io/FileOutputStream: add API documentation 2022-07-14 15:41:03 +02:00
Max Kellermann
188f7ab795 thread/WindowsCond: add explicit cast 2022-07-14 13:04:08 +02:00
Max Kellermann
4953a57c1c java/String: add std::string_view constructor 2022-07-14 13:03:23 +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
047561dc22 player/Listener: add virtual method OnPlayerError()
Replaces two global idle_add() calls.
2022-07-13 14:11:36 +02:00
Max Kellermann
a542a0804a Partition: OnPlayerTagModified() emits IDLE_PLAYER
Replaces one global idle_add() call.
2022-07-13 14:11:36 +02:00
Max Kellermann
cddeb2a0df io/BufferedOutputStream: add missing #include 2022-07-13 14:11:36 +02:00
Max Kellermann
de1d443db1 output/Multiple: use std::size_t 2022-07-13 13:26:27 +02:00
Max Kellermann
e2040ed395 output/Multiple: use [[gnu::pure]] 2022-07-13 13:25:17 +02:00
Max Kellermann
8a0ba7a725 output/Control: GetName() returns std::string& 2022-07-13 13:23:21 +02:00
Max Kellermann
e74788ea32 output/Control: inline GetName() 2022-07-13 13:13:23 +02:00
Max Kellermann
fef79931c5 output/Multiple: pass std::string_view to FindByName() 2022-07-13 13:13:21 +02:00
Max Kellermann
b52b0ac85a *: use BufferedOutputStream::Fmt() 2022-07-13 13:10:14 +02:00
Max Kellermann
9a30286289 io/BufferedOutputStream: add libfmt support 2022-07-13 12:52:20 +02:00
Max Kellermann
20310437d0 .github/workflows/build.yml: build with Ubuntu 22.04 as well 2022-07-13 12:41:04 +02:00
Max Kellermann
d29e1544bf .github/workflows/build.yml: explicitly select ubuntu-20.04
According to https://github.com/actions/virtual-environments
"ubuntu-latest" maps to "ubuntu-20.04", even though "ubuntu-22.04" is
also available.  Since our job description is very specific to
"ubuntu-20.04", let's select this explicitly.
2022-07-13 12:37:02 +02:00
Max Kellermann
ae4f4d3533 config/Data: add WithEach(ConfigBlockOption)
To improve error messages without making callers more complex.
2022-07-13 11:05:21 +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
eb589b0a46 output/osx: fix CI failure 2022-07-12 13:37:46 +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
45071607aa output/Interface: pass std::span to Play() 2022-07-12 12:59:47 +02:00
Max Kellermann
f5d104e7af output/ao: simplify write_size checks 2022-07-12 12:58:19 +02:00
Max Kellermann
4f8d2a8b1c output/alsa: use std::byte instead of uint8_t 2022-07-12 12:36:39 +02:00
Max Kellermann
0158a2b6b9 encoder/flac: refactor input buffer conversion 2022-07-12 12:31:08 +02:00
Max Kellermann
00b8ced09f encoder/flac: Read() returns the internal buffer 2022-07-12 12:19:55 +02:00
Max Kellermann
5f51be43cf decoder/flac: add noexcept and inline 2022-07-12 12:15:06 +02:00
Max Kellermann
3e2de560ca encoder/lame: eliminate the audio_format field 2022-07-12 12:08:46 +02:00