Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 40 lines 1.2 kB view raw
1"""01 — Basic playback. 2 3Inspect the current track, then either pause or resume based on state. 4Idempotent: run twice and it toggles between Playing and Paused. 5 6 uv run python examples/01_basic_playback.py 7""" 8 9from __future__ import annotations 10 11import asyncio 12 13from _client import create_client, fmt_time # type: ignore[import-not-found] 14 15from rockbox_sdk import PlaybackStatus 16 17 18async def main() -> None: 19 async with create_client() as client: 20 status = await client.playback.status() 21 print(f"Status: {status.name}") 22 23 track = await client.playback.current_track() 24 if track: 25 pct = round((track.elapsed / track.length) * 100) if track.length else 0 26 print(f"Now: {track.title}{track.artist}") 27 print(f" {fmt_time(track.elapsed)} / {fmt_time(track.length)} ({pct}%)") 28 else: 29 print("Nothing is playing.") 30 31 if status == PlaybackStatus.PLAYING: 32 await client.playback.pause() 33 print("→ paused") 34 elif status == PlaybackStatus.PAUSED: 35 await client.playback.resume() 36 print("→ resumed") 37 38 39if __name__ == "__main__": 40 asyncio.run(main())