Cover Images Support für aktuelle AudioLib

Seit einigen Monaten (so genau weiß ich das nicht), gibt es keinen Cover Images Support mehr in ESPuino, weil dieser in der AudioLib geändert wurde.

Dort werden die notwendigen Informationen jetzt über Callbacks übergeben, wenn ich das richtig verstehe. Das gilt wohl auch für alle anderen Audio Informationen, die ESPuino jetzt anders bekommt, d.h. die Funktionalität wie z.B. von
audio_info()
audio_id3data()
audio_showstation()
audio_showstreamtitle()
und einiges andere mehr geht nicht mehr und müsste ebenfalls angepasst werden. Das ist auch der Grund, wieso in ESPuino seit einigen Monaten nicht mehr der Trackname sondern nur noch der Pfad angezeigt wird, auch im Webradio werden keinerlei Informationen mehr angezeigt.

Das müsste sich also mal jemand komplett hernehmen und konsistent auf die neue AudioLib anpassen, dass es aus einem Guss kommt, am besten jemand der gut programmieren kann (wozu ich nicht gehöre).

Trotzdem möchte ich euch meine Anpassung zur Verfügung stellen, mit der ausschließlich Cover Images wieder angezeigt werden:

Vielleicht kann man das auch viel besser machen. Ich habe so wenig Ahnung, dass ich noch nicht mal wusste, ob ich die Änderungen besser in main.cpp anlege oder in AudioPlayer.cpp, hier die selbe Änderung, wenn man sie in AudioPlayer.cpp wünscht:

Das läuft dann so wie früher. Allerdings: Wenn man die AudioLib auf einen aktuelleren Stand als den gewählten b838c3c vom 12.10.2025 setzt bekomme ich einen async_tcp watchdog error.

task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
task_wdt: - async_tcp (CPU 0)

Könnt ihr das nachvollziehen und was hat das mit den Änderungen in der AudioLib zu tun? Weiß das jemand, ich möchte Wolle nicht schon wieder anschreiben (er hat die letzte Woche einiges bzgl verbessertem Cover Image Support umgesetzt).

Ich bin derzeit privat sehr eingespannt, dachte aber ich schreibe es mal kurz hier rein, da bereits nach dem fehlenden Cover Image Support gefragt wurde: Fehler beim Build in VSC : Initialized empty Git repository - #13 von compactflash

Das ist auf jeden Fall die bessere Variante. Die main.cpp wollen wir schlank halten.

Ok, muss man sich dann anschauen. Technischer Hintergrund ist, dass Programmiercode nicht zu viel Rechenzeit beanspruchen darf, da sondern interne Verwaltungsaufgaben zu kurz kommen. Man kann den Code bisschen mit task-Delays füttern, was wir teilweise auch tun, damit es zu solchen Fehlern nicht kommt.

Ich werde die Anpassung die Tage mal testen. Danke für deine Bereitstellung.

Also funktionieren tut die Anpassung auf jeden Fall, ich habe jetzt aber nicht kontrolliert, ob du die ganzen Hashes auf exakt die alte Version (außer Audiolib) gepinnt hast.

Habe die Hashes von hier übernommen:

Aber ehrlich gesagt nur nach Augenmaß überrpüft.

Ich habe die Probleme gefunden, sowohl bei flac als auch bei ogg werden durch die Audio Lib nun andere cover startpositionen übergeben, das passe ich an. Frage aber gerade nochmal bei wolle nach, ob die Änderung bei ogg so gewollt ist, oder nicht eher als Fehler bei den Anpassungen in den letzten Tagen unterlaufen ist. Wenn alles abgeklärt und angepasst wurde stelle ich hier nochmal einen aktualisierten Commit rein.

Ich habe meinen Commit aktualisiert und nicht nur die Cover Images wieder anzeigen lassen, sondern auch die Callback Funktion fertig implementiert. Dies löst gleichzeitig den timeout Fehler am Ende jeder Datei.
Wolle hat in den letzten Wochen sehr viel an der Bibliothek gemacht, es sind jetzt z.B. Sprünge in OGG/Opus möglich (perfekt für Hörbücher), besseres FLAC-Seeking, deutlich mehr abspielbare OGG/Opus-Dateien, es können ebenfalls mehr OGG und Opus Cover angezeigt werden, es gab auch bei mp3 Cover Verbesserungen.
Vielen Dank dafür @Wolle

Hier der Commit:

Gern kann ich auch einen PR dazu machen.

2 „Gefällt mir“

Gerne einen PR dazu. Zumindest aus meiner Sicht sollten wir das in den dev bringen und weiter testen / verwenden…

1 „Gefällt mir“

OK, habe ich gemacht.

1 „Gefällt mir“

Schaffe es vermutlich erst am WE, das zu testen. Melde mich.

Also zumindest für mp3 sieht’s für mich grundsätzlich ok aus.
Jedoch springt die Anzeige im Webinterface bei der Anzeige des Cover Images manchmal. Also ich habe im abgespielten Ordner offenbar (*) Files, die ein Cover Image besitzen und andere nicht. Ist das Image da, dann wird’s angezeigt. Aber bei den Anderen wird manchmal die Wolke angezeigt und manchmal verschwindet das komplette Bild, so dass die Steuerelemente nach oben rutschen. Ich werde nochmal schauen, ob ich was rausfinde, ob’s da ein Muster gibt, wann das passiert.

ogg und opus sollte von Leuten getestet werden, die das auch regulär verwenden. Haben wir da wen? :slight_smile:

(*) Ich persönlich arbeite weiterhin 90er-mäßig nur mit Ordnerstrukturen und achte im Normalbetrieb nicht drauf, ob die Files ID3-Tags und/oder Cover Images besitzen. Insofern herrscht bei mir diesbzgl. vermutlich kompletter Wildwuchs.

mmh, komisch, ich habe zwei Hypothesen:

  • webui hängt zwischen noch am Leben und nicht mehr da (kann es leider nicht besser erklären, aber dieses halblebende Verhalten kommt manchmal vor), aktualisiere mal die Seite, z.B. mit F5
  • wenn es immer beim selben mp3 ist: das mp3 hat ein Cover, was von der audiolib (noch) nicht unterstützt wird. Falls ja, kannst du es mir gern mal zum Testen zukommen lassen

Sollte bei files nicht die beiden Achtel-Noten angezeigt werden? Rufst du die files über eine M3U Playlist auf? Das habe ich in der Tat noch nicht getestet, das Verhalten dürfte dann aber früher genauso gewesen sein.

Ja das schaue ich mir nochmal an. Hab das vorhin nur kurz nebenbei gemacht.

Ja weiß nicht mehr. Ich hab da schon Wolken und Noten gesehen. Am End auch wurscht, es ist nur unschön, wenn das Seitenlayout zusammenklappt. Warum das so ist, hab ich mir bisher nicht angeschaut.

Nee. Ich habe nen Ordner mit vielleicht 50 Files und den starte ich einfach aus dem Webinterface raus. Ergo eine normale Playlist ohne Hörbuch-Funktion.

Ok, da sollten dann auf jeden Fall Noten und keine Wolken folgen.