buffer_sumator
Funkce
Jednoduché operace pro práci s kanály a proměnnými typu buffer. Přístroj poskytuje
součet bufferů a násobení bufferu konstantou.
Syntax
buffer_sumator buffer_sumator_name;
rem = string;
timer = timer_name;
input
condition = boolean_expression;
name = name_buffer;
coefficient = real;
add_all_buffer = boolean_expression;
first_sample = real;
last_sample = real;
end_input
output = name_buffer;
end_buffer_display;
Specifické parametry přístroje
- input a end_input
Mezi těmito klíčovými slovy je definován jeden vstupní buffer spolu s koeficientem
a parametry určujícími způsob práce s tímto vstupem.
- condition
Obsahuje podmínku při jejímž splnění bude tato vstupní položka přičítána.
- name
Jméno vstupního bufferu.
- coefficient
Reálná hodnota, kterou se každý vzorek bufferu před přičtením k výstupnímu bufferu
vynásobí. Například, bude-li hodnota tohoto koeficientu rovna -1, nebude se buffer
přičítat, ale odečítat.
- add_all_buffer
Obsahuje podmínku. Touto podmínkou se řídí způsob přičítání vstupního bufferu do
výsledného bufferu. Je-li výslednou hodnotou tohoto výrazu false potom budou
zpracovány pouze vzorky v rozsahu definovaném výrazy first_sample
a last_sample. Součet s výstupním bufferem se vždy provádí od vzorku 0
výstupního bufferu. Bude-li tudíž hodnota výrazu first_sample rovna 300.
Bude sečten vzorek 300 se vzorkem 0 výstupního bufferu, vzorek 301 se
vzorkem 1 atd. Je-li výsledkem tohoto výrazu true, přičítá se celý buffer bez omezení.
- first_sample a last_sample
Obsahují výraz, jehož výsledkem je první a poslední vzorek bufferu, který se má
zpracovávat.
- output
Jméno výstupního dataelementu typu buffer.
Poznámky
- Tento přístroj slouží k demonstraci práce s elementy typu buffer, pro rozsáhlejší
použití datových elementů typu buffer, jako je DSP, je k dispozici samostatná knihovna se speciálními
přístroji.
- Implicitně nejsou nastaveny žádné parametry.
Příklad
Příklad nastavení parametrů přístroje:
buffer_sumator Sumator;
input
condition = true;
name = Buffer1;
coefficient = 1;
add_all_buffer = false;
first_sample = 600;
last_sample = 1000;
end_input;
input
condition = true;
name = Buffer2;
coefficient = 1;
add_all_buffer = false;
first_sample = 600;
last_sample = 1000;
end_input;
output = OBuffer;
end_buffer_sumator;
Nativní procedury přístroje
Přístroj nemá žádné nativní procedury.
Událostní procedury přístroje
Přístroj může volat standardní událostní procedury:
OnActivate()
Podrobnější informace k těmto procedurám lze nalézt v kapitole
Programování a procedury.