Vuo
2.4.4
Loading...
Searching...
No Matches
node
vuo.video
VuoAudioFrame.c
Go to the documentation of this file.
1
10
#include "
VuoAudioFrame.h
"
11
#include "
VuoText.h
"
12
14
#ifdef VUO_COMPILER
15
VuoModuleMetadata
({
16
"title"
:
"Audio Frame"
,
17
"description"
:
"VuoAudioSamples and timestamp for a single frame of audio."
,
18
"keywords"
: [ ],
19
"version"
:
"1.0.0"
,
20
"dependencies"
: [
21
"VuoAudioSamples"
,
22
"VuoList_VuoAudioSamples"
,
23
"VuoReal"
24
]
25
});
26
#endif
28
39
VuoAudioFrame
VuoAudioFrame_makeFromJson
(json_object *js)
40
{
41
return
(
VuoAudioFrame
){
42
VuoJson_getObjectValue
(
VuoList_VuoAudioSamples
, js,
"channels"
, NULL),
43
VuoJson_getObjectValue
(
VuoReal
, js,
"timestamp"
, 0),
44
};
45
}
46
50
json_object *
VuoAudioFrame_getJson
(
const
VuoAudioFrame
value)
51
{
52
json_object *js = json_object_new_object();
53
54
json_object *channelsObject =
VuoList_VuoAudioSamples_getJson
(value.channels);
55
json_object_object_add(js,
"channels"
, channelsObject);
56
57
json_object *timestampObject =
VuoReal_getJson
(value.timestamp);
58
json_object_object_add(js,
"timestamp"
, timestampObject);
59
60
return
js;
61
}
62
66
char
*
VuoAudioFrame_getSummary
(
const
VuoAudioFrame
value)
67
{
68
return
VuoText_format
(
"%s<br />Timestamp: <tt>%.3f</tt> seconds"
,
VuoList_VuoAudioSamples_getSummary
(value.channels), value.timestamp );
69
}
70
74
bool
VuoAudioFrame_areEqual
(
VuoAudioFrame
value1,
VuoAudioFrame
value2)
75
{
76
return
fabs(value1.timestamp - value2.timestamp) < .001;
77
}
78
83
bool
VuoAudioFrame_isLessThan
(
const
VuoAudioFrame
a,
const
VuoAudioFrame
b)
84
{
85
return
a.timestamp < b.timestamp;
86
}
87
92
void
VuoAudioFrame_retain
(
VuoAudioFrame
value)
93
{
94
VuoRetain
(value.channels);
95
}
96
101
void
VuoAudioFrame_release
(
VuoAudioFrame
value)
102
{
103
VuoRelease
(value.channels);
104
}
Generated on Thu Nov 9 2023 16:59:30 for Vuo by
1.9.8