Vuo  2.3.2
VuoArtNetInputDevice.c
Go to the documentation of this file.
1 
10 #include "type.h"
11 #include "VuoArtNetInputDevice.h"
12 
14 #ifdef VUO_COMPILER
16  "title" : "Art-Net Input Device",
17  "description" : "Information about an Art-Net input device.",
18  "keywords" : [ ],
19  "version" : "1.0.0",
20  "dependencies" : [
21  "VuoInteger",
22  "VuoText"
23  ]
24  });
25 #endif
27 
43 {
44  return (VuoArtNetInputDevice){
45  VuoJson_getObjectValue(VuoText, js, "name", NULL),
46  VuoJson_getObjectValue(VuoText, js, "ipAddress", NULL),
47  VuoJson_getObjectValue(VuoText, js, "ethernetAddress", NULL),
48  {
49  VuoJson_getObjectValue(VuoInteger, js, "net", 0),
50  VuoJson_getObjectValue(VuoInteger, js, "subNet", 0),
51  VuoJson_getObjectValue(VuoInteger, js, "universe", 0),
52  }};
53 }
54 
59 {
60  json_object *js = json_object_new_object();
61 
62  if (value.name)
63  json_object_object_add(js, "name", VuoText_getJson(value.name));
64 
65  if (value.ipAddress)
66  json_object_object_add(js, "ipAddress", VuoText_getJson(value.ipAddress));
67 
68  if (value.ethernetAddress)
69  json_object_object_add(js, "ethernetAddress", VuoText_getJson(value.ethernetAddress));
70 
71  json_object_object_add(js, "net", VuoInteger_getJson(value.address.net));
72 
73  json_object_object_add(js, "subNet", VuoInteger_getJson(value.address.subNet));
74 
75  json_object_object_add(js, "universe", VuoInteger_getJson(value.address.universe));
76 
77  return js;
78 }
79 
84 {
85  if (value.name && value.ipAddress && value.ethernetAddress)
86  return VuoText_format("%s<br>%s (%s)<br>Net %lld, Sub-Net %lld, Universe %lld",
87  value.name,
88  value.ipAddress, value.ethernetAddress,
89  value.address.net, value.address.subNet, value.address.universe);
90  else
91  return VuoText_format("Net %lld, Sub-Net %lld, Universe %lld", value.address.net, value.address.subNet, value.address.universe);
92 }
93 
98 {
100  bzero(&d, sizeof(VuoArtNetInputDevice));
101  d.address.net = MIN(MAX(net, 0), 127);
102  d.address.subNet = MIN(MAX(subNet, 0), 15);
103  d.address.universe = MIN(MAX(universe, 0), 15);
104  return d;
105 }
106 
115 {
116  if (!VuoArtNetAddress_areEqual(value1.address, value2.address))
117  return false;
118 
119  if (!VuoText_areEqual(value1.ipAddress, value2.ipAddress))
120  return false;
121 
122  if (!VuoText_areEqual(value1.name, value2.name))
123  return false;
124 
125  if (!VuoText_areEqual(value1.ethernetAddress, value2.ethernetAddress))
126  return false;
127 
128  return true;
129 }
130 
135 {
136  VuoType_returnInequality(VuoText, a.name, b.name);
137  VuoType_returnInequality(VuoText, a.ipAddress, b.ipAddress);
138  VuoType_returnInequality(VuoText, a.ethernetAddress, b.ethernetAddress);
139  VuoType_returnInequality(VuoArtNetAddress, a.address, b.address);
140  return false;
141 }
142 
147 {
148  return value1.net == value2.net
149  && value1.subNet == value2.subNet
150  && value1.universe == value2.universe;
151 }
152 
157 {
158  VuoInteger a1 = (value1.net << 8) + (value1.subNet << 4) + value1.universe;
159  VuoInteger a2 = (value2.net << 8) + (value2.subNet << 4) + value2.universe;
160 
161  return a1 < a2;
162 }