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