Commit Graph

18460 Commits

Author SHA1 Message Date
Max Kellermann 7a40ac52a8 Merge branch 'bottombar' of https://github.com/DDRBoxman/MPD 2024-01-18 09:59:48 +01:00
Max Kellermann 6352d1b1ca Merge branch 'sdkcheck' of https://github.com/DDRBoxman/MPD 2024-01-18 09:59:17 +01:00
Max Kellermann c93fc161dc Merge branch 'next_prev_fix' of https://github.com/DDRBoxman/MPD 2024-01-18 09:58:39 +01:00
Colin Edwards 5b7de2bc2f android: Refactor settings UI into screens and add a bottom bar.
This puts Status, logs, and settings all on different tabs. This gives us plenty more room to work to improve these views going forward
2024-01-18 01:23:31 -06:00
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