|
1 | 1 | #include <lsl_c.h> |
2 | 2 | #include <stdio.h> |
3 | 3 |
|
4 | | -int main(int argc, char* argv[]) { |
5 | | - int c; /* channel index */ |
6 | | - lsl_xml_ptr desc,chns,chn,cap; /* some xml element pointers */ |
7 | | - lsl_outlet outlet; /* stream outlet */ |
8 | | - lsl_streaminfo info,inf; /* streaminfo objects */ |
9 | | - lsl_inlet inlet; /* a stream inlet to get samples from */ |
10 | | - int errcode; /* error code (lsl_lost_error or timeouts) */ |
11 | | - const char* labels[] = {"C3","C4","Cz","FPz","POz","CPz","O1","O2"}; |
| 4 | +int main(int argc, char *argv[]) { |
| 5 | + int c; /* channel index */ |
| 6 | + lsl_xml_ptr desc, chns, chn, cap; /* some xml element pointers */ |
| 7 | + lsl_outlet outlet; /* stream outlet */ |
| 8 | + lsl_streaminfo info, inf; /* streaminfo objects */ |
| 9 | + lsl_inlet inlet; /* a stream inlet to get samples from */ |
| 10 | + int errcode; /* error code (lsl_lost_error or timeouts) */ |
| 11 | + const char *labels[] = {"C3", "C4", "Cz", "FPz", "POz", "CPz", "O1", "O2"}; |
12 | 12 |
|
13 | 13 | /* create a new streaminfo and declare some meta-data (in accordance with XDF format) */ |
14 | | - const char* name = argc > 1 ? argv[1] : "MetaTester"; |
15 | | - info = lsl_create_streaminfo(name,"EEG",8,100,cft_float32,"myuid323457"); |
| 14 | + const char *name = argc > 1 ? argv[1] : "MetaTester"; |
| 15 | + info = lsl_create_streaminfo(name, "EEG", 8, 100, cft_float32, "myuid323457"); |
16 | 16 | desc = lsl_get_desc(info); |
17 | | - chns = lsl_append_child(desc,"channels"); |
18 | | - for (c=0;c<8;c++) { |
19 | | - chn = lsl_append_child(chns,"channel"); |
20 | | - lsl_append_child_value(chn,"label",labels[c]); |
21 | | - lsl_append_child_value(chn,"unit","microvolts"); |
22 | | - lsl_append_child_value(chn,"type","EEG"); |
| 17 | + chns = lsl_append_child(desc, "channels"); |
| 18 | + for (c = 0; c < 8; c++) { |
| 19 | + chn = lsl_append_child(chns, "channel"); |
| 20 | + lsl_append_child_value(chn, "label", labels[c]); |
| 21 | + lsl_append_child_value(chn, "unit", "microvolts"); |
| 22 | + lsl_append_child_value(chn, "type", "EEG"); |
23 | 23 | } |
24 | | - lsl_append_child_value(desc,"manufacturer","SCCN"); |
25 | | - cap = lsl_append_child(desc,"cap"); |
26 | | - lsl_append_child_value(cap,"name","EasyCap"); |
27 | | - lsl_append_child_value(cap,"size","54"); |
28 | | - lsl_append_child_value(cap,"labelscheme","10-20"); |
| 24 | + lsl_append_child_value(desc, "manufacturer", "SCCN"); |
| 25 | + cap = lsl_append_child(desc, "cap"); |
| 26 | + lsl_append_child_value(cap, "name", "EasyCap"); |
| 27 | + lsl_append_child_value(cap, "size", "54"); |
| 28 | + lsl_append_child_value(cap, "labelscheme", "10-20"); |
29 | 29 |
|
30 | 30 | /* create outlet for the stream */ |
31 | | - outlet = lsl_create_outlet(info,0,360); |
| 31 | + outlet = lsl_create_outlet(info, 0, 360); |
32 | 32 |
|
33 | 33 | /* === the following could run on another computer === */ |
34 | 34 |
|
35 | 35 | /* resolve the stream and open an inlet */ |
36 | | - lsl_resolve_byprop(&info,1,"name","MetaTester",1,LSL_FOREVER); |
| 36 | + lsl_resolve_byprop(&info, 1, "name", "MetaTester", 1, LSL_FOREVER); |
37 | 37 | inlet = lsl_create_inlet(info, 360, LSL_NO_PREFERENCE, 1); |
38 | | - inf = lsl_get_fullinfo(inlet,LSL_FOREVER,&errcode); |
| 38 | + inf = lsl_get_fullinfo(inlet, LSL_FOREVER, &errcode); |
39 | 39 | printf("The stream's XML meta-data is: \n"); |
40 | | - printf("%s\n",lsl_get_xml(inf)); |
41 | | - printf("The manufacturer is: %s\n",lsl_child_value_n(lsl_get_desc(inf),"manufacturer")); |
42 | | - printf("The cap circumference is: %s\n",lsl_child_value_n(lsl_child(lsl_get_desc(inf),"cap"),"size")); |
| 40 | + printf("%s\n", lsl_get_xml(inf)); |
| 41 | + printf("The manufacturer is: %s\n", lsl_child_value_n(lsl_get_desc(inf), "manufacturer")); |
| 42 | + printf("The cap circumference is: %s\n", |
| 43 | + lsl_child_value_n(lsl_child(lsl_get_desc(inf), "cap"), "size")); |
43 | 44 | printf("The channel labels are as follows:\n"); |
44 | | - chn = lsl_child(lsl_child(lsl_get_desc(inf),"channels"),"channel"); |
45 | | - for (c=0; c<lsl_get_channel_count(inf); c++) { |
46 | | - printf(" %s\n",lsl_child_value_n(chn,"label")); |
47 | | - chn = lsl_next_sibling(chn); |
48 | | - } |
| 45 | + chn = lsl_child(lsl_child(lsl_get_desc(inf), "channels"), "channel"); |
| 46 | + for (c = 0; c < lsl_get_channel_count(inf); c++) { |
| 47 | + printf(" %s\n", lsl_child_value_n(chn, "label")); |
| 48 | + chn = lsl_next_sibling(chn); |
| 49 | + } |
49 | 50 |
|
50 | 51 | /* destroy objects and free memory */ |
51 | 52 | lsl_destroy_streaminfo(inf); |
|
0 commit comments