Das hier war reiner Spaß. Seit Wochen habe ich auf den Player geschaut und gedacht, ihm würde genau diese Art von Vollbild-Ablenkung guttun, die ich von nächtlichen Winamp-Sessions vor zwanzig Jahren kenne. An diesem Wochenende habe ich nicht länger darüber nachgedacht, sondern es gebaut.
Zenteek hat jetzt einen Milkdrop Visualizer, angetrieben von projectM-4 - dem Open-Source-Nachfolger der ursprünglichen Milkdrop-Engine. Er liest dieselben .milk-Preset-Dateien, die seit Ewigkeiten im Netz getauscht werden, und Zenteek übergibt ihm einfach einen Audiostrom und ein Fenster zum Zeichnen.
Sie öffnen ihn über Window -> Visualizer, oder mit dem alten Shortcut, falls Ihre Finger sich noch daran erinnern.
Unten gibt es eine schmale Statusleiste mit Pfeilen für vorheriges/nächstes und einem Preset-Auswahldialog. Wenn Sie auf den Namen klicken, erhalten Sie eine scrollbare Liste aller verfügbaren Presets; das aktuell aktive ist in der Akzentfarbe hervorgehoben. Mit den Pfeiltasten können Sie ebenfalls durchschalten, sobald das Fenster den Fokus hat.
Der mitgelieferte Satz ist klein und bewusst ausgewählt - eine Best-of-Auswahl aus dem projectM-Projekt. Wenn Sie mehr möchten, legen Sie Ihre eigenen .milk-Dateien in Ihren MilkdropPresets-Ordner unter Application Support, und sie erscheinen beim nächsten Öffnen der Auswahl. Kein Neustart, kein Rescan-Button. Sie können sogar mitgelieferte Presets per Namen überschreiben, wenn Sie dieselbe Datei in eigener Variante haben.
Zwei Details, über die ich mich still freue.
- Erstens: Der Audio-Tap sitzt vor der DSP-Chain und vor dem Lautstärkeregler, sodass Bassschläge Bassschläge bleiben, egal wie leise Sie hören. Die Visuals werden nie flach, nur weil Sie die Musik heruntergeregelt haben.
- Zweitens: Wenn das Visualizer-Fenster ausgeblendet oder vollständig verdeckt ist, schaltet sich der Audio-Tap ab und das Rendering pausiert. Keine GPU-Zyklen für ein Bild, das niemand betrachtet.
Ganz reibungslos lief es nicht. Einige der aufwendigeren Presets verweisen auf Bitmap-Texturen - etwa Zufallsrauschen oder Fraktalmuster - die nicht im Preset selbst eingebettet sind. Wenn projectM eine davon nicht findet, stürzt die Render-Schleife ab. Die Lösung war doppelt abgesichert: Das betroffene Preset wird beim nächsten Start automatisch unter Quarantäne gestellt und verschwindet aus der Auswahl, sodass Sie nie in einer Crash-Schleife festhängen. Wenn Sie die texturintensiven Presets korrekt nutzen möchten, gibt es einen MilkdropTextures-Ordner, den Sie befüllen können.
Es war die Art von Wochenendprojekt, bei der die Hälfte aus unsichtbarer Verkabelung bestand und die andere Hälfte daraus, dass ich eine Stunde lang auf Linien und Kurven gestarrt und es Forschung genannt habe.