(bind-func static get_lfo_ad
  (lambda (inst:i8* lfo_num:i32)
    (let ((krl (if (< lfo_num 4)
                   (cref (cast inst [void]*) effect_kernel [void]*)
                   (cref (cast inst [void]*) note_kernel [void]*)))
          (mod_attack (cref krl mod_attack |4,float|*))
          (mod_decay (cref krl mod_decay |4,float|*))
          (mod_attack_slope (cref krl mod_attack_slope |4,float|*))
          (mod_decay_slope (cref krl mod_decay_slope |4,float|*)))
      (array (aref mod_attack (% lfo_num 4))
             (aref mod_decay (% lfo_num 4))
             (aref mod_attack_slope (% lfo_num 4))
             (aref mod_decay_slope (% lfo_num 4))))))