1 module libwasm.bindings.ConvolverNode;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.AudioBuffer;
7 import libwasm.bindings.AudioNode;
8 
9 @safe:
10 nothrow:
11 
12 struct ConvolverNode {
13   nothrow:
14   libwasm.bindings.AudioNode.AudioNode _parent;
15   alias _parent this;
16   this(Handle h) {
17     _parent = .AudioNode(h);
18   }
19   void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) {
20     Serialize_Object_VarArgCall!void(this._parent, "buffer", "Optional!Handle", tuple(!buffer.empty, cast(Handle)buffer.front.handle));
21   }
22   auto buffer()() {
23     return recastOpt!(AudioBuffer)(Object_Getter__OptionalHandle(this._parent, "buffer"));
24   }
25   void normalize()(bool normalize) {
26     Object_Call_bool__void(this._parent, "normalize", normalize);
27   }
28   bool normalize()() {
29     return Object_Getter__bool(this._parent, "normalize");
30   }
31   void passThrough()(bool passThrough) {
32     Object_Call_bool__void(this._parent, "passThrough", passThrough);
33   }
34   bool passThrough()() {
35     return Object_Getter__bool(this._parent, "passThrough");
36   }
37 }
38 struct ConvolverOptions {
39   nothrow:
40   libwasm.bindings.AudioNode.AudioNodeOptions _parent;
41   alias _parent this;
42   this(Handle h) {
43     _parent = .AudioNodeOptions(h);
44   }
45   static auto create() {
46     return ConvolverOptions(libwasm_add__object());
47   }
48   void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) {
49     Serialize_Object_VarArgCall!void(this._parent, "buffer", "Optional!Handle", tuple(!buffer.empty, cast(Handle)buffer.front.handle));
50   }
51   auto buffer()() {
52     return recastOpt!(AudioBuffer)(Object_Getter__OptionalHandle(this._parent, "buffer"));
53   }
54   void disableNormalization()(bool disableNormalization) {
55     Object_Call_bool__void(this._parent, "disableNormalization", disableNormalization);
56   }
57   bool disableNormalization()() {
58     return Object_Getter__bool(this._parent, "disableNormalization");
59   }
60 }
61 
62