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