Een Geanimeerde Desktop Mediaspeler voor Wayland
Veel desktop-muziekwidgets zijn log, leunen op zware webtechnologieën of missen karakter. CapyPlayer is een lichte, native desktopwidget gebouwd in Rust en Slint die interactieve, aanpasbare muziekspelers rechtstreeks naar je Linux-bureaublad brengt.
Of je nu muziek afspeelt via Spotify, Firefox of een lokale audiospeler, CapyPlayer synchroniseert live met je mediasessies om afspeelstatussen, draaiende vinyl-animaties en realtime audiospectra weer te geven.
Belangrijkste Pijlers & Mogelijkheden
1. De capy-mpris Engine
Onder de motorkap wordt CapyPlayer aangedreven door capy-mpris, een zelfstandige, performante Rust-crate gebouwd op zbus. Deze beheert Linux-mediasessies met:
- Efficiënt Resourcebeheer: Maakt gebruik van één enkele persistente D-Bus verbinding in plaats van herhaalde processen op te starten.
- Vloeiende Tijdsinterpolatie: Berekent de voortgang van nummers vloeiend aan de client-zijde zonder de mediaspeler continu te belasten met statusverzoeken.
- Slimme Spelerprioritering: Schakelt automatisch over naar de actieve bron wanneer je wisselt tussen bijvoorbeeld Spotify en een browser-tabblad.
- Herbruikbare Bibliotheek: Ontworpen als een losstaande crate die ook gebruikt kan worden in taakbalken, statusbalken of CLI-tools.
2. Modulaire, Geanimeerde Vinyl-skins
CapyPlayer bevat verschillende visuele thema’s voor elke desktop-indeling:
- Realistische Platenspeler: Een nostalgische draaitafel met een ronddraaiende vinylplaat en mediaknoppen.
- Compacte Platenspeler: Een slank, verticaal ontwerp, ideaal voor zijbalken of kleinere beeldschermen.
- Vinyl Kaart: Een moderne horizontale kaart met nummerinformatie, albumhoes en een ingebouwde audio-visualizer.
3. Dynamische Kleurextractie & Aanpasbare Stijl
De widget analyseert automatisch de dominante kleuren van de huidige albumhoes. De achtergrondgloed, accentkleuren en interface-elementen passen hun kleurenpalet automatisch aan bij elk nieuw nummer.
4. Native Wayland- & Bureaubladintegratie
- Layer-Shell Ondersteuning: Integreert naadloos als bureaubladlaag binnen moderne Wayland-compositors (zoals Hyprland, Niri, Sway en River).
- Vloeiende CAVA Visualizer: Toont realtime frequentiebalken en audio-animaties rechtstreeks op de kaart.
5. Hot-Reloading Configuratie
Wissel direct van skin of pas instellingen aan in ~/.config/capy-player/config.toml — wijzigingen worden onmiddellijk toegepast zonder de applicatie opnieuw te moeten opstarten.
Gebruikte Technologieën
- UI Toolkit: Slint UI (gecompileerde native GUI).
- Programmeertaal: Rust.
- Media & D-Bus:
capy-mpris(eigen standalone crate op basis vanzbus). - Bureaubladprotocol: Wayland Layer-Shell (via
spell-framework). - Audio-visualisatie: CAVA audio spectrum processor.
