Vuo  2.3.2
VuoInputEditorHidDevice.cc
Go to the documentation of this file.
1 
11 
12 extern "C"
13 {
14  #include "VuoHid.h"
15 }
16 
21 {
22  return new VuoInputEditorHidDevice();
23 }
24 
29 {
30  VuoInputEditorMenuItem *optionsTree = new VuoInputEditorMenuItem("root");
31 
32  optionsTree->addItem(new VuoInputEditorMenuItem("None", NULL));
33 
34  optionsTree->addSeparator();
35  optionsTree->addItem(new VuoInputEditorMenuItem("First device of type", NULL, NULL, false));
36 
37  vector<pair<int,int>> usages{{1,6},{1,2},{1,4},{1,5}};
38  VuoHidDevice device;
39  bzero(&device, sizeof(device));
40  device.matchType = VuoHidDevice_MatchUsage;
41  for (auto usage : usages)
42  {
43  device.usagePage = usage.first;
44  device.usage = usage.second;
45  char *label = VuoHid_getUsageText(device.usagePage, device.usage);
46  optionsTree->addItem(new VuoInputEditorMenuItem(VuoText_format(" %s", label), VuoHidDevice_getJson(device)));
47  free(label);
48  }
49 
50  optionsTree->addSeparator();
51  optionsTree->addItem(new VuoInputEditorMenuItem("Specific device", NULL, NULL, false));
52 
54 
55  unsigned long deviceCount = VuoListGetCount_VuoHidDevice(devices);
56  if (deviceCount)
57  for (unsigned long i = 1; i <= deviceCount; ++i)
58  {
59  VuoHidDevice device = VuoListGetValue_VuoHidDevice(devices, i);
60  optionsTree->addItem(new VuoInputEditorMenuItem(VuoText_format(" %s", device.name), VuoHidDevice_getJson(device)));
61  }
62  else
63  optionsTree->addItem(new VuoInputEditorMenuItem(" (no devices found)", NULL, NULL, false));
64 
65  return optionsTree;
66 }