Vuo 2.4.4
Loading...
Searching...
No Matches
VuoBlackmagicOutputDevice.c
Go to the documentation of this file.
1
11
13#ifdef VUO_COMPILER
15 "title" : "Blackmagic Output Device",
16 "description" : "Information about a Blackmagic video output device.",
17 "keywords" : [ ],
18 "version" : "1.0.0",
19 "dependencies" : [
20 "VuoBlackmagicConnection",
21 "VuoBlackmagicVideoMode",
22 "VuoInteger",
23 "VuoText"
24 ]
25});
26#endif
28
42{
44 VuoJson_getObjectValue(VuoText, js, "name", NULL),
45 VuoJson_getObjectValue(VuoInteger, js, "subDevice", 0),
46 VuoJson_getObjectValue(VuoBlackmagicConnection, js, "connection", VuoBlackmagicConnection_Composite),
47 VuoJson_getObjectValue(VuoBlackmagicVideoMode, js, "videoMode", VuoBlackmagicVideoMode_NTSC),
48 };
49}
50
55{
56 json_object *js = json_object_new_object();
57
58 if (value.name)
59 json_object_object_add(js, "name", VuoText_getJson(value.name));
60
61 if (value.subDevice)
62 json_object_object_add(js, "subDevice", VuoInteger_getJson(value.subDevice));
63
64 json_object_object_add(js, "connection", VuoBlackmagicConnection_getJson(value.connection));
65
66 json_object_object_add(js, "videoMode", VuoBlackmagicVideoMode_getJson(value.videoMode));
67
68 return js;
69}
70
75{
76 char *connection = VuoBlackmagicConnection_getSummary(value.connection);
77 char *mode = VuoBlackmagicVideoMode_getSummary(value.videoMode);
78
79 char *summary;
80 if (value.name)
81 summary = VuoText_format("%s<br>Sub-device %lld<br>Connection: %s<br>Mode: %s",
82 value.name, value.subDevice, connection, mode);
83 else
84 summary = VuoText_format("First available Blackmagic output device<br>Connection: %s<br>Mode: %s",
85 connection, mode);
86
87 free(connection);
88 free(mode);
89 return summary;
90}
91
96{
97 if (value.name)
98 return VuoText_format("%s, sub-device %lld", value.name, value.subDevice);
99 else
100 return strdup("First available Blackmagic output device");
101}
102
107{
108 return (VuoBlackmagicOutputDevice){name, subDevice, connection, videoMode};
109}
110
115{
116 if (!VuoText_areEqual(value1.name, value2.name))
117 return false;
118
119 if (value1.subDevice != value2.subDevice)
120 return false;
121
122 if (!VuoBlackmagicConnection_areEqual(value1.connection, value2.connection))
123 return false;
124
125 if (!VuoBlackmagicVideoMode_areEqual(value1.videoMode, value2.videoMode))
126 return false;
127
128 return true;
129}
130
135{
136 VuoType_returnInequality(VuoText, a.name, b.name);
137 VuoType_returnInequality(VuoInteger, a.subDevice, b.subDevice);
138 VuoType_returnInequality(VuoBlackmagicConnection, a.connection, b.connection);
139 VuoType_returnInequality(VuoBlackmagicVideoMode, a.videoMode, b.videoMode);
140 return false;
141}