Montag, 18. Juli 2022

fruitbox V2 - Skalensimulation

 

Heute will ich zeigen wie man mit fruitbox eine Skalensimulation bauen kann. Der Bau einer Rundskalensimulation wird folgen.

es gibt ja bereits einen fertigen Skin mit einem etwas seltsamen Radio. Diesen werde ich benutzen und modifizieren.

Dazu erst mal die Erklärung wie ein Skin aufgebaut ist. Und zwar sind alle Elemente des Skins in einem Ordner zusammengefasst. In der Konfigurationsdatei fruitbox.cfg hat jedes Element einen eigenen Abschnitt wo es parametrisiert wird. Ein Element kann eine Grafik sein (jpg, png, bmp), eine Sounddatei (wav), eine Videodatei (ogv) oder ein Schriftfeld (auch Fließtext). Ich werde also in der Radio-Skin "RadiOldie" meine eigenen Elemente positionieren und die fruitbox.cfg entsprechend anpassen.

Im Prinzip ist bereits alles vorhanden. Es gibt eine Skala, einen Skalenzeiger, einen Tuning-Einsteller und einen Volume-Einsteller.

Beginnen wir mit der Skala. Der Konfigurationsteil dazu sieht erst mal folgendermassen aus:

[bitmap]
Position = 226 496
Size = 574 180
File = tuning.png
tint = 50 [255 ${SPECTRUM_BAND} 0] 50 [255 ${SPECTRUM_BAND} 0] 50 [255 ${SPECTRUM_BAND} 0] 255

Das ist doch schon mal sehr übersichtlich. Der Skin ist auf eine Auflösung von 1024 x 768 px. ausgerichtet. Hat die Grafik oder der Bildschirm eine andere Auflösung so wird automatisch skaliert. Es wäre also nicht notwendig dass ich meine Skalengrafik in passender Auflösung übergebe. Schadet aber auch nicht.

Meine Datei Pilot1024.png soll flächendeckend auf dem Bildschirm dargestellt werden.


.zip   pilot1024.zip (Größe: 930,2 KB / Downloads: 1)

(wegen der Größenbeschränkung im Forum muss ich sie als Zip-Datei einbinden)

ich ersetze obigen Konfigurationsabschnitt der tuning.png durch die Pilot1024.png:

[bitmap]
Position = 0 0
Size = 1024 768
File = Pilot1024.png
tint = 50 [255 ${SPECTRUM_BAND} 0] 50 [255 ${SPECTRUM_BAND} 0] 50 [255 ${SPECTRUM_BAND} 0] 255

Ich positioniere also die linke obere Ecke in den Koordinaten 0/0 des Bildschirms, und stelle Breite und Höhe ein. Das Ergebnis:


 

als nächstes bearbeite ich den Zeiger:

der originale Abschnitt dazu:

[bitmap]
Size = 8 200
File = red.bmp
Position = 226 [790 ${FIRST_VISIBLE_TITLE_STRIP}] 480

meine angepasste Version:

[bitmap]
Size = 8 600
File = red.bmp
Position = 226 [790 ${FIRST_VISIBLE_TITLE_STRIP}] 80

die foreground.png Datei benötige ich nicht und schalte sie mit dem Visible Parameter ab:

[bitmap]
Visible = No
File = foreground.png
Position = 0 0
Size = 1024 768

Jetzt hat die Pilot-Skala aber noch Lichteffekte die mich stören. Diese sind mit dem tint - Parameter festgelegt. Ich gebe allen drei Helligkeitszuständen den maximalen Wert von 255:

[bitmap]
Position = 0 0
Size = 1024 768
File = pilot1024.png
tint = 255 [255 ${SPECTRUM_BAND} 0] 255 [255 ${SPECTRUM_BAND} 0] 255 [255 ${SPECTRUM_BAND} 0] 255

die dynamischen Parameter werden damit hinfällig und man kann sie weglassen:

tint = 255 255 255 255

man kann aber auch die ganze Zeile weglassen, da diese Werte default-Werte sind.

(danke Mike für den Hinweis)


 

Die Drehregler möchte ich noch weg haben. Das erledigt wieder der Visible-Parameter:

[bitmap]
Visible = No
Position = 30 548
Size = 170 180
File = tuning_dial.png
Angle = 0 [355 ${FIRST_VISIBLE_TITLE_STRIP}]

[bitmap]
Visible = No
Position = 838 556
Size = 158 164
File = volume_dial.png
Angle = 190 [530 ${VOLUME}]

Noch eine Anmerkung. Wir haben hier keine explizite Radio-Software, sondern eine Jukebox, die auch webstreams abspielen kann. Noch schöner: sie behandelt webstreams genau wie mp3 Dateien. Die Art der Bedienung kann man in weiten Bereichen konfigurieren. Aber es bleibt eine Jukebox. Ein Titel- oder Senderwechsel geschieht durch die Anwahl eines Titelstreifens, wie auch immer diese erfolgt. Der neue Titel/Sender kann in der Play-Queue gespeichert werden, muss aber nicht. Aber er muss angewählt werden, standardmässig mit der "1" Taste. Zum Abbruch eines laufenden Titels/Senders muss die Skip-Taste betätigt werden. Eine Radiosimulation kann man sich so vorstellen: Es ist eine Jukebox mit nur einem Titelstreifen (stripe). Man blättert also mit den zugewiesenen Rechts/Links Tasten durch die einzelnen Titelstreifen. Der Zeiger der Simulation springt dabei ein Stück vor oder zurück. Der Abstand wird berechnet anhand der Anzahl der Titelstreifen. Die Titelstreifen verteilen sich also gleichmässig auf der Skala (An dem Punkt haben wir eine Gemeinsamkeit mit iRadio). Wir haben also keine flüssige Bewegung, sondern immer einen Skalenreitersprung pro Tastendruck. Der Zeiger zeigt auch nicht auf den abgespielten Titel, sondern auf einen Titel den wir jetzt mit der "1" Taste vorwählen können. Der grade laufende Titel wird aber in der Text-Einblendung angezeigt. Wichtig zum Verhalten der Titelwahl sind 2 Parameter in der fruitbox.cfg der Skin:

AutoSelect Yes/No
InstantPlay Yes/No

Mit InstantPlay wird die Play-Queue umgangen. AutoSelect scheint bei der Radio-Skin keine Wirkung zu haben, in den Jukebox-Skins erspart man sich damit die Select-Taste.

Die Bilder in diesem post stammen übrigends von fruitbox selbst. Beim Betätigen der Alt-Gr Taste erzeugt fruitbox eine Hardcopy und legt sie im Skin-Ordner ab.

Weiter geht es bald mit der Rundskalensimulation, einer Anwendung dazu, und ein Video werde ich auch noch erstellen.
 

Keine Kommentare:

Kommentar veröffentlichen