Samstag, 16. Juli 2022

fruitbox V2 - Toneffekte

 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

 [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: 

  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. 

[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: 

${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:  

${IF_NOT_INVALID_CHOICE}${PLAY_SOUND}

spiele die JBBPress.wav bei einer gültigen Wahl



dagegen die invalid_song_sound.txt:  

${IF_INVALID_CHOICE}${PLAY_SOUND}

spiele die invalid.wav bei einer ungültigen Wahl

 

die load_song_sound.txt:

${IF_SONG_LOADING}${PLAY_SOUND}

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

 

die unload_song_sound.txt: 

${IF_SONG_UNLOADING}${PLAY_SOUND}

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

 

die page_move_sound.txt: 

${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 


 

Keine Kommentare:

Kommentar veröffentlichen