W dzisiejszym uaktualnieniu:
- w ramach koncertu zyczen, hamulec lokomotywy syczy takze przy zaciaganiu. Dzwiek skojarzony z tym efektem mozna zdefiniowac wpisem localbrakesound2: z parametrami amplitudy, tak jak dla wszystkich innych sykow w kabinie
- w sumie rowniez na zyczenie, funkcjonalnosc: obsluga dzwiekow skladanych. Dzwieki skladane maja zdefiniowane kilka probek, z ktorych exe wybiera sobie i odtwarza 1-2 na podstawie powiazanego z dzwiekiem parametru. Oznacza to np. ze wagon moze wydawac inny outernoise: przy predkosci 40 km/h, inny przy 80 i jeszcze inny przy 120 km/h
Parametry dzwieku skladanego sa definiowane jako czesc nowej skladni, w klamrach {} Rozpoznawane slowa-klucze to:
soundX: nazwapliku.wav
okresla probke, ktora bedzie odgrywana gdy wartosc zmiennej powiazanej z dzwiekiem przekroczy X% wartosci maksymalnej dla tej zmiennej Np przy definiowaniu dzwieku dla outernoise: ktory powiazany jest z predkoscia pojazdu, wpis sound60: okresli probke, ktora odtwarzana bedzie po przekroczeniu przez pojazd 60% predkosci maksymalnej.
( tutaj uwaga, na wyliczenie wartosci zmiennej kontrolnej wplywaja tak jak dotychczas parametry czestotliwosci, frequencyfactor: i frequencyoffset:
np. dla SM42 zmienna stanu silnika wyliczana jest na podstawie ilosci jego obrotow na sekunde, i waha sie miedzy 496/60 i 1000/60 czyli 8.27 i 16.67 definiujac w .mmd wartosci frequencyfactor: 0.12 frequencyoffset: -1 zakres wartosci zmiennej kontrolnej sprowadzony jest do pozadanego 0-1)
pitchX: wartosc liczbowa
opcjonalnie, dla zdefiniowanego soundX okresla 'wzgledna czestotliwosc'. Jesli parametr ten jest rozny dla "sasiednich" probek to odgrywajac dzwiek exe plynnie modyfikuje jego czestotliwosc do wyliczonej na podstawie stosunku 'wzglednej czestotliwosci' dla probki nastepnej.
(po ludzku, jesli mamy np definicje dzwieku silnika:
{ sound50: silnik1.wav pitch50: 700 sound75: silnik2.wav pitch75: 840 }
to po przekroczeniu 50% maksymalnych obrotow exe zacznie odtwarzac probke silnik1.wav poczatkowo z czestotliwoscia bazowa czyli tak, jak zostala nagrana. W miare wzrostu obrotow czestotliwosc dzwieku bedzie sie zwiekszac, az do momentu gdy przy 75% maksymalnych obrotow czestotliwosc osiagnie 840/700 = 1.2 czyli 20% wyzsza wartosc. (po przekroczeniu 75% maksymalnych obrotow zacznie byc odtwarzana probka silnik2.wav z jej wlasna czestotliwoscia bazowa)
crossfade: wartosc liczbowa w granicach 1-100
Parametr ten definiuje plynnosc przejscia miedzy sasiednimi probkami. W uproszczeniu przy wartosci 100 przejscie (miksowanie dwoch sasiednich dzwiekow) wystepowac bedzie od samego poczatku odtwarzania danej probki, przy wartosci 50 plynne przejscie rozpocznie sie gdy wartosc zmiennej kontrolnej powiazanej z dzwiekiem przekroczy "polowe drogi" do punktu w ktorym aktywowany jest dzwieku nastepny, itd. Jesli crossfade: nie jest zdefiniowane, przelaczanie probek jest skokowe, po przekroczeniu danego poziomu wylaczana jest dotychczasowa i aktywowana nastepna.
uwagi:
jesli dany dzwiek ma zarowno definicje probek dla dzwieku skladanego jak i soundmain: to wykorzystany bedzie tylko dzwiek main:
mozna natomiast dosc swobodnie laczyc dzwiek skladany z soundbegin: i/lub soundend: