Commit graph

25 commits

Author SHA1 Message Date
b67f92bc13
all: use BINDABLE only with trivial setters
Fixes various bugs caused by the QML engine bypassing setters
when BINDABLE is specified (even if the bindable is const).
Also restructures all properties using BINDABLE to have
a default READ and WRITE to ensure this doesn't happen again.
2025-05-29 16:08:39 -07:00
6026c4ce27
service/mpris: expose dbus service name 2025-05-18 12:33:43 -07:00
d1a172751d
service/mpris: hack around more non-compliant players
Mpris is currently winning the competition for least compliant clients.
2025-02-21 02:38:12 -08:00
761d99d644
service/mpris: reset position timestamps on seek
Moving the onPositionUpdated callback to a bpPosition binding caused
it not to fire when Position was changed to the same value, which can
happen when quickly changing tracks before the player has sent a new
position.

This reverts the above change while still updating position on seek.
2025-01-05 01:55:33 -08:00
66b9917e70
service/mpris: trigger onPositionUpdated when seeking 2025-01-01 19:56:51 -08:00
2571766d3b
all: fix clang 18 lints 2024-11-24 03:36:04 -08:00
324fe9274d
all: remove unused dbus props and warnings for non-required ones 2024-11-21 19:45:45 -08:00
d4deb11216
dbus/properties: support data transformation/validation before store 2024-11-21 03:28:33 -08:00
abb900b7ff
service/mpris!: do not provide fallback track information
See the [!TIP] messages for more information.
2024-11-20 19:58:57 -08:00
e2ef7b7982
service/mpris: add isPlaying 2024-11-20 19:52:11 -08:00
db9e633197
service/mpris: adopt bindable properties 2024-11-20 19:31:40 -08:00
dca75b7d6a
service/mpris: clarify trackinfo emit order and use QBindings 2024-11-20 00:52:47 -08:00
8450543e09
service/mpris!: convert trackArtists from list<string> to string
Most people treat it as a string already, which breaks in Qt 6.8,
and I have not seen a meaningful multi-artist response.
2024-11-19 18:28:19 -08:00
cdeec6ee83
all: use fully qualified type names in signals and invokables
Further fixes qmllint/qmlls
2024-11-01 21:10:21 -07:00
746b0e70d7
all: use fully qualified type names in Q_PROPERTY
Fixes type deduction issues with qmllint/qmlls.
2024-11-01 01:43:22 -07:00
ba1e535f9c
core/util: add experimental member macros
An experiment that should reduce boilerplate for properties that just
access a backing value. Code also exists for using it as an interface
for other properties as well, but isn't currently in use.
2024-07-30 20:23:57 -07:00
abc0201f6e
service/mpris: add uniqueId property to detect track changes
Also emits all property changes after trackChanged
2024-07-29 01:34:44 -07:00
a9e4720fae
docs: use new member reference shorthand 2024-07-21 17:41:49 -07:00
d8fa9e7bb3
service/mpris: add properties for common track metadata
This was done to work around bad player implementations sending weird
metadata, such as removing the art url halfway through a song.
2024-06-21 19:03:40 -07:00
c56a3ec966
service/mpris: add shorthand for playback state changes 2024-06-21 16:31:02 -07:00
06240ccf80
service/mpris: improve compatibility with noncompliant players 2024-05-23 18:15:49 -07:00
ac339cb23b
service/mpris: expose desktopEntry property 2024-05-22 05:40:03 -07:00
ed3708f5cb
service/mpris: add trackChanged signal 2024-05-21 05:07:24 -07:00
4ee9ac7f7c
service/mpris: finish mpris implementation 2024-05-21 04:09:19 -07:00
3b6d1c3bd8
feat: mpris 2024-05-21 04:09:19 -07:00