1 module libwasm.bindings.DynamicsCompressorNode;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 import libwasm.bindings.AudioNode;
7 import libwasm.bindings.AudioParam;
8 
9 @safe:
10 nothrow:
11 
12 struct DynamicsCompressorNode {
13   nothrow:
14   libwasm.bindings.AudioNode.AudioNode _parent;
15   alias _parent this;
16   this(Handle h) {
17     _parent = .AudioNode(h);
18   }
19   auto threshold()() {
20     return AudioParam(Object_Getter__Handle(this._parent, "threshold"));
21   }
22   auto knee()() {
23     return AudioParam(Object_Getter__Handle(this._parent, "knee"));
24   }
25   auto ratio()() {
26     return AudioParam(Object_Getter__Handle(this._parent, "ratio"));
27   }
28   float reduction()() {
29     return Object_Getter__float(this._parent, "reduction");
30   }
31   auto attack()() {
32     return AudioParam(Object_Getter__Handle(this._parent, "attack"));
33   }
34   auto release()() {
35     return AudioParam(Object_Getter__Handle(this._parent, "release"));
36   }
37   void passThrough()(bool passThrough) {
38     Object_Call_bool__void(this._parent, "passThrough", passThrough);
39   }
40   bool passThrough()() {
41     return Object_Getter__bool(this._parent, "passThrough");
42   }
43 }
44 struct DynamicsCompressorOptions {
45   nothrow:
46   libwasm.bindings.AudioNode.AudioNodeOptions _parent;
47   alias _parent this;
48   this(Handle h) {
49     _parent = .AudioNodeOptions(h);
50   }
51   static auto create() {
52     return DynamicsCompressorOptions(libwasm_add__object());
53   }
54   void attack()(float attack) {
55     Object_Call_float__void(this._parent, "attack", attack);
56   }
57   float attack()() {
58     return Object_Getter__float(this._parent, "attack");
59   }
60   void knee()(float knee) {
61     Object_Call_float__void(this._parent, "knee", knee);
62   }
63   float knee()() {
64     return Object_Getter__float(this._parent, "knee");
65   }
66   void ratio()(float ratio) {
67     Object_Call_float__void(this._parent, "ratio", ratio);
68   }
69   float ratio()() {
70     return Object_Getter__float(this._parent, "ratio");
71   }
72   void release()(float release) {
73     Object_Call_float__void(this._parent, "release", release);
74   }
75   float release()() {
76     return Object_Getter__float(this._parent, "release");
77   }
78   void threshold()(float threshold) {
79     Object_Call_float__void(this._parent, "threshold", threshold);
80   }
81   float threshold()() {
82     return Object_Getter__float(this._parent, "threshold");
83   }
84 }
85 
86