1(setq card (Acall 'card_next -1))
2(setq card (Aresult card))
3(while (>= card 0)
4  (progn
5    (princ "found card: " card "\n")
6    (princ "  name    : " (Aresult (Acall 'card_get_name card)) "\n")
7    (princ "  longname: " (Aresult (Acall 'card_get_longname card)) "\n")
8    (setq card (Acall 'card_next card))
9    (setq card (Aresult card))
10  )
11)
12(unsetq card)
13
14(princ "card_get_index test (SI7018): " (Acall 'card_get_index "SI7018") "\n")
15(princ "card_get_index test (ABCD): " (Acall 'card_get_index "ABCD") "\n")
16
17(setq hctl (Acall 'hctl_open 'default nil))
18(if (= (Aerror hctl) 0)
19  (progn
20    (princ "open success: " hctl "\n")
21    (setq hctl (Ahandle hctl))
22    (princ "open hctl: " hctl "\n")
23    (setq hctl (Acall 'hctl_close hctl))
24    (if (= hctl 0)
25      (princ "close success\n")
26      (princ "close failed: " hctl "\n")
27    )
28  )
29  (progn
30    (princ "open failed: " hctl "\n")
31  )
32)
33(unsetq hctl)
34
35(setq ctl (Acall 'ctl_open 'default nil))
36(if (= (Aerror ctl) 0)
37  (progn
38    (princ "ctl open success: " ctl "\n")
39    (setq ctl (Ahandle ctl))
40    (setq info (Aresult (Acall 'ctl_card_info ctl)))
41    (princ "ctl card info: " info "\n")
42    (princ "ctl card info (mixername): " (cdr (assq "mixername" info)) "\n")
43    (unsetq info)
44    (setq hctl (Acall 'hctl_open_ctl ctl))
45    (if (= (Aerror hctl) 0)
46      (progn
47        (princ "hctl open success: " hctl "\n")
48        (setq hctl (Ahandle hctl))
49        (princ "open hctl: " hctl "\n")
50	(princ "load hctl: " (Acall 'hctl_load hctl) "\n")
51	(princ "first    : " (Acall 'hctl_first_elem hctl) "\n")
52	(princ "last     : " (Acall 'hctl_last_elem hctl) "\n")
53	(princ "next (first): " (Acall 'hctl_elem_next (Acall 'hctl_first_elem hctl)) "\n")
54	(princ "prev (last) : " (Acall 'hctl_elem_prev (Acall 'hctl_last_elem hctl)) "\n")
55	(setq elem (Acall 'hctl_first_elem hctl))
56	(while elem
57	  (progn
58	    (setq info (Acall 'hctl_elem_info elem))
59	    (princ info "\n")
60	    (setq value (Acall 'hctl_elem_read elem))
61	    (princ value "\n")
62	    (when (equal (cdr (assq "name" (car (cdr (assq "id" (Aresult info)))))) "Master Playback Volume")
63	      (princ "write Master: " (Acall 'hctl_elem_write elem (20 20)) "\n")
64	    )
65	    (unsetq info value)
66	    (gc)
67	    (setq elem (Acall 'hctl_elem_next elem))
68	  )
69        )
70	(unsetq elem)
71        (setq hctl (Acall 'hctl_close hctl))
72        (if (= hctl 0)
73          (princ "hctl close success\n")
74          (princ "hctl close failed: " hctl "\n")
75        )
76      )
77      (progn
78        (princ "hctl open failed: " hctl "\n")
79	(Acall 'ctl_close ctl)
80      )
81    )
82    (unsetq hctl)
83  )
84  (progn
85    (princ "ctl open failed: " ctl "\n")
86  )
87)
88(unsetq ctl)
89
90(&stat-memory)
91(&dump-memory "memory.dump")
92