Colin Edwards
0075c57bd4
android: Check playlist state before changing track
...
Playlist will throw an exception if we call next or previous track when it is not in the "playing" state
2024-01-13 23:23:29 -06:00
Colin Edwards
87873c9a73
android: Support play / pause from media session
2024-01-13 23:15:56 -06:00
Max Kellermann
e4cc89b2d9
Merge branch 'jg' of https://github.com/neheb/MPD
2024-01-13 22:38:34 +01:00
Max Kellermann
6f6cbeba80
net/SocketDescriptor: add Send()/Receive() overloads with iovec
2024-01-13 22:32:35 +01:00
Max Kellermann
974ed0166c
net/SocketDescriptor: add sendmsg(), recvmsg() wrappers
2024-01-13 22:31:58 +01:00
Max Kellermann
a91920a8ff
net/SocketDescriptor: pass span<byte> to Read()/Write()
2024-01-13 22:31:34 +01:00
Max Kellermann
7cd38dde09
net/SocketDescriptor: add [[nodiscard]]
2024-01-13 22:31:24 +01:00
Max Kellermann
b63a794fbe
io/FileDescriptor: add [[nodiscard]]
2024-01-13 22:31:16 +01:00
Max Kellermann
3e862b85d4
Merge branch 'mediasession' of https://github.com/DDRBoxman/MPD
2024-01-13 22:27:00 +01:00
Max Kellermann
d3335f9947
db/simple: make more fields const
2024-01-08 13:55:15 +01:00
Max Kellermann
1a67062e1e
db/simple: reorder fields to reduce padding
2024-01-08 13:54:15 +01:00
Max Kellermann
fec1a4ac32
db/simple: pass hide_playlist_targets to sub-instance
2024-01-08 13:53:59 +01:00
Max Kellermann
7f439b01a3
net/SocketAddress: move code to IsInet()
2024-01-08 13:48:13 +01:00
Max Kellermann
0fd6f83766
net/StaticSocketAddress: add constexpr
2024-01-08 13:48:05 +01:00
Max Kellermann
b15b2125e2
net/AddressInfo: add methods IsInet(), IsTCP()
2024-01-08 13:47:59 +01:00
Colin Edwards
e086f09d48
android: add next and previous track to the jni bridge
...
This will allow the android client to directly make calls to the mpd process to change tracks
I went with camel case on the function names here, if you use an underscore
javac generates a function tht looks like this:
JNIEXPORT void JNICALL Java_org_musicpd_Bridge_play_1previous
I figured what we ended up with looks a little nicer:
JNIEXPORT void JNICALL Java_org_musicpd_Bridge_playPrevious
2024-01-05 18:21:46 -06:00
Rosen Penev
e8163124e3
mpg123: fix compilation under Windows
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08:00
Rosen Penev
0651be8366
fluidsynth: fix compilation on Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08:00
Rosen Penev
4957035be6
mikmod: fix compilation on Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08:00
Rosen Penev
bcd55c0b75
sidplay: fix compilation under Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08:00
Rosen Penev
914ee92015
wavpack: fix compilation on Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08:00
Max Kellermann
c04490bd52
storage/curl: eliminate std::strings, parse string_view directly
2024-01-04 21:11:07 +01:00
Max Kellermann
b601f4dc15
util/CNumberParser: remove unused function ParseInt64()
2024-01-04 21:07:50 +01:00
Max Kellermann
4086190c80
decoder/OpusTags: use ParseInteger()
2024-01-04 21:06:38 +01:00
Max Kellermann
e1eea9d98a
util/NumberParser: new library based on std::from_chars()
2024-01-04 21:03:37 +01:00
Max Kellermann
393d57b387
util/NumberParser: rename to CNumberParser
...
A new NumberParser library based on std::from_chars() will be added.
2024-01-04 21:02:45 +01:00
Max Kellermann
b283fe07af
lib/expat/ExpatParser: pass std::string_view to CharacterData()
2024-01-04 20:55:14 +01:00
Max Kellermann
feeb21577f
lib/upnp/Device: use std::forward_list instead of std::vector
2024-01-04 20:51:20 +01:00
Max Kellermann
1fca16737d
lib/upnp/Device: remove unnecessary ctors/dtors
2024-01-04 20:49:27 +01:00
Max Kellermann
4ec85a12e3
lib/upnp/Discovery: use std::map instead of std::list
2024-01-04 20:45:24 +01:00
Max Kellermann
3d2aebccad
lib/upnp/Discovery: pass std::string_view to LockRemove()
2024-01-04 20:40:47 +01:00
Max Kellermann
22382f799c
lib/upnp/Discovery: add noexcept
2024-01-04 20:39:21 +01:00
Max Kellermann
468eceabff
lib/upnp/Discovery: remove unreachable exception handler
2024-01-04 18:04:46 +01:00
Max Kellermann
08e0eb79f5
lib/upnp/Discovery: remove unused default ctor
2024-01-04 18:04:21 +01:00
Max Kellermann
8b03ce562c
input/curl: increase CURLOPT_BUFFERSIZE from 16 kB to 512 kB
2024-01-04 17:57:42 +01:00
Max Kellermann
997311ba14
lib/curl/Easy: add method TrySetOption()
2024-01-04 17:51:48 +01:00
Max Kellermann
cbd031ca7f
lib/upnp/Action: common UpnpSendAction() wrapper for pupnp and npupnp
...
Merge a lot of duplicate code.
2024-01-04 17:40:59 +01:00
Max Kellermann
95842e7984
db/upnp: eliminate the std::forward_list, use IterableSplitString()
2024-01-04 16:31:28 +01:00
Max Kellermann
cc41e95806
db/upnp: add rootid_sv
2024-01-04 16:20:44 +01:00
Max Kellermann
2c77e088b4
db/upnp: eliminate temporary std::string from Visit()
2024-01-04 16:19:03 +01:00
Max Kellermann
c8e2ab6781
db/upnp/Object: smaller enums
2024-01-04 14:31:41 +01:00
Max Kellermann
b2ed29b8c0
lib/upnp/ContentDirectoryService: getFriendlyName() returns std::string reference
...
This can avoid the overhead of casting a C string back to std::string_view.
2024-01-04 14:28:12 +01:00
Max Kellermann
1789b56a85
db/upnp: pass std::string_view to songPath()
2024-01-04 14:28:12 +01:00
Max Kellermann
714dbc9294
lib/upnp/Discovery: forward-declare inner class ContentDirectoryDescriptor
2024-01-04 14:28:12 +01:00
Max Kellermann
f40eb963fd
lib/upnp/Discovery: forward-declare inner class Downloader
2024-01-04 14:28:12 +01:00
Max Kellermann
ee4b49d12f
lib/expat/ExpatParser: pass std::string_view to Parse()
2024-01-04 14:28:12 +01:00
Max Kellermann
4c9942534c
lib/upnp/Device: pass url as std::string_view to Parse()
2024-01-04 14:28:12 +01:00
Max Kellermann
d5f7db59a8
lib/upnp/Util: pass std::string_view to path_getfather()
2024-01-04 14:28:12 +01:00
Max Kellermann
8d1b73ae89
lib/upnp/Discovery: use string_view::starts_with() instead of strncmp()
2024-01-04 14:28:08 +01:00
Rosen Penev
f68fab53a7
zzip: fix compilation on Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 12:38:36 +01:00
Rosen Penev
6a4dc281d1
bzip2: fix compilation on Windows
...
NarrowPath is needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 12:38:30 +01:00
Rosen Penev
a859de6806
sndfile: fix compilation with clang's libc++
...
error: non-constant-expression cannot be narrowed from type 'sf_count_t'
(aka 'long long') to 'size_type' (aka 'unsigned int') in initializer list
[-Wc++11-narrowing]
215 | std::span{buffer, num_frames * frame_size},
| ^~~~~~~~~~~~~~~~~~~~~~~
note: insert an explicit cast to silence this issue
215 | std::span{buffer, num_frames * frame_size},
| ^~~~~~~~~~~~~~~~~~~~~~~
| static_cast<size_type>()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-03 12:18:52 -08:00
Rosen Penev
f6dbf38e99
upnp: change interface variable name
...
rpc.h under Windows defines interface as struct, which blows up the
build here. Rename to avoid.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-28 19:39:05 -08:00
Max Kellermann
d0a4270449
lib/upnp/Compat: remove obsolete kludges
...
Those bugs have been fixed looong ago.
2023-12-28 21:24:58 +01:00
Max Kellermann
b9a7a9981e
lib/upnp/ContentDirectoryService: remove unused fields
2023-12-28 21:22:41 +01:00
Max Kellermann
d9fb152b95
lib/upnp/ContentDirectoryService: include some headers only with libpupnp
2023-12-28 21:18:41 +01:00
Max Kellermann
9396ffb509
db/plugins/upnp/ContentDirectoryService: add missing closing curly brace
2023-12-28 20:52:53 +01:00
Rosen Penev
e7e07c39c5
meson: fix flac_dep under Windows
...
declare_dependency's found() method evaluates to true always, resulting
in MPD trying to build flac when not found. Check for dependency()'s
find() first.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-27 12:43:08 -08:00
Rosen Penev
44080154b0
no setenv on Windows
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-27 10:50:00 -08:00
Rosen Penev
7c520f6475
fs: fix typo
...
Wrong macro used.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-26 10:57:44 -08:00
Max Kellermann
23b4688c44
util/ByteOrder: move Packed* classes to separate headers
2023-12-22 18:20:46 +01:00
Max Kellermann
a888b3a707
decoder/plugins/meson.build: add missing dependency to libid3tag
2023-12-22 18:03:47 +01:00
Max Kellermann
3c5b864396
tag/IcyMetadataParser: use std::span
2023-12-21 08:42:23 +01:00
Max Kellermann
58fc857a2d
tag/IcyMetadataParser: pass std::string_view to icy_parse_tag()
2023-12-20 20:18:39 +01:00
Max Kellermann
e443ee357a
tag/IcyMetadataParser: do not null-terminate strings in icy_parse_tag()
...
Just pass std::string_views into the unmodified buffer to
icy_parse_tag_item().
2023-12-20 19:58:35 +01:00
Max Kellermann
2618294eb7
tag/IcyMetadataParser: pass std::string_view to icy_parse_tag_item()
2023-12-20 19:51:22 +01:00
Max Kellermann
03352cb4ad
tag/IcyMetadataParser: use std::byte in ParseInPlace()
2023-12-20 19:49:08 +01:00
Max Kellermann
303d981099
subprojects: add lame
2023-12-20 16:50:13 +01:00
Max Kellermann
7727630f24
Merge branch 'alsa_input_exception' of https://github.com/borine/MPD
2023-12-20 13:21:37 +01:00
Colin Edwards
16c91a3f4b
android: Fix MPD shutdown from settings UI
2023-12-19 22:05:03 -06:00
Max Kellermann
dfef30a737
subprojects: add curl
2023-12-11 10:53:43 +01:00
Max Kellermann
642de1510b
lib/curl/Request: remove redundant CurlEasy wrapper methods
2023-12-09 20:54:21 +01:00
borine
f61eed1a82
input/plugins/Alsa: catch all exceptions
...
snd_pcm_poll_descriptors_revents() may return any error code; the
ALSA docs do not constrain the permitted values. A 'hw' device
will only ever return an error if the pfd array passed in is
invalid (-EINVAL), but other I/O plugins may return arbitary
errors. For example a network-based device may return -EPIPE etc.
The resulting exception thrown by
AlsaNonBlockPcm::DispatchSockets() must be caught to prevent the
mpd process from being aborted.
2023-11-26 15:36:42 +00:00
Max Kellermann
e9c40dead8
output/SharedPipeConsumer: add noexcept
2023-11-26 08:48:45 +01:00
Max Kellermann
31bf6d29b9
BulkEdit: forbid copying
2023-11-26 08:47:06 +01:00
Max Kellermann
571b6f0cdb
queue/IdTable: add constexpr
(because we can)
2023-11-26 08:43:50 +01:00
Max Kellermann
e7b9e8de14
queue/IdTable: add API docs
2023-11-26 08:43:20 +01:00
Max Kellermann
321553d5f9
queue/IdTable: add explicit
2023-11-26 08:41:57 +01:00
Max Kellermann
4d23068c5c
queue/IdTable: use C++11 initializer
2023-11-26 08:41:19 +01:00
Max Kellermann
634b38169a
Merge branch 'alsa_input_buffer' of https://github.com/borine/MPD
2023-11-26 08:24:51 +01:00
Max Kellermann
fe4695f92a
Merge branch 'added_time_proxy_plugin' of https://github.com/jcorporation/MPD
2023-11-26 08:20:18 +01:00
Max Kellermann
3c7941b24b
Instance: work around -Wunused-parameter
2023-11-26 08:13:57 +01:00
Max Kellermann
a5d7f5e1fa
client/Client: add interface IClient
...
This allows detangling dependencies and fixes a linker problem in
test/test_translate_song.cxx.
2023-11-26 08:11:06 +01:00
Max Kellermann
0dfd7e3d8c
net/SocketDescriptor: SO_PROTOCOL is really Linux-specific
2023-11-25 23:03:30 +01:00
Max Kellermann
f757dfdc4f
SongLoader: add noexcept
2023-11-25 22:57:24 +01:00
Max Kellermann
eb675ad1b1
pcm/meson.build: add missing dependency on libconfig.a
2023-11-25 22:51:43 +01:00
Max Kellermann
08a5768764
fs/io/TextFile: split into class FileLineReader and AutoGunzipFileLineReader
...
Detangle dependencies.
2023-11-25 22:50:32 +01:00
Max Kellermann
d888bb1902
io/meson.build: move libfmt dependency to libio.a
2023-11-25 22:16:47 +01:00
Max Kellermann
6dc708f53f
net/SocketDescriptor: use method GetOption() internally
2023-11-25 21:58:17 +01:00
Max Kellermann
60033f3eb4
net/SocketDescriptor: add method GetProtocol()
2023-11-25 21:58:09 +01:00
Max Kellermann
1239e075b8
net/SocketDescriptor: add method GetIntOption()
2023-11-25 21:56:07 +01:00
Max Kellermann
d0eea87b1a
song/*SongFilter: use libfmt
2023-11-25 20:42:50 +01:00
Max Kellermann
273fc329e0
Merge branch 'added-since' of https://github.com/jcorporation/MPD
2023-11-25 20:36:38 +01:00
Max Kellermann
b9daeef524
event/FineTimerEvent: add SetDue(), ScheduleCurrent()
2023-11-21 20:47:29 +01:00
Max Kellermann
9383ceac30
event/{Coarse,Fine}TimerEvent: add API docs
2023-11-21 20:47:25 +01:00
Max Kellermann
ebf1fc7ca4
util/IntrusiveList: convert static_assert to concept check
2023-11-21 20:42:01 +01:00
Max Kellermann
73708e7be7
event/TimerEvent: remove transitional header
2023-11-21 20:41:55 +01:00
Max Kellermann
0c409aa290
input/LastInputStream: use CoarseTimerEvent
2023-11-21 20:41:47 +01:00
Max Kellermann
edfa329e64
util/DereferenceIterator: use *declval() to guess the default value type
...
This allows the iterator to point to another iterator.
2023-11-21 20:40:47 +01:00
Max Kellermann
5ab2c31500
Merge branch 'v0.23.x'
2023-11-21 20:37:46 +01:00