The full D-Bus bus name (e.g. "org.mpris.MediaPlayer2.spotify").
Whether the player can advance to the next track.
Whether the player can go to the previous track.
Whether the player can start playback.
Local file path of the cached cover art image.
Desktop entry identifier from the MPRIS interface.
Human-readable player identity string.
Check if service has been disposed
Track length in seconds (-1 if unknown).
Current loop status: "None", "Track", "Playlist", or null if unsupported.
Raw MPRIS metadata dictionary.
Short player name extracted from the bus name.
Current playback status: "Playing", "Paused", or "Stopped".
Current playback position in seconds (-1 if unavailable).
Sets the playback position in seconds.
Current shuffle status (true/false/null if unsupported).
Current track album name.
List of track artist names.
URL of the track's cover art.
Current track title.
The MPRIS track ID.
Player volume level (0.0-1.0, or -1 if unavailable).
Creates a Binding for a property on this service.
The property to bind
A Binding that can be used in widget constructors
Notifies listeners that a property changed and emits the 'changed' signal.
The property name that changed
Connects a callback to a signal on this service.
The signal name (defaults to 'changed')
The callback to invoke when the signal is emitted
The signal connection ID
Creates an incremental list binding that reuses existing widgets.
Instead of recreating all widgets on every update, this method caches widgets by a key function and only creates new widgets for new items, destroying widgets for removed items.
A Binding that produces an array of widgets
ProtecteddisconnectClean up all tracked signal connections Call this in service-specific dispose implementations
Dispose of service resources Override in subclasses to add specific cleanup
Emits a signal, warning if the signal was not registered via Service.register.
The warning is cheap (a Set lookup per emit) and helps catch typos
and missing signal declarations that silently break .bind().
ReadonlyloopCycles loop status through None -> Track -> Playlist -> None.
ReadonlynextAdvances to the next track.
ReadonlyplayStarts playback.
ReadonlyplayToggles between play and pause.
ReadonlypreviousReturns to the previous track.
ProtectedretryReadonlyshuffleToggles shuffle mode.
ReadonlystopStops playback.
ProtectedtrackTrack a signal connection for automatic cleanup
The object the signal is connected to (defaults to this)
The signal connection ID
Track a signal connection for automatic cleanup
The signal connection ID
Updates a property value and emits a notify signal if the value changed.
Performs a deep equality check via JSON serialization to avoid unnecessary notifications.
The property name in kebab-case
The new value
StaticimportStaticpspecStaticregister
MPRIS Player
Represents a single MPRIS-compatible media player on the session bus.
Lifecycle:
Fires
closed - Emitted when player disappears from bus
Fires
position - Emitted when position is set
Fires
changed - Emitted when player state changes