Dopamine für Windows 10: Ein Musikplayer, wie er sein sollte
Dopamine ist ein minimalistischer MP3-Player unter Windows, vertrieben als Open Source, der auch vor großen Sammlungen nicht zurückschreckt.
Musik-Apps für Smartphones unter Android und iOS gibt es gefühlte drölfzig Millionen. Die meisten davon sind aber relativer Schrott oder versuchen, den Usern Malware unterzujubeln. Hier muss man also schauen, dass man die Spreu vom Weizen trennt.
Unter Windows, das deutlich ältere Betriebssystem, sieht das erstaunlicherweise ganz anders aus. Die Älteren von uns werden sich zwar noch an die glorreichen Zeiten von Winamp erinnern, dessen derzeitiger Besitzer Radionomy seit 2018 einen sehr langen neuen Anlauf für eine neue Version 6 nimmt (Version 5.8 ist bereits stattliche sechs Jahre alt). Aber die guten Musikspieler für Windows 10 und höher kann man tatsächlich an einer Hand abzählen, wenn man die Streaming-Apps wie Spotify und Co. abzieht - und alle eierlegenden Wollmilchsäue, die auch MP3 abspielen können.
Die bekanntesten sind der in Windows enthaltene und kläglich gescheiterte iTunes-Klon von Microsoft namens Groove, AIMP, Foobar2000, Mediamonkey und Musicbee. Manch ein Nostalgiker mag auch den guten alten Windows Media Player hinzuzählen, der es trotz Groove geschafft hat, im Netz zu überleben.
Wenn man sich die Downloadseiten dieser Musikspieler so anschaut und versucht, hinter das Geschäftsmodell zu blicken, bleibt allein deswegen bei so manchem von ihnen der Download aus. Auch übertreibt es der eine oder andere Player mit der Featuritis. Zur Musik hüpfende Bälle oder Balken sind längst überholte Gimmicks, wo es doch eigentlich nur darum geht, Musik zu hören.
Das sah der belgische Software-Entwickler Raphaël Godart vor etlichen Jahren wohl ähnlich, als er sich anschickte, einen eigenen Player für lokale MP3-Sammlungen auf den Markt zu bringen. Das hört sich in diesem Fall falsch kommerziell an, denn sein Player Dopamine ist frei auf Github verfügbar und Open Source unter GPL-3.0-Lizenz. Er spielt unter einer schlichten und einfachen, aber trotzdem schicken Oberfläche Musik ab. Punkt. Alles, was das Musikliebhaberherz aber so grundsätzlich begehrt, ist vorhanden:
- automatisches Einlesen eines zu Beginn konfigurierten Ordners
- Anzeige der Sammlung nach Interpreten, Genre, Alben, Titel oder Ordner
- Verwaltung von Wiedergabelisten
- helles und dunkles Theme, inklusive Festlegen der Akzentfarbe
- Oberfläche in 30 Sprachen
- Integration in Task- und Benachrichtigungsleiste
- automatische Updates
Das Design der Anwendung überzeugt augenblicklich. Alles ist aufs Nötigste beschränkt, es gibt eine Akzentfarbe und eine Menge Weiß- und Grauraum, damit sich nicht nur das Ohr ob der Musik, sondern auch das Auge wohlfühlt - und das alles bei einer sehr guten Geschwindigkeit und nett animierten Übergängen von einer Ansicht in eine andere.
Neben der Grundfähigkeit, MP3-Dateien abzuspielen, hat der Autor auch eine rudimentäre, aber gut funktionierende Bearbeitungsfunktion der MP3-Metadaten eingebaut. Zudem werden etwaige Sternchenvergaben oder hinzugefügte Liedtexte direkt in der Datei und nicht nur in der dahinterstehenden SQLite-Datenbank abgelegt.
Ein paar sinnvolle Dinge aus der Abteilung Featuritis hat Godart allerdings auch in seinem Programm untergebracht: Es lädt Infos von Last.fm zum aktuell gespielten Interpreten nach und man kann dorthin scrobbeln, wenn man mag. Zudem durchforstet es einige Lyric-Sammlungen nach dem Liedtext, was aber leider selten funktioniert.
Ziemlich einzigartig ist eines der zuletzt hinzugefügten Features: eine Blacklist! Ja, so manches Album eines Lieblingsmusikers enthält ein Stück, das er sich besser gespart hätte. Solche Stücke lassen sich nun gezielt ausblenden.
Die Weiterentwicklung von Dopamine
Neue Releases von Dopamine 2 kommen seit Version 2.0.8 nicht mehr ganz so häufig wie früher, da das Programm im Grunde ausentwickelt ist und Godart nur kleinere Features, Übersetzungen und Bugfixes nachschiebt. Stattdessen hat er vier Jahre nach der Veröffentlichung der ersten Version vor zwei Jahren mit der Version 3 eine vollkommene Neuentwicklung in Angriff genommen.
Wo Dopamine bis Version 2 mit Microsoft C# und WPF (Windows Presentation Foundation) entwickelt wurde, wird die neueste auf Electron, Angular and Typescript basieren, also verpackte Web-Technik (HTML, CSS und Javascript) für alle Betriebssysteme und nicht nur Windows. Aktuell ist Godart bei Preview 10 angelangt, die bei weitem noch nicht den Umfang der Vorgängerversion hat, aber bereits stabil läuft.
Musik in der Cloud
Wer unterwegs ist und die eigene Musik auf einem Clouddienst wie Onedrive von Microsoft abgelegt hat, achtet vielleicht darauf, dass auf ein damit verbundenes Gerät nicht die komplette Sammlung heruntergeladen wird, sondern nur ausgewählte Teile, um lokalen Speicherplatz zu sparen. Microsoft macht es den Benutzern da einfach: Es zeigt alle Onedrive-Dateien im Windows Explorer mit 0 Byte benötigtem Speicherplatz an und lädt sie erst dann herunter, wenn auf sie zugegriffen wird oder wenn Nutzer im Kontextmenü eines Ordners Immer auf diesem Gerät beibehalten auswählen.
Das funktioniert mit Dopamine 2 ganz wunderbar. Es ignoriert mit Unterstützung von C# und dem Betriebssystem beim Scannen des festgelegten Musikordners einfach alle Dateien, die nicht auf der Platte real verfügbar sind. Dopamine 3 hingegen, in dem der Scan über Node.js und die Methode fs.readdir() stattfinden muss, triggert dabei sofort die Downloadfunktion von Onedrive und man spült sich ungewollt die Platte voll.
Kuriosität am Rande
Godarts C#/WPF-Lösung ist im installierten Zustand 76 MByte groß, davon sind 2,5 MByte für die Executable. Die neue Electron-basierte Lösung unter Windows hat allerdings schon 302 MByte, wobei die EXE satte 128 MByte groß ist. Schaut man sich die Codebasis an, wird das noch augenfälliger: Kommt die reine Windows-Variante mit 760 Dateien daher, sind es in der neuen Electron-Version nach Ausführung von npm install bereits 86.092 Dateien in 7.948 Ordnern mit einem Gesamtgewicht von knapp einem Gigabyte.
Da sieht man einmal mehr, dass Plattformunabhängigkeit in der schönen neuen Node.JS-Welt nicht selten mit Schwergewichtigkeit erkauft wird. Das liegt vor allem an der Notwendigkeit (oder Unart, je nachdem, wie man es sieht), Zigtausende abhängige Bibliotheken (Dependencies) mitzuschleppen, die vereinzelt nur einen String auf eine bestimmte Breite bringen oder etwas ähnlich Triviales. Von den Problemen mit depublizierten oder Malware-verseuchten Dependencies, die in letzter Zeit weite Teile der Community in Aufregung versetzt haben, ganz zu schweigen.
Fazit
Dopamine 2 ist ein wirklich fantastischer Musikplayer für Windows, der die meisten anderen aufgrund der Simplizität und gelungenen Oberfläche in den Schatten stellt. Mal sehen, ob Godard es schafft, mit der Version 3 und Electron etwas Ähnliches hinzubekommen. Eine Herausforderung ist es allemal, aber darauf scheint er als Vollblutentwickler zu stehen. Chapeau, Raphaël!
Kristof Zerbe arbeitet seit über 25 Jahren in der IT in unterschiedlichsten Rollen wie Freelancer, Administrator, Datenbankentwickler, Coach, Web-Entwickler, Architekt, Devops-Engineer, Analyst, Team-Lead sowie aktuell IT-Manager und Führungskraft. Seine technologischen Schwerpunkte sind Web und Microsoft.