1 module libwasm.bindings.AudioParam;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 @safe:
7 nothrow:
8 
9 struct AudioParam {
10   nothrow:
11   JsHandle handle;
12   alias handle this;
13   this(Handle h) {
14     this.handle = JsHandle(h);
15   }
16   void value()(float value) {
17     Object_Call_float__void(this.handle, "value", value);
18   }
19   float value()() {
20     return Object_Getter__float(this.handle, "value");
21   }
22   float defaultValue()() {
23     return Object_Getter__float(this.handle, "defaultValue");
24   }
25   float minValue()() {
26     return Object_Getter__float(this.handle, "minValue");
27   }
28   float maxValue()() {
29     return Object_Getter__float(this.handle, "maxValue");
30   }
31   auto setValueAtTime()(float value, double startTime) {
32     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "setValueAtTime", "float;double", tuple(value, startTime)));
33   }
34   auto linearRampToValueAtTime()(float value, double endTime) {
35     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "linearRampToValueAtTime", "float;double", tuple(value, endTime)));
36   }
37   auto exponentialRampToValueAtTime()(float value, double endTime) {
38     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "exponentialRampToValueAtTime", "float;double", tuple(value, endTime)));
39   }
40   auto setTargetAtTime()(float target, double startTime, double timeConstant) {
41     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "setTargetAtTime", "float;double;double", tuple(target, startTime, timeConstant)));
42   }
43   auto setValueCurveAtTime()(scope ref Sequence!(float) values, double startTime, double duration) {
44     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "setValueCurveAtTime", "Handle;double;double", tuple(cast(Handle)values.handle, startTime, duration)));
45   }
46   auto cancelScheduledValues()(double startTime) {
47     return AudioParam(Serialize_Object_VarArgCall!Handle(this.handle, "cancelScheduledValues", "double", tuple(startTime)));
48   }
49   uint parentNodeId()() {
50     return Object_Getter__uint(this.handle, "parentNodeId");
51   }
52   string name()() {
53     return Object_Getter__string(this.handle, "name");
54   }
55   bool isStreamSuspended()() {
56     return Object_Getter__bool(this.handle, "isStreamSuspended");
57   }
58 }
59 enum AutomationRate {
60   a_rate,
61   k_rate
62 }
63 
64