Lines Matching refs:instance
26 …struct alisp_object * (*func) (struct alisp_instance *instance, struct acall_table * item, struct …
64 static unsigned int get_flags(struct alisp_instance * instance, in get_flags() argument
95 delete_tree(instance, car(obj)); in get_flags()
97 delete_object(instance, n); in get_flags()
102 static const void *get_ptr(struct alisp_instance * instance, in get_ptr() argument
111 delete_tree(instance, obj); in get_ptr()
115 delete_tree(instance, obj); in get_ptr()
119 delete_tree(instance, obj); in get_ptr()
123 static struct alisp_object * new_lexpr(struct alisp_instance * instance, int err) in new_lexpr() argument
127 lexpr = new_object(instance, ALISP_OBJ_CONS); in new_lexpr()
130 lexpr->value.c.car = new_integer(instance, err); in new_lexpr()
132 delete_object(instance, lexpr); in new_lexpr()
135 lexpr->value.c.cdr = new_object(instance, ALISP_OBJ_CONS); in new_lexpr()
137 delete_object(instance, lexpr->value.c.car); in new_lexpr()
138 delete_object(instance, lexpr); in new_lexpr()
144 static struct alisp_object * add_cons(struct alisp_instance * instance, in add_cons() argument
152 delete_tree(instance, obj); in add_cons()
156 p1 = lexpr->value.c.cdr = new_object(instance, ALISP_OBJ_CONS); in add_cons()
158 p1 = lexpr->value.c.car = new_object(instance, ALISP_OBJ_CONS); in add_cons()
162 delete_tree(instance, obj); in add_cons()
165 p1->value.c.car = new_object(instance, ALISP_OBJ_CONS); in add_cons()
168 p2->value.c.car = new_string(instance, id); in add_cons()
175 delete_tree(instance, p1); in add_cons()
176 delete_tree(instance, obj); in add_cons()
183 static struct alisp_object * add_cons2(struct alisp_instance * instance, in add_cons2() argument
190 delete_tree(instance, obj); in add_cons2()
194 p1 = lexpr->value.c.cdr = new_object(instance, ALISP_OBJ_CONS); in add_cons2()
196 p1 = lexpr->value.c.car = new_object(instance, ALISP_OBJ_CONS); in add_cons2()
200 delete_tree(instance, obj); in add_cons2()
207 static struct alisp_object * new_result1(struct alisp_instance * instance, in new_result1() argument
214 lexpr = new_object(instance, ALISP_OBJ_CONS); in new_result1()
217 lexpr->value.c.car = new_integer(instance, err); in new_result1()
219 delete_object(instance, lexpr); in new_result1()
222 p1 = add_cons(instance, lexpr, 1, ptr_id, new_pointer(instance, ptr)); in new_result1()
224 delete_object(instance, lexpr); in new_result1()
230 static struct alisp_object * new_result2(struct alisp_instance * instance, in new_result2() argument
237 lexpr = new_lexpr(instance, err); in new_result2()
241 p1->value.c.car = new_integer(instance, val); in new_result2()
243 delete_object(instance, lexpr); in new_result2()
249 static struct alisp_object * new_result3(struct alisp_instance * instance, in new_result3() argument
256 lexpr = new_lexpr(instance, err); in new_result3()
260 p1->value.c.car = new_string(instance, str); in new_result3()
262 delete_object(instance, lexpr); in new_result3()
285 static struct alisp_object * FA_int_pp_strp_int(struct alisp_instance * instance, struct acall_tabl… in FA_int_pp_strp_int() argument
298 name = get_string(p1 = eval(instance, car(args)), NULL); in FA_int_pp_strp_int()
301 mode = get_flags(instance, p2 = eval(instance, car(cdr(args))), flags, 0); in FA_int_pp_strp_int()
302 delete_tree(instance, cdr(cdr(args))); in FA_int_pp_strp_int()
303 delete_object(instance, cdr(args)); in FA_int_pp_strp_int()
304 delete_object(instance, args); in FA_int_pp_strp_int()
305 delete_tree(instance, p2); in FA_int_pp_strp_int()
307 delete_tree(instance, p1); in FA_int_pp_strp_int()
308 return new_result1(instance, err, item->prefix, handle); in FA_int_pp_strp_int()
311 static struct alisp_object * FA_int_pp_p(struct alisp_instance * instance, struct acall_table * ite… in FA_int_pp_p() argument
321 delete_tree(instance, args); in FA_int_pp_p()
324 p1 = eval(instance, car(args)); in FA_int_pp_p()
325 delete_tree(instance, cdr(args)); in FA_int_pp_p()
326 delete_object(instance, args); in FA_int_pp_p()
327 handle = (void *)get_ptr(instance, p1, prefix1); in FA_int_pp_p()
331 return new_result1(instance, err, item->prefix, handle); in FA_int_pp_p()
334 static struct alisp_object * FA_p_p(struct alisp_instance * instance, struct acall_table * item, st… in FA_p_p() argument
348 delete_tree(instance, args); in FA_p_p()
351 p1 = eval(instance, car(args)); in FA_p_p()
352 delete_tree(instance, cdr(args)); in FA_p_p()
353 delete_object(instance, args); in FA_p_p()
354 handle = (void *)get_ptr(instance, p1, item->prefix); in FA_p_p()
358 return new_cons_pointer(instance, prefix1, handle); in FA_p_p()
361 static struct alisp_object * FA_int_p(struct alisp_instance * instance, struct acall_table * item, … in FA_int_p() argument
366 p1 = eval(instance, car(args)); in FA_int_p()
367 delete_tree(instance, cdr(args)); in FA_int_p()
368 delete_object(instance, args); in FA_int_p()
369 handle = (void *)get_ptr(instance, p1, item->prefix); in FA_int_p()
372 return new_integer(instance, ((snd_int_p_t)item->xfunc)(handle)); in FA_int_p()
375 static struct alisp_object * FA_str_p(struct alisp_instance * instance, struct acall_table * item, … in FA_str_p() argument
380 p1 = eval(instance, car(args)); in FA_str_p()
381 delete_tree(instance, cdr(args)); in FA_str_p()
382 delete_object(instance, args); in FA_str_p()
383 handle = (void *)get_ptr(instance, p1, item->prefix); in FA_str_p()
386 return new_string(instance, ((snd_str_p_t)item->xfunc)(handle)); in FA_str_p()
389 static struct alisp_object * FA_int_intp(struct alisp_instance * instance, struct acall_table * ite… in FA_int_intp() argument
394 p1 = eval(instance, car(args)); in FA_int_intp()
395 delete_tree(instance, cdr(args)); in FA_int_intp()
396 delete_object(instance, args); in FA_int_intp()
398 delete_tree(instance, p1); in FA_int_intp()
402 delete_tree(instance, p1); in FA_int_intp()
404 return new_result2(instance, err, val); in FA_int_intp()
407 static struct alisp_object * FA_int_str(struct alisp_instance * instance, struct acall_table * item… in FA_int_str() argument
412 p1 = eval(instance, car(args)); in FA_int_str()
413 delete_tree(instance, cdr(args)); in FA_int_str()
414 delete_object(instance, args); in FA_int_str()
417 delete_tree(instance, p1); in FA_int_str()
421 delete_tree(instance, p1); in FA_int_str()
422 return new_integer(instance, err); in FA_int_str()
425 static struct alisp_object * FA_int_int_strp(struct alisp_instance * instance, struct acall_table *… in FA_int_int_strp() argument
432 p1 = eval(instance, car(args)); in FA_int_int_strp()
433 delete_tree(instance, cdr(args)); in FA_int_int_strp()
434 delete_object(instance, args); in FA_int_int_strp()
436 delete_tree(instance, p1); in FA_int_int_strp()
440 delete_tree(instance, p1); in FA_int_int_strp()
442 return new_result3(instance, err, str); in FA_int_int_strp()
445 static struct alisp_object * FA_card_info(struct alisp_instance * instance, struct acall_table * it… in FA_card_info() argument
452 p1 = eval(instance, car(args)); in FA_card_info()
453 delete_tree(instance, cdr(args)); in FA_card_info()
454 delete_object(instance, args); in FA_card_info()
455 handle = (snd_ctl_t *)get_ptr(instance, p1, item->prefix); in FA_card_info()
459 lexpr = new_lexpr(instance, err); in FA_card_info()
462 …p1 = add_cons(instance, lexpr->value.c.cdr, 0, "id", new_string(instance, snd_ctl_card_info_get_id… in FA_card_info()
463 …p1 = add_cons(instance, p1, 1, "driver", new_string(instance, snd_ctl_card_info_get_driver(&info))… in FA_card_info()
464 p1 = add_cons(instance, p1, 1, "name", new_string(instance, snd_ctl_card_info_get_name(&info))); in FA_card_info()
465 …p1 = add_cons(instance, p1, 1, "longname", new_string(instance, snd_ctl_card_info_get_longname(&in… in FA_card_info()
466 …p1 = add_cons(instance, p1, 1, "mixername", new_string(instance, snd_ctl_card_info_get_mixername(&… in FA_card_info()
467 …p1 = add_cons(instance, p1, 1, "components", new_string(instance, snd_ctl_card_info_get_components… in FA_card_info()
469 delete_tree(instance, lexpr); in FA_card_info()
475 static struct alisp_object * create_ctl_elem_id(struct alisp_instance * instance, snd_ctl_elem_id_t… in create_ctl_elem_id() argument
477 cons = add_cons(instance, cons, 0, "numid", new_integer(instance, snd_ctl_elem_id_get_numid(id))); in create_ctl_elem_id()
478 …cons = add_cons(instance, cons, 1, "iface", new_string(instance, snd_ctl_elem_iface_name(snd_ctl_e… in create_ctl_elem_id()
479 cons = add_cons(instance, cons, 1, "dev", new_integer(instance, snd_ctl_elem_id_get_device(id))); in create_ctl_elem_id()
480 …cons = add_cons(instance, cons, 1, "subdev", new_integer(instance, snd_ctl_elem_id_get_subdevice(i… in create_ctl_elem_id()
481 cons = add_cons(instance, cons, 1, "name", new_string(instance, snd_ctl_elem_id_get_name(id))); in create_ctl_elem_id()
482 cons = add_cons(instance, cons, 1, "index", new_integer(instance, snd_ctl_elem_id_get_index(id))); in create_ctl_elem_id()
486 static int parse_ctl_elem_id(struct alisp_instance * instance, in parse_ctl_elem_id() argument
517 delete_tree(instance, p1); in parse_ctl_elem_id()
519 delete_object(instance, p1); in parse_ctl_elem_id()
524 static struct alisp_object * FA_hctl_find_elem(struct alisp_instance * instance, struct acall_table… in FA_hctl_find_elem() argument
530 handle = (snd_hctl_t *)get_ptr(instance, car(args), item->prefix); in FA_hctl_find_elem()
532 delete_tree(instance, cdr(args)); in FA_hctl_find_elem()
533 delete_object(instance, args); in FA_hctl_find_elem()
537 delete_tree(instance, cdr(cdr(args))); in FA_hctl_find_elem()
538 delete_object(instance, cdr(args)); in FA_hctl_find_elem()
539 delete_object(instance, args); in FA_hctl_find_elem()
540 if (parse_ctl_elem_id(instance, eval(instance, p1), &id) < 0) in FA_hctl_find_elem()
542 return new_cons_pointer(instance, "hctl_elem", snd_hctl_find_elem(handle, &id)); in FA_hctl_find_elem()
545 static struct alisp_object * FA_hctl_elem_info(struct alisp_instance * instance, struct acall_table… in FA_hctl_elem_info() argument
554 p1 = eval(instance, car(args)); in FA_hctl_elem_info()
555 delete_tree(instance, cdr(args)); in FA_hctl_elem_info()
556 delete_object(instance, args); in FA_hctl_elem_info()
557 handle = (snd_hctl_elem_t *)get_ptr(instance, p1, item->prefix); in FA_hctl_elem_info()
561 lexpr = new_lexpr(instance, err); in FA_hctl_elem_info()
565 p1 = add_cons(instance, lexpr->value.c.cdr, 0, "id", p2 = new_object(instance, ALISP_OBJ_CONS)); in FA_hctl_elem_info()
567 if (create_ctl_elem_id(instance, &id, p2) == NULL) { in FA_hctl_elem_info()
568 delete_tree(instance, lexpr); in FA_hctl_elem_info()
571 p1 = add_cons(instance, p1, 1, "type", new_string(instance, snd_ctl_elem_type_name(type))); in FA_hctl_elem_info()
572 …p1 = add_cons(instance, p1, 1, "readable", new_integer(instance, snd_ctl_elem_info_is_readable(&in… in FA_hctl_elem_info()
573 …p1 = add_cons(instance, p1, 1, "writable", new_integer(instance, snd_ctl_elem_info_is_writable(&in… in FA_hctl_elem_info()
574 …p1 = add_cons(instance, p1, 1, "volatile", new_integer(instance, snd_ctl_elem_info_is_volatile(&in… in FA_hctl_elem_info()
575 …p1 = add_cons(instance, p1, 1, "inactive", new_integer(instance, snd_ctl_elem_info_is_inactive(&in… in FA_hctl_elem_info()
576 …p1 = add_cons(instance, p1, 1, "locked", new_integer(instance, snd_ctl_elem_info_is_locked(&info))… in FA_hctl_elem_info()
577 …p1 = add_cons(instance, p1, 1, "isowner", new_integer(instance, snd_ctl_elem_info_is_owner(&info))… in FA_hctl_elem_info()
578 p1 = add_cons(instance, p1, 1, "owner", new_integer(instance, snd_ctl_elem_info_get_owner(&info))); in FA_hctl_elem_info()
579 p1 = add_cons(instance, p1, 1, "count", new_integer(instance, snd_ctl_elem_info_get_count(&info))); in FA_hctl_elem_info()
583 p1 = add_cons(instance, p1, 1, "dimensions", p2 = new_object(instance, ALISP_OBJ_CONS)); in FA_hctl_elem_info()
585 …p2 = add_cons2(instance, p2, idx > 0, new_integer(instance, INTERNAL(snd_ctl_elem_info_get_dimensi… in FA_hctl_elem_info()
591 p1 = add_cons(instance, p1, 1, "items", p2 = new_object(instance, ALISP_OBJ_CONS)); in FA_hctl_elem_info()
596 p2 = add_cons2(instance, p2, item, &alsa_lisp_nil); in FA_hctl_elem_info()
598 … p2 = add_cons2(instance, p2, item, new_string(instance, snd_ctl_elem_info_get_item_name(&info))); in FA_hctl_elem_info()
604 p1 = add_cons(instance, p1, 1, "min", new_integer(instance, snd_ctl_elem_info_get_min(&info))); in FA_hctl_elem_info()
605 p1 = add_cons(instance, p1, 1, "max", new_integer(instance, snd_ctl_elem_info_get_max(&info))); in FA_hctl_elem_info()
606 p1 = add_cons(instance, p1, 1, "step", new_integer(instance, snd_ctl_elem_info_get_step(&info))); in FA_hctl_elem_info()
609 p1 = add_cons(instance, p1, 1, "min64", new_float(instance, snd_ctl_elem_info_get_min64(&info))); in FA_hctl_elem_info()
610 p1 = add_cons(instance, p1, 1, "max64", new_float(instance, snd_ctl_elem_info_get_max64(&info))); in FA_hctl_elem_info()
611 …p1 = add_cons(instance, p1, 1, "step64", new_float(instance, snd_ctl_elem_info_get_step64(&info))); in FA_hctl_elem_info()
617 delete_tree(instance, lexpr); in FA_hctl_elem_info()
623 static struct alisp_object * FA_hctl_elem_read(struct alisp_instance * instance, struct acall_table… in FA_hctl_elem_read() argument
633 p1 = eval(instance, car(args)); in FA_hctl_elem_read()
634 delete_tree(instance, cdr(args)); in FA_hctl_elem_read()
635 delete_object(instance, args); in FA_hctl_elem_read()
636 handle = (snd_hctl_elem_t *)get_ptr(instance, p1, item->prefix); in FA_hctl_elem_read()
642 lexpr = new_lexpr(instance, err); in FA_hctl_elem_read()
654 obj = new_integer(instance, snd_ctl_elem_value_get_boolean(&value, idx)); in FA_hctl_elem_read()
657 obj = new_integer(instance, snd_ctl_elem_value_get_integer(&value, idx)); in FA_hctl_elem_read()
660 obj = new_integer(instance, snd_ctl_elem_value_get_integer64(&value, idx)); in FA_hctl_elem_read()
663 obj = new_integer(instance, snd_ctl_elem_value_get_enumerated(&value, idx)); in FA_hctl_elem_read()
666 obj = new_integer(instance, snd_ctl_elem_value_get_byte(&value, idx)); in FA_hctl_elem_read()
673 p1 = add_cons2(instance, lexpr->value.c.cdr, 0, obj); in FA_hctl_elem_read()
675 p1 = add_cons2(instance, p1, 1, obj); in FA_hctl_elem_read()
679 delete_tree(instance, lexpr); in FA_hctl_elem_read()
685 static struct alisp_object * FA_hctl_elem_write(struct alisp_instance * instance, struct acall_tabl… in FA_hctl_elem_write() argument
696 obj = eval(instance, car(args)); in FA_hctl_elem_write()
697 delete_tree(instance, cdr(cdr(args))); in FA_hctl_elem_write()
698 delete_object(instance, cdr(args)); in FA_hctl_elem_write()
699 delete_object(instance, args); in FA_hctl_elem_write()
700 handle = (snd_hctl_elem_t *)get_ptr(instance, obj, item->prefix); in FA_hctl_elem_write()
702 delete_tree(instance, p1); in FA_hctl_elem_write()
707 delete_tree(instance, p1); in FA_hctl_elem_write()
708 return new_integer(instance, err); in FA_hctl_elem_write()
719 delete_tree(instance, p1); in FA_hctl_elem_write()
742 delete_tree(instance, obj); in FA_hctl_elem_write()
744 delete_object(instance, obj); in FA_hctl_elem_write()
747 return new_integer(instance, err); in FA_hctl_elem_write()
750 static struct alisp_object * FA_pcm_info(struct alisp_instance * instance, struct acall_table * ite… in FA_pcm_info() argument
757 p1 = eval(instance, car(args)); in FA_pcm_info()
758 delete_tree(instance, cdr(args)); in FA_pcm_info()
759 delete_object(instance, args); in FA_pcm_info()
760 handle = (snd_pcm_t *)get_ptr(instance, p1, item->prefix); in FA_pcm_info()
764 lexpr = new_lexpr(instance, err); in FA_pcm_info()
767 …p1 = add_cons(instance, lexpr->value.c.cdr, 0, "card", new_integer(instance, snd_pcm_info_get_card… in FA_pcm_info()
768 p1 = add_cons(instance, p1, 1, "device", new_integer(instance, snd_pcm_info_get_device(&info))); in FA_pcm_info()
769 …p1 = add_cons(instance, p1, 1, "subdevice", new_integer(instance, snd_pcm_info_get_subdevice(&info… in FA_pcm_info()
770 p1 = add_cons(instance, p1, 1, "id", new_string(instance, snd_pcm_info_get_id(&info))); in FA_pcm_info()
771 p1 = add_cons(instance, p1, 1, "name", new_string(instance, snd_pcm_info_get_name(&info))); in FA_pcm_info()
772 …p1 = add_cons(instance, p1, 1, "subdevice_name", new_string(instance, snd_pcm_info_get_subdevice_n… in FA_pcm_info()
773 p1 = add_cons(instance, p1, 1, "class", new_integer(instance, snd_pcm_info_get_class(&info))); in FA_pcm_info()
774 …p1 = add_cons(instance, p1, 1, "subclass", new_integer(instance, snd_pcm_info_get_subclass(&info))… in FA_pcm_info()
775 …p1 = add_cons(instance, p1, 1, "subdevices_count", new_integer(instance, snd_pcm_info_get_subdevic… in FA_pcm_info()
776 …p1 = add_cons(instance, p1, 1, "subdevices_avail", new_integer(instance, snd_pcm_info_get_subdevic… in FA_pcm_info()
817 static struct alisp_object * F_acall(struct alisp_instance *instance, struct alisp_object * args) in F_acall() argument
822 p1 = eval(instance, car(args)); in F_acall()
824 delete_object(instance, args); in F_acall()
827 delete_tree(instance, p2); in F_acall()
834 delete_tree(instance, p1); in F_acall()
835 return item->func(instance, item, p2); in F_acall()
837 delete_tree(instance, p1); in F_acall()
838 delete_tree(instance, p2); in F_acall()
839 lisp_warn(instance, "acall function %s' is undefined", p1->value.s); in F_acall()
843 static struct alisp_object * F_ahandle(struct alisp_instance *instance, struct alisp_object * args) in F_ahandle() argument
847 p1 = eval(instance, car(args)); in F_ahandle()
848 delete_tree(instance, cdr(args)); in F_ahandle()
849 delete_object(instance, args); in F_ahandle()
851 delete_tree(instance, cdr(cdr(p1))); in F_ahandle()
852 delete_object(instance, cdr(p1)); in F_ahandle()
853 delete_tree(instance, car(p1)); in F_ahandle()
854 delete_object(instance, p1); in F_ahandle()
858 static struct alisp_object * F_aerror(struct alisp_instance *instance, struct alisp_object * args) in F_aerror() argument
862 p1 = eval(instance, car(args)); in F_aerror()
863 delete_tree(instance, cdr(args)); in F_aerror()
864 delete_object(instance, args); in F_aerror()
867 delete_tree(instance, p1); in F_aerror()
868 return new_integer(instance, SND_ERROR_ALISP_NIL); in F_aerror()
870 delete_tree(instance, cdr(p1)); in F_aerror()
871 delete_object(instance, p1); in F_aerror()
876 static int common_error(snd_output_t **rout, struct alisp_instance *instance, struct alisp_object *… in common_error() argument
884 delete_tree(instance, args); in common_error()
889 p1 = eval(instance, car(p)); in common_error()
894 delete_tree(instance, p1); in common_error()
896 delete_object(instance, p1); in common_error()
903 static struct alisp_object * F_snderr(struct alisp_instance *instance, struct alisp_object * args) in F_snderr() argument
908 if (common_error(&out, instance, args) < 0) in F_snderr()
916 static struct alisp_object * F_syserr(struct alisp_instance *instance, struct alisp_object * args) in F_syserr() argument
921 if (common_error(&out, instance, args) < 0) in F_syserr()