1 module libwasm.bindings.AudioWorkletNode; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.AudioNode; 7 import libwasm.bindings.AudioParamMap; 8 import libwasm.bindings.EventHandler; 9 import libwasm.bindings.MessagePort; 10 11 @safe: 12 nothrow: 13 14 struct AudioWorkletNode { 15 nothrow: 16 libwasm.bindings.AudioNode.AudioNode _parent; 17 alias _parent this; 18 this(Handle h) { 19 _parent = .AudioNode(h); 20 } 21 auto parameters()() { 22 return AudioParamMap(Object_Getter__Handle(this._parent, "parameters")); 23 } 24 auto port()() { 25 return MessagePort(Object_Getter__Handle(this._parent, "port")); 26 } 27 void onprocessorerror(T0)(scope auto ref Optional!(T0) onprocessorerror) if (isTOrPointer!(T0, EventHandlerNonNull)) { 28 Object_Call_EventHandler__void(this._parent, "onprocessorerror", !onprocessorerror.empty, onprocessorerror.front); 29 } 30 EventHandler onprocessorerror()() { 31 return Object_Getter__EventHandler(this._parent, "onprocessorerror"); 32 } 33 } 34 struct AudioWorkletNodeOptions { 35 nothrow: 36 libwasm.bindings.AudioNode.AudioNodeOptions _parent; 37 alias _parent this; 38 this(Handle h) { 39 _parent = .AudioNodeOptions(h); 40 } 41 static auto create() { 42 return AudioWorkletNodeOptions(libwasm_add__object()); 43 } 44 void numberOfInputs()(uint numberOfInputs) { 45 Object_Call_uint__void(this._parent, "numberOfInputs", numberOfInputs); 46 } 47 uint numberOfInputs()() { 48 return Object_Getter__uint(this._parent, "numberOfInputs"); 49 } 50 void numberOfOutputs()(uint numberOfOutputs) { 51 Object_Call_uint__void(this._parent, "numberOfOutputs", numberOfOutputs); 52 } 53 uint numberOfOutputs()() { 54 return Object_Getter__uint(this._parent, "numberOfOutputs"); 55 } 56 void outputChannelCount()(scope ref Sequence!(uint) outputChannelCount) { 57 Object_Call_Handle__void(this._parent, "outputChannelCount", outputChannelCount.handle); 58 } 59 auto outputChannelCount()() { 60 return Sequence!(uint)(Object_Getter__Handle(this._parent, "outputChannelCount")); 61 } 62 void parameterData()(scope ref Record!(string, double) parameterData) { 63 Object_Call_Handle__void(this._parent, "parameterData", parameterData.handle); 64 } 65 auto parameterData()() { 66 return Record!(string, double)(Object_Getter__Handle(this._parent, "parameterData")); 67 } 68 void processorOptions(T0)(scope auto ref Optional!(T0) processorOptions) if (isTOrPointer!(T0, JsObject)) { 69 Serialize_Object_VarArgCall!void(this._parent, "processorOptions", "Optional!Handle", tuple(!processorOptions.empty, cast(Handle)processorOptions.front.handle)); 70 } 71 auto processorOptions()() { 72 return recastOpt!(JsObject)(Object_Getter__OptionalHandle(this._parent, "processorOptions")); 73 } 74 } 75 76