RockHeaven.Gnome: GTK 4/libadwaita-speler naast de Qt-client #124

Merged
roelof merged 1 commit from gnome-player into main 2026-09-29 12:40:31 +02:00
Owner

Een tweede desktopspeler naast de Qt-client: Rust + GTK 4 / libadwaita, voor een GNOME-desktop.

Wat hij doet: aanmelden met een code (session.json gedeeld met Qt), de drie collectievormen (volumes, plat, albums), hervatten waar je was, collectie wisselen = stoppen en die collectie gepauzeerd klaarzetten, sterren per track en een minimum voor doorspelen, MPRIS (rockheaven-gnome), het artiestbeeld achter de tracklijst, spatie/Ctrl+pijlen.

Wat er nog niet in zit: cureren (bewerken, verwijderen, de run, het beheervenster). Dat blijft voorlopig de Qt-speler.

Gedeelde crates: rockheaven-client, -playback en -mpris worden via een pad uit RockHeaven.Qt/ gebruikt. Daarvoor zijn het voorkeurenbestand (PreferencesStore::named, hier gnome.json) en de MPRIS-naam (MprisIdentity) instelbaar gemaakt; de Qt-client geeft zijn eigen waarden mee en gedraagt zich verder hetzelfde (44 unit-tests groen).

Anders dan Qt: de wachtrij is een momentopname van de lijst waaruit je startte (zoals de root-CLAUDE.md het voorschrijft), en doorspelen slaat ook ontbrekende bestanden over.

CI: build-gnome.yml, tag gnome-v<n>, image ci-rust-gnome. Het padfilter noemt ook de drie gedeelde crates.

Getest: alleen cargo check/clippy (schoon), met pkg-config omzeild. Er was geen GTK op de ontwikkelmachine, dus de app heeft nog niet gedraaid. De eerste CI-run na de merge is de eerste echte build.

🤖 Generated with Claude Code

Een tweede desktopspeler naast de Qt-client: Rust + GTK 4 / libadwaita, voor een GNOME-desktop. **Wat hij doet:** aanmelden met een code (`session.json` gedeeld met Qt), de drie collectievormen (volumes, plat, albums), hervatten waar je was, collectie wisselen = stoppen en die collectie gepauzeerd klaarzetten, sterren per track en een minimum voor doorspelen, MPRIS (`rockheaven-gnome`), het artiestbeeld achter de tracklijst, spatie/Ctrl+pijlen. **Wat er nog niet in zit:** cureren (bewerken, verwijderen, de run, het beheervenster). Dat blijft voorlopig de Qt-speler. **Gedeelde crates:** `rockheaven-client`, `-playback` en `-mpris` worden via een pad uit `RockHeaven.Qt/` gebruikt. Daarvoor zijn het voorkeurenbestand (`PreferencesStore::named`, hier `gnome.json`) en de MPRIS-naam (`MprisIdentity`) instelbaar gemaakt; de Qt-client geeft zijn eigen waarden mee en gedraagt zich verder hetzelfde (44 unit-tests groen). **Anders dan Qt:** de wachtrij is een momentopname van de lijst waaruit je startte (zoals de root-`CLAUDE.md` het voorschrijft), en doorspelen slaat ook ontbrekende bestanden over. **CI:** `build-gnome.yml`, tag `gnome-v<n>`, image `ci-rust-gnome`. Het padfilter noemt ook de drie gedeelde crates. **Getest:** alleen `cargo check`/`clippy` (schoon), met pkg-config omzeild. Er was geen GTK op de ontwikkelmachine, dus de app heeft nog niet gedraaid. De eerste CI-run na de merge is de eerste echte build. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Luisteren, niet cureren: aanmelden, de drie collectievormen, hervatten,
sterren en minimum, MPRIS, achtergrondbeeld. Gebruikt de client-, playback-
en MPRIS-crates van RockHeaven.Qt via een pad; die krijgen daarvoor een
instelbaar voorkeurenbestand (PreferencesStore::named) en MprisIdentity.
Eigen workflow (gnome-v<n>), PKGBUILD en CI-image ci-rust-gnome.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
roelof merged commit f79962074f into main 2026-09-29 12:40:31 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
KavalirOS/RockHeaven!124
No description provided.