Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
fruitbox V2 - Jukebox für Raspberry Pi
#1
fruitbox ist ein schon älteres Jukebox-System für den Raspberry. Jetzt ist die Software durch die Version 2 wieder interessant geworden.

rpi-fruitbox-v2

hier der link zu Version 1:

rpi-fruitbox

der gleiche Autor bietet noch ein weiteres schönes Projekt an:

Tektronix 4010 and 4014 Storage Tube Terminal Emulator (version 1.4)

Bleiben wir hier aber bei der fruitbox V2.

Wegen den Problemen bei der Tonausgabe wird vom aktuellen Bullseye-Release abgeraten und man solle besser den letzten Stand von Raspbian Buster aufsetzen. Ein direkter link zum Image ist in der Beschreibung angegeben. Gab es bei der Version 1 neben der regulären fruitbox-Installation auch die Möglichkeit ein fertig installiertes Image zu ziehen muss man bei Version 2 die Installation selbst vornehmen. Das sind aber nur ein paar wenige Schritte die schnell erledigt sind. Dabei bitte genau an die Syntax der Anleitung halten. Ein in Ungedanken von mir vorgestelltes sudo zum Ausführen der ./install_fruitbox ließ die Installation fehlschlagen. Um wieder sauber neu zu beginnen löscht man folgende Dateien:

sudo rm ~/main.*
sudo rm /opt/vc/lib/libEGL.so
sudo rm /opt/vc/lib/libGLESv2.so
sudo rm /opt/vc/lib/libOpenVG.so
sudo rm /opt/vc/lib/libWFC.so

Die mp3-Dateien können auf einem USB-Stick liegen oder auf der SD-Karte. Das komplette Verhalten der Box wird über Kommandozeilen-Parameter und über die Textdatei fruitbox.ini gesteuert. Es gibt auch die Möglichkeit unterschiedliche Bibliotheken auf unterschiedlichen sticks vorzuhalten und jeden Stick mit einem anderen Skin oder sonstigen speziellen Einstellungen starten zu lassen. Der Stick muss natürlich in der rc.local gemountet werden. Dazu bekommt jeder stick eine eigene fruitbox.ini, deren Pfad beim Start des Programmes als Parameter übergeben wird. Ohne den Parameter wird der Standardpfad ~/fruitbox/fruitbox.ini benutzt.

Eine umfangreiche Skin-Sammlung ist bereits vorinstalliert. Wird in der fruitbox.ini mehr als ein Skin angegeben bekommt man beim Start des Programmes eine Auswahl (skin chooser). Einige Skins generieren beim Titelstart oder -Wechsel auch die typischen mechanischen Geräusche einer Jukebox. Zu jedem Skins gehört eine cfg-Datei, die mit einem Texteditor editiert werden kann. So kann man sich auch einfach seinen eigenen Skin zusammenbauen.

Der Titelstreifen-Generator bietet die Möglichkeit die Titelstreifen in eine Datei zu drucken um sie in einer "echten" Jukebox einzusetzen.

Die Bedienung der Box ist frei definierbar. Es kann eine Tastatur, gpios, Joystick, Maus oder touchscreen benutzt werden. Darauf werde ich noch eingehen.

In dem Video spiele ich über den skin chooser die mitgelieferten Skins kurz an um einen Eindruck zu vermitteln:



Statt mp3-Dateien können im Medienpfad auch pls oder m3u Dateien mit links zu Internetradiostationen liegen. Damit wird die Jukebox zum Internet-Radio. Ein entsprechender Skin erzeugt eine anprechende Radiosimulation (Radio Oldy). Ebenso sind Videodateien im Format ogv möglich. Für eine flüssige Wiedergabe sollte dabei die Auflösung auf max. 640px in der Breite runtergerechnet werden, besser auf 480. Das erledigt z.B. VLC unter Windows ganz gut. Die Endung ogg muss dann nur noch in ogv umbenannt werden. Der Skin MikeTV bildet ein Fernsehgerät ab auf dessen Bildschirm das Video dann läuft. Die anderen Skins liefern nur den Ton zum Video. Radio und Fernsehen treffen vom design her nicht unbedingt unseren gewohnten Geschmack :-)
Für Videoclipse und Radiosender werden die Titelstreifen wie bei mp3-Dateien auch automatisch angelegt und sie sind damit auch genauso anwählbar.

Das zweite Video spielt ebenfalls wieder die Skins ab. Hier ist der Medienpfad aber nur mit pls Dateien versehen, bis auf 3 kleine Videos (bei einem hat youtube den Ton gesperrt). Also Betrieb der Jukebox als Internet-Radio:



Die pls-Dateien mit den links zu den Internetradio-Stationen händelt man am besten mit winamp ab. Man kann alle Sender in einer playlist zusammenfassen und als eine einzige pls-Datei exportieren. Fruitbox nimmt sich dann die Einträge einzeln aus der pls-Datei.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#2
der skin "TouchBlue" ist für kleine Bildschirme mit Touch-Oberfläche konstruiert. Hier bietet sich das offizielle 7" Rpi-Display mit kapazitivem Touchscreen und DSI-Schnittstelle an. Ein iRadio/iTV mit dieser Hardware habe ich vor längerer Zeit schon mal gebaut, hatte aber Probleme mit der Auflösung. Siehe:

Simple+and+Compact iRadio/iTV

An der fruitbox passte die Auflösung auf Anhieb. Beim ersten Einschalten startet die software automatisch einen Justiervorgang für die Touch-Bedienung. Das war schnell erledigt und nun fungiert das Gerätchen als Internetradio mit Jukebox-Oberfläche.

   

   

   

   

Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#3
wie vorher schon berichtet gibt es ganz unerschiedliche Bedienkonzepte. Über eine ganz besondere Möglichkeit möchte ich hier berichten. Unter dem Begriff "DIY Kits No Delay Buttons" oder "zero delay usb encoder" gibt es eine Platine, die einzeln oder mit Tastern und einem Joystick günstig zu erwerben ist.

   

   

Taster und Joystick werden mit mitgelieferten konfektionierten Kabeln zusammengesteckt, der Raspberry wird per USB-Kabel verbunden. Unter dem Begriff "Joystick" versteht Fruitbox allerdings etwas ganz anderes. Die No-Delay-Buttons-Platine besitzt eher die Funktion einer USB-Tastatur. Folglich wird in der fruitbox.ini eine Joystick-Bedienung disabled. Mouse und touch kann ebenfalls deaktiviert werden, falls nicht benötigt. Während für die Zuweisungen einer Standard-Tastatur in der fruitbox.ini ein KEY-Präfix benutzt wird benötigt die No-Delay-Buttons-Platine spezielle Begriffe mit einem BTN-Präfix, von denen ich einige in einer Liste darstelle. Die Bezeichnung der ersten Spalte ist die auf der Platine aufgedruckte Steckbuchenbezeichnung.
  • K1    BTN_TRIGGER
  • K2    BTN_THUMB
  • K3    BTN_THUMB2
  • K4    BTN_TOP
  • L2    BTN_TOP2
  • R2    BTN_PINKIE
  • L1    BTN_BASE
  • R1    BTN_BASE2
  • SE    BTN_BASE3
  • ST    BTN_BASE4
  • K11  BTN_BASE5
  • K12  BTN_BASE6

schauen wir jetzt in die fruitbox.ini:

die Einträge:

Select3 = KEY_3
SelectA = KEY_A

bedeuten: Die Taste 3 der jukebox wird mit einer normalen Tastatur durch Drücken der "3" ausgelöst. Drücken der Taste A (bzw. a) löst ein "A" in der Jukebox aus.

wir ändern jetzt auf:

Select3 = BTN_THUMB2
SelectA = BTN_BASE2

jetzt wird eine "3" erzeugt durch einen Taster am Anschluß K3 der Platine, und ein "A" durch einen Taster an Anschluß SE.

Auf diese Art werden jetzt alle benötigten Tasten auf die No-Delay-Buttons-Platine umgelenkt. Doppelte Zuweisungen sind zu vermeiden!

aber welche Tasten benötigen wir eigentlich?

das richtet sich nach dem verwendeten Skin. Der Skin "Classic" beispielsweise benutzt zur Titelwahl die Tasten A,B,C,D,E und 1,2,3,4,5,6. Der Skin "WallSmall" benötigt nur die Zahlen 1 bis 4. Weiterhin brauchen wir eine Skip-Taste, um einen laufenden Titel abzubrechen und den nächsten Titel in der Warteschlange (PlayQueue) zu starten. Bei mp3-Dateien ist die Taste nicht so wichtig, aber bei Internetradiostationen gibt es kein Titel-Ende und damit ohne Skip-Taste keine Möglichkeit den Sender zu wechseln. Dann brauchen wir Left und Right um die Titelstreifen-Seite weiterzuschalten. VolUp und VolDown falls die Lautstärke nicht per Hardware gesteuert wird. Viele weitere Möglichkeiten für Tastenbelegungen kann man der fruitbox.ini entnehmen. Das hier sind aber die rudimentärsten.

Die 12 Tasten der No-Delay-Buttons-Platine sind schnell erschöpft. Reichen sie nicht aus kann man eine zweite Platine dazunehmen. BTN_BASE2 auf der zweiten Platine wird dann BTN_BASE2 (1) . Man kann auch weitere Schalter der No-Delay-Buttons-Platine benutzen, z.B. auch die 4 Schalter des Joystick. Dazu habe ich aktuell die Bezeichnungen noch nicht, werde aber noch darauf eingehen.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#4
saarfranzose schrieb:Dazu habe ich aktuell die Bezeichnungen noch nicht, werde aber noch darauf eingehen.

ich knüpfe hier mal nahtlos an.

Es ist gar nicht notwendig die Buttons mit Namen zu kennen. Anstatt zu Fuß über die fruitbox.ini die Tasten zuzuweisen kann man das auch komfortabel im On-Screen-Menü. Mit diesem Menü hatte ich anfangs so meine Schwierigkeiten. Mit herkömmlichen deutschen Tastaturen kann man den Auswahlbalken nicht hoch- runter bewegen. Hat man aber ein touch screen display kann man sich mit Finger oder Stift problemlos im Menü bewegen. Dort gibt es den Punkt "Configure Buttons". Man wählt die geünschte Funktion an und betätigt dann den Button den man mit dieser Funktion belegen will. Und schon ist der passende Eintrag in der fruitbox.ini eingetragen. Auf diese Weise lässt sich im Prinzip jeder USB-Controller einbinden.

   

   

   

Ich hab dann gleich vom Flohmarkt einen PS3 Controller angeschleppt, in schwerer Metall-Ausführung (HORI Real Arcade Pro.3). Joystick und Taster wurden problemlos erkannt. Der Controller kennt 3 Betriebsarten, die mit einem Schiebeschalter eingestellt werden. Der Joystick hat in jeder Betriebsart andere Button-Bezeichnungen zurückgeliefert. Hier muss man sich also festlegen.

Also, alte USB-Controller nicht wegwerfen! Die kann man mit fruitbox wieder einer neuen Verwendung zuführen.

   

   
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#5
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. Die Skins sind alle 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: 5)

(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.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#6
es geht weiter mit der Drehskala.

Wie schon geschrieben sind alle Elemente für die Simulationen bereits in dem RadiOldie-Skin enthalten. Ein sich drehendes Objekt findet sich in Form des Abstimmknopfes. Das zugehörige Bild tuning_dial.png brauchen wir nur auszutauschen gegen die Drehskala. Für meine Testanwendung brauche ich nur einen Ausschnitt aus der Skala. Dementsprechend groß habe ich das Bild abgespeichert, und zwar 1280 x 1280px. 


.zip   Drehskala.zip (Größe: 1,24 MB / Downloads: 1)

die Abschnitte in der fruitbox.cfg werden entsprechend geändert:

die eigentliche Skala wird ausgeblendet:

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

einen Skalenzeiger benötige ich ebenfalls nicht:

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

und auch kein Vordergrundbild

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

der Volume-Poti wird ebenfalls ausgeblendet

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

Die Drehskala habe ich für die Testanwendung hochskaliert und die Position der linken oberen Ecke weit ausserhalb des sichtbaren Bereiches positioniert.

[bitmap]
Position = -480 -50
Size = 2048 2048
File = Drehskala.png
Angle = 90 [355 ${FIRST_VISIBLE_TITLE_STRIP}]

Der Bildschirm sieht nun so aus:

   

zu dem Video ist anzumerken dass ich bei der Drehskala der Select-Taste noch ein Klick-Geräusch zugeordnet habe. Und für die Anwendung in einem Retro-VE ist das 2,4" TFT ein wenig zu klein. Ein 2,8" wäre besser geeignet. Es ist aber auch nur mal eine Studie.

Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#7
in diesem Teil geht es um das Hinzufügen von Toneffekten. Genauer gesagt um das Klick-Geräusch bei Geldeinwurf und einer gültigen sowie einer ungültigen Wahl, die Motorengeräusche beim Auflegen der Schallplatte, beim Auslaufen der Platte und beim Wechsel der Titelstreifenseite.

Bei der roten Box benutze ich wegen des kleinen Bildschirms den Skin "WallSmall". In dessen Konfigurationsdatei ~/fruitbox/skins/WallSmall/fruitbox.cfg initialisiere ich folgendermassen die gewünschten Effekte:

Im Abschnitt

Code:
[general]
...
SongLoadTime = 7.5 seconds
SongUnloadTime = 7 seconds
...

verschaffe ich mir erst mal etwas Zeit zwischen den Titeln um dort die Toneffekte beim Auflegen und Auslaufen der Platte einzubauen.

für jeden Effekt benötige ich einen Abschnitt [status], in dem die Mediendatei und eine zugehörige Steuerdatei eingetragen wird. Der erste sound (coin-insert) wird von mir im Beispiel nicht benötigt, da ich für den Geldeinwurf keine Taste vorgesehen habe und "freeplay" konfiguriert ist. Der Vollständigkeit halber: 5 Münztypen stehen zur Verfügung und werden in der fruitbox.ini initialisiert:

Code:
  CreditsPerCoin1 = 1
  CreditsPerCoin2 = 2
  CreditsPerCoin3 = 5
  CreditsPerCoin4 = 10
  CreditsPerCoin5 = 25


"select_song_sound" ist das Klickgeräusch einer erfolgreichen Wahl. Dagegen ist "invalid_song_sound" eine ungültige Wahl. "load_song_sound" ist das Auflegen der Platte, "unload_song_sound" das Auslaufen der Platte. "page_move_sound" ist das Geräusch der motorisch angetriebenen Titelseiten.


Code:
[status]
Contents = coin_insert_sound.txt
Sound = coin-insert.wav 90

[status]
Contents = select_song_sound.txt
Sound = JBBPress.wav 100

[status]
Contents = invalid_song_sound.txt
Sound = invalid.wav 100

[status]
Contents = load_song_sound.txt
Sound = mech-only2.wav 90

[status]
Contents = unload_song_sound.txt
Sound = mech-only-rev.wav 90

[status]
Contents = page_move_sound.txt
Sound = JBPTurn.wav 80

die entsprechenden wave und txt-Dateien kopiere ich mir aus einem Skin-Ordner wo die Effekte bereits eingebaut sind. Das wäre hier ~/fruitbox/skins/SB-M100.

Jetzt müssen die txt-Dateien noch bearbeitet werden. Hier wird festgelegt bei welchem Ereignis die Mediendatei abgespielt werden soll, oder NICHT abgespielt werden soll.

Beginnen wir mit dem Inhalt der coin_insert_sound.txt:

Code:
${IF_BUTTON_COIN1_PRESSED}${PLAY_SOUND}

das ist schon fast Klartext. Spiele die coin-insert.wav beim Geldeinwurf (hier mit Taste simuliert) bei einer Münze der Wertigkeit 1.

dann die select_song_sound.txt:

Code:
${IF_NOT_INVALID_CHOICE}${PLAY_SOUND}

spiele die JBBPress.wav bei einer gültigen Wahl

dagegen die invalid_song_sound.txt:

Code:
${IF_INVALID_CHOICE}${PLAY_SOUND}

spiele die invalid.wav bei einer ungültigen Wahl

die load_song_sound.txt:

Code:
${IF_SONG_LOADING}${PLAY_SOUND}

spiele mech-only2.wav in dem Zeitabschnitt "SongLoadTime"

die unload_song_sound.txt:

Code:
${IF_SONG_UNLOADING}${PLAY_SOUND}

spiele mech-only-rev.wav im Zeitabschnitt "SongUnloadTime"

die page_move_sound.txt:

Code:
${IF_NOT_SONG_PLAYING}${IF_TITLE_STRIP_MOVING}${PLAY_SOUND}

spiele JBPTurn.wav wenn die Titelstreifenseite wechselt UND nicht grade ein Titel läuft. Die Verknüpfung ist wichtig weil die Titelstreifenseite automatisch nach einer gewissen Zeit wechselt und das Geräusch soll nicht die Wiedergabe stören.

Und so hört es sich dann an:

am Anfang provoziere ich eine ungültige Wahl durch Anwahl nicht belegter Titelstreifen

Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Raspberry Pi Mini Radio rotbarth 17 6.472 06.06.2020, 10:44
Letzter Beitrag: rotbarth

Gehe zu: