Vuo  2.4.0
VuoMidiOutputDevice.c
Go to the documentation of this file.
1
10#include "type.h"
11#include "VuoMidiOutputDevice.h"
12
14#ifdef VUO_COMPILER
16 "title" : "MIDI Output Device",
17 "description" : "A set of specifications for choosing a MIDI output device.",
18 "keywords" : [ ],
19 "version" : "1.0.0",
20 "dependencies" : [
21 "VuoInteger",
22 "VuoText"
23 ]
24 });
25#endif
27
39{
40 return (VuoMidiOutputDevice){
42 VuoJson_getObjectValue(VuoText, js, "name", NULL),
43 };
44}
45
50{
51 json_object *js = json_object_new_object();
52
53 if (md.id > 0)
54 {
55 json_object *idObject = VuoInteger_getJson(md.id);
56 json_object_object_add(js, "id", idObject);
57 }
58
59 if (md.name)
60 {
61 json_object *nameObject = VuoText_getJson(md.name);
62 json_object_object_add(js, "name", nameObject);
63 }
64
65 return js;
66}
67
72{
73 if (md.id == -1 && VuoText_isEmpty(md.name))
74 return VuoText_format("The first MIDI output device");
75 else if (md.id == -1)
76 return VuoText_format("The first MIDI output device whose name contains \"%s\"", md.name);
77 else if (strlen(md.name) == 0)
78 return VuoText_format("MIDI output device #%lld", md.id);
79 else
80 return VuoText_format("MIDI output device #%lld (\"%s\")", md.id, md.name);
81}
82
87{
88 return value1.id == value2.id
89 && VuoText_areEqual(value1.name, value2.name);
90}
91
96{
97 return a.id < b.id;
98}