(bind-func static set_lfo
(lambda (inst:i8* lfo_num:i32 amp:float frq:float phase:float options:i32)
(let ((krl (if (< lfo_num 4)
(cref (cast inst [void]*) effect_kernel [void]*)
(cref (cast inst [void]*) note_kernel [void]*)))
(mod_options (cref krl mod_options |4,i32|*))
(mod_phase (cref krl mod_phase |4,float|*))
(mod_amp (cref krl mod_amp |4,float|*))
(mod_frq (cref krl mod_frq |4,float|*)))
(aset! mod_amp (% lfo_num 4) amp)
(aset! mod_frq (% lfo_num 4) frq)
(aset! mod_phase (% lfo_num 4) phase)
(aset! mod_options (% lfo_num 4) options)
void)))