Commit Graph

18506 Commits

Author SHA1 Message Date
Colin Edwards
04ba7eb987 android: Use build tools and SDK 34
The gradle config for the app is already compiling with the 34 SDK
so lets bump it for the bridge build too
2024-01-17 23:55:01 -06:00
Colin Edwards
5a2267bdb4 Android: Look for license to verify Android SDK folder
The `android` command was depricated and has been removed from new installs of the sdk

The license file existing is about all that is stable between different sdk versions and
cli vs Android studio installs
2024-01-17 23:46:17 -06:00
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
380e0abbe4 python/build/libs.py: fix libopenmpt source path
Fixes regression by commit ea23ea28ce
2024-01-13 22:51:07 +01:00
Max Kellermann
e4cc89b2d9 Merge branch 'jg' of https://github.com/neheb/MPD 2024-01-13 22:38:34 +01:00
Max Kellermann
14dea04ee9 test/util: use unsigned integer literals for -Wsign-compare 2024-01-13 22:33:23 +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
85bca660d1 Merge branch 'update-failure-response-example' of https://github.com/naglis/MPD 2024-01-13 22:25:00 +01:00
Max Kellermann
87704f49c9 Merge branch 'NEWS-update' of https://github.com/mxjeff/MPD 2024-01-13 22:24:31 +01:00
Max Kellermann
9f9cbb8823 Merge branch 'logging' of https://github.com/DDRBoxman/MPD 2024-01-13 22:24:22 +01:00
kaliko
fa6ef6f1c7 Add NEWS entry about the switch to sphinx_rtd_theme
Change introduced in 6913148d99
2024-01-13 11:32:55 +01:00
naglis
db354f5e53 doc/protocol.rst: update failure response example
The commands in the example currently result in `ACK_ERROR_ARG`.
2024-01-10 21:03:26 +02: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
3711bd0d24 android: Implement basic media session handling for next and previous track
This starts a Media3 MediaSession when the service starts. A custom player class gets passed into that session to receive commands from other apps and the android os.

Currently we pad out some dummy items to make SimpleBasePlayer think we can do next and previous tracks.

MPD handles the threading for the native calls so we can just directly call the bridge from the player class.
2024-01-05 18:23:16 -06: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
Colin Edwards
324bd95c91 android: Move logging into it's own repository class.
Logs will be maintained and appended even when the main UI is not bound to the service.

This also lets us log without filling a Handler with a bunch of messages we might just throw away anyway.
2024-01-04 17:44:49 -06:00
Colin Edwards
5d122c3bc8 android: Add dependencies and new application class for dagger / hilt support
Dagger and hilt give us dependency injection which makes it easier to split up parts of the app. This lets us easily split out things like logging and paves the way to migrate off preferences to DataStore

This also remove the process name on the service to pull eveything into one process so we don't have to do IPC to pass logs around. This lets us use the same instances of injected classes between the UI and the service side.
2024-01-04 17:44:43 -06:00
Rosen Penev
8e123e7fc9 test: archive: fix compilation with Windows
NarrowPath is needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:25 -08: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
Rosen Penev
fb9194b537 tests: fix ChromaPrint test on Windows
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 14:22:24 -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