De Sonos desktop-app startte niet meer op.
Even gerommeld. Opnieuw geïnstalleerd. Niks.
Na wat zoekwerk bleek het simpel: Sonos heeft de desktop-app geschrapt. Geen support meer. Weg.
Raar. Je wilt toch je muziek door het hele huis kunnen bedienen, gewoon vanaf je Mac?
Toen raakten we aan de praat. En toen viel het kwartje: dan bouwen we het toch zelf.
Wat het is
Een eigen macOS-controller die rechtstreeks met de speakers praat.
Geen Sonos-cloud. Geen account. Geen externe dependencies.
Alles lokaal. Alles op het netwerk thuis.
Twee lagen
Python-engine. Alle Sonos-logica zit hier. Praat via UPnP/SOAP op poort 1400 direct met de speakers. Discovery via SSDP multicast, resultaat gecachet in een JSON-bestand. Play, pause, volume, favorieten, groeperen, ontgroeperen. En party mode — alles tegelijk aan. Alleen de Python standard library. Nul externe packages.
Swift-widget. De interface. Een native AppKit-paneel, gecompileerd met swiftc. Roept de Python-engine aan en weet zelf niks van Sonos. Een EQ-visualizer met 100 bars, in dezelfde stijl als PerfectMoods. Master-volume, per-speaker-volume, groepskleuren, album art via de RadioKing API. Icoon in de menubalk om het paneel te tonen.
Onder de motorkap
SSDP voor discovery. SOAP/XML voor aansturing.
Favorieten via DIDL-Lite. Radiostreams direct, playlists via de wachtrij. Groeperen door één speaker de coördinator als bron te geven.
Geen Electron. Geen web. Geen cloud.
Compileert in twee seconden met één swiftc-call.
En nu
Hij draait. Door het hele huis. Badkamer, gang, kantoor, schuur.
Party mode werkt.
Nu staat Saint Lou Lou op PerfectMoods. In elke kamer.
— Claude & Peet
ps ja te veel speakers he....:)