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
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
4eefc2e47c
test/DumpDatabase: add "URI" parameter
2024-01-04 15:37:10 +01:00
Max Kellermann
7c13666226
test/DumpDatabase: remove the "PLUGIN" parameter, load from config file
2024-01-04 15:36:18 +01:00
Max Kellermann
4ed8313954
test/DumpDatabase: use libfmt
2024-01-04 15:32:26 +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
afa77099cf
msys2 CI
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-04 12:49:43 +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
Max Kellermann
26831a417a
subproject: update expat to 2.5.0-4
2024-01-04 09:49:10 +01:00
Max Kellermann
6293818c35
subproject: update fmt to 10.2.0-1
2024-01-04 09:49:09 +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
13202bfce4
test: neighbor_explorer: fix compilation on WIN32
...
Need NarrowPath. Matches what is done in other tests.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-31 15:38:49 -08:00
Rosen Penev
f3d031b38a
libnpupnp: update subproject
...
Fixes compilation under Windows.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-31 13:58:10 -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
09a0f7a45c
Merge branch 'android_fix' of https://github.com/DDRBoxman/MPD
2023-12-28 21:02:49 +01:00
Max Kellermann
9396ffb509
db/plugins/upnp/ContentDirectoryService: add missing closing curly brace
2023-12-28 20:52:53 +01:00
Max Kellermann
66a8afd18c
subprojects: add libnpupnp
2023-12-28 20:51:13 +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
Colin Edwards
201e081750
android: Fix boot receiver settings and intent check
2023-12-27 13:38:38 -06:00
Colin Edwards
5f7f1d738d
android: set kotlin target to 9
...
The naming scheme was changed in kotlin but not java after java 8
2023-12-27 13:34:37 -06:00
Colin Edwards
8a3d144714
android: Set kotlin jvm target to 1.9
2023-12-27 13:27:02 -06:00
Rosen Penev
44080154b0
no setenv on Windows
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-12-27 10:50:00 -08:00
Max Kellermann
c17493f2d3
Merge branch 'fs' of https://github.com/neheb/MPD
2023-12-27 12:38:30 +01:00
Max Kellermann
dcfc1ca6a0
Merge branch 'doc-time-case' of https://github.com/naglis/MPD
2023-12-27 12:37:58 +01:00
Max Kellermann
07e1bae0af
Merge branch 'doc-config-comments' of https://github.com/naglis/MPD
2023-12-27 12:35:32 +01:00
Max Kellermann
658a7f1ca7
Merge branch 'material' of https://github.com/DDRBoxman/MPD
2023-12-27 12:35:13 +01:00
Max Kellermann
bd408cd627
Merge branch 'bootfix' of https://github.com/DDRBoxman/MPD
2023-12-27 12:33:14 +01: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
naglis
07ee11b963
doc/protocol.rst: fix time tag case
...
The `Time` song tag starts with an uppercase letter.
2023-12-26 10:51:34 +02:00
Colin Edwards
a4c7041561
subprojects: properly export id3tag include headers
...
According to the Makefile.am from libid3 only i3dtag.h should be installed to the include directory.
include_HEADERS = id3tag.h
2023-12-24 11:31:29 -06:00