Vuo  2.0.0
VuoMovieFormat.c
Go to the documentation of this file.
1 
10 #include "type.h"
11 #include "VuoMovieFormat.h"
12 
14 #ifdef VUO_COMPILER
16  "title" : "Movie Format",
17  "description" : "Movie encoding attributes.",
18  "keywords" : [ ],
19  "version" : "1.0.0",
20  "dependencies" : [
21  "VuoAudioEncoding",
22  "VuoMovieImageEncoding",
23  "VuoReal",
24  "VuoText"
25  ]
26  });
27 #endif
28 
43 {
44  return (VuoMovieFormat){
45  VuoJson_getObjectValue(VuoMovieImageEncoding, js, "imageEncoding", VuoMovieImageEncoding_JPEG),
46  VuoJson_getObjectValue(VuoReal, js, "imageQuality", 1),
47  VuoJson_getObjectValue(VuoAudioEncoding, js, "audioEncoding", VuoAudioEncoding_LinearPCM),
48  VuoJson_getObjectValue(VuoReal, js, "audioQuality", 1)
49  };
50 }
51 
56 {
57  json_object *js = json_object_new_object();
58 
60  json_object_object_add(js, "imageEncoding", imageEncoding);
61 
62  json_object *imageQuality = VuoReal_getJson(value.imageQuality);
63  json_object_object_add(js, "imageQuality", imageQuality);
64 
65  json_object *audioEncoding = VuoAudioEncoding_getJson(value.audioEncoding);
66  json_object_object_add(js, "audioEncoding", audioEncoding);
67 
68  json_object *audioQuality = VuoReal_getJson(value.audioQuality);
69  json_object_object_add(js, "audioQuality", audioQuality);
70 
71  return js;
72 }
73 
78 {
79  return VuoText_format("Image encoding: %s<br>Image quality: %g<br>Audio encoding: %s<br>Audio quality: %g",
81  value.imageQuality,
83  value.audioQuality);
84 }
85 
90 {
91  return (value1.imageEncoding == value2.imageEncoding &&
92  VuoReal_areEqual(value1.imageQuality, value2.imageQuality) &&
93  value1.audioEncoding == value2.audioEncoding &&
95  );
96 }
97 
103 {
104  if (a.imageEncoding < b.imageEncoding) return true;
105  if (b.imageEncoding < a.imageEncoding) return false;
106 
107  if (a.imageQuality < b.imageQuality) return true;
108  if (b.imageQuality < a.imageQuality) return false;
109 
110  if (a.audioEncoding < b.audioEncoding) return true;
111  if (b.audioEncoding < a.audioEncoding) return false;
112 
113  if (a.audioQuality < b.audioQuality) return true;
114  /*if (b.audioQuality < a.audioQuality)*/ return false;
115 }