Ich habe mir die Sache nun noch einmal genau angeschaut.
Vorweg: Das v3-Playerdesign, wo mAirList alles selbst gezeichnet hat, lässt sich nicht auf die neue Version portieren.
Wie ihr schon bemerkt habt, funktioniert das v4-Design mit verschiedenen “Streifen”, die übereinander liegen. Von oben nach unten sind das:
- Titel
- Interpret
- Player-Name + Zustand + Spielzeit
- Waveform
- Fortschrittsbalken
- Buttons
Diese Streifen werden jeweils mit der Delphi-Funktionalität “Align” ausgerichtet, die dafür sorgt, dass der zur Verfügung stehende Platz automatisch aufgeteilt wird: Titel und Interpret sind oben angeheftet (alTop), Waveform, Fortschrittsbalken und Buttons an der Unterkante (alBottom), und der Streifen mit dem Player-Namen, dem Zustand und der Spieltzeit nimmt einfach den restlichen Platz ein (alClient).
Das lässt sich wunderschön beobachten, wenn man den Layout-Designer öffnet und mit der Maus die Höhe des Players ändert.
Und damit ist auch das Problem klar: Wenn ich den Player so niedrig mache, dass kein Platz mehr für den Spielzeit-Streifen übrig bleibt, dann verschwindet er einfach. Er wandert auch nicht hinter andere Streifen, so dass man mit Transparenz oder so arbeiten könnte, sondern er bekommt einfach die Höhe 0 und ist weg.
Ich sehe als einzige Lösungmöglichkeit tatsächlich, schnell das Player-interne Layout zu implementieren, so dass man die einzelnen Texelemente tatsächlich frei positionieren und dimensionieren kann; und dabei die Spielzeit neben den Titel und Interpreten verschieben.
Einen Layout-Designer werde ich dafür auf keinen Fall anbieten können; das müsste alles durch ini-Dateien (zusätzliche layout.ini-Einträge) gemacht werden.