1 module libwasm.bindings.PannerNode;
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 enum DistanceModelType {
13   linear,
14   inverse,
15   exponential
16 }
17 struct PannerNode {
18   nothrow:
19   libwasm.bindings.AudioNode.AudioNode _parent;
20   alias _parent this;
21   this(Handle h) {
22     _parent = .AudioNode(h);
23   }
24   void panningModel()(PanningModelType panningModel) {
25     Object_Call_int__void(this._parent, "panningModel", panningModel);
26   }
27   PanningModelType panningModel()() {
28     return Object_Getter__int(this._parent, "panningModel");
29   }
30   void setPosition()(double x, double y, double z) {
31     Serialize_Object_VarArgCall!void(this._parent, "setPosition", "double;double;double", tuple(x, y, z));
32   }
33   void setOrientation()(double x, double y, double z) {
34     Serialize_Object_VarArgCall!void(this._parent, "setOrientation", "double;double;double", tuple(x, y, z));
35   }
36   auto positionX()() {
37     return AudioParam(Object_Getter__Handle(this._parent, "positionX"));
38   }
39   auto positionY()() {
40     return AudioParam(Object_Getter__Handle(this._parent, "positionY"));
41   }
42   auto positionZ()() {
43     return AudioParam(Object_Getter__Handle(this._parent, "positionZ"));
44   }
45   auto orientationX()() {
46     return AudioParam(Object_Getter__Handle(this._parent, "orientationX"));
47   }
48   auto orientationY()() {
49     return AudioParam(Object_Getter__Handle(this._parent, "orientationY"));
50   }
51   auto orientationZ()() {
52     return AudioParam(Object_Getter__Handle(this._parent, "orientationZ"));
53   }
54   void distanceModel()(DistanceModelType distanceModel) {
55     Object_Call_int__void(this._parent, "distanceModel", distanceModel);
56   }
57   DistanceModelType distanceModel()() {
58     return Object_Getter__int(this._parent, "distanceModel");
59   }
60   void refDistance()(double refDistance) {
61     Object_Call_double__void(this._parent, "refDistance", refDistance);
62   }
63   double refDistance()() {
64     return Object_Getter__double(this._parent, "refDistance");
65   }
66   void maxDistance()(double maxDistance) {
67     Object_Call_double__void(this._parent, "maxDistance", maxDistance);
68   }
69   double maxDistance()() {
70     return Object_Getter__double(this._parent, "maxDistance");
71   }
72   void rolloffFactor()(double rolloffFactor) {
73     Object_Call_double__void(this._parent, "rolloffFactor", rolloffFactor);
74   }
75   double rolloffFactor()() {
76     return Object_Getter__double(this._parent, "rolloffFactor");
77   }
78   void coneInnerAngle()(double coneInnerAngle) {
79     Object_Call_double__void(this._parent, "coneInnerAngle", coneInnerAngle);
80   }
81   double coneInnerAngle()() {
82     return Object_Getter__double(this._parent, "coneInnerAngle");
83   }
84   void coneOuterAngle()(double coneOuterAngle) {
85     Object_Call_double__void(this._parent, "coneOuterAngle", coneOuterAngle);
86   }
87   double coneOuterAngle()() {
88     return Object_Getter__double(this._parent, "coneOuterAngle");
89   }
90   void coneOuterGain()(double coneOuterGain) {
91     Object_Call_double__void(this._parent, "coneOuterGain", coneOuterGain);
92   }
93   double coneOuterGain()() {
94     return Object_Getter__double(this._parent, "coneOuterGain");
95   }
96   void passThrough()(bool passThrough) {
97     Object_Call_bool__void(this._parent, "passThrough", passThrough);
98   }
99   bool passThrough()() {
100     return Object_Getter__bool(this._parent, "passThrough");
101   }
102 }
103 struct PannerOptions {
104   nothrow:
105   libwasm.bindings.AudioNode.AudioNodeOptions _parent;
106   alias _parent this;
107   this(Handle h) {
108     _parent = .AudioNodeOptions(h);
109   }
110   static auto create() {
111     return PannerOptions(libwasm_add__object());
112   }
113   void panningModel()(PanningModelType panningModel) {
114     Object_Call_int__void(this._parent, "panningModel", panningModel);
115   }
116   PanningModelType panningModel()() {
117     return Object_Getter__int(this._parent, "panningModel");
118   }
119   void distanceModel()(DistanceModelType distanceModel) {
120     Object_Call_int__void(this._parent, "distanceModel", distanceModel);
121   }
122   DistanceModelType distanceModel()() {
123     return Object_Getter__int(this._parent, "distanceModel");
124   }
125   void positionX()(float positionX) {
126     Object_Call_float__void(this._parent, "positionX", positionX);
127   }
128   float positionX()() {
129     return Object_Getter__float(this._parent, "positionX");
130   }
131   void positionY()(float positionY) {
132     Object_Call_float__void(this._parent, "positionY", positionY);
133   }
134   float positionY()() {
135     return Object_Getter__float(this._parent, "positionY");
136   }
137   void positionZ()(float positionZ) {
138     Object_Call_float__void(this._parent, "positionZ", positionZ);
139   }
140   float positionZ()() {
141     return Object_Getter__float(this._parent, "positionZ");
142   }
143   void orientationX()(float orientationX) {
144     Object_Call_float__void(this._parent, "orientationX", orientationX);
145   }
146   float orientationX()() {
147     return Object_Getter__float(this._parent, "orientationX");
148   }
149   void orientationY()(float orientationY) {
150     Object_Call_float__void(this._parent, "orientationY", orientationY);
151   }
152   float orientationY()() {
153     return Object_Getter__float(this._parent, "orientationY");
154   }
155   void orientationZ()(float orientationZ) {
156     Object_Call_float__void(this._parent, "orientationZ", orientationZ);
157   }
158   float orientationZ()() {
159     return Object_Getter__float(this._parent, "orientationZ");
160   }
161   void refDistance()(double refDistance) {
162     Object_Call_double__void(this._parent, "refDistance", refDistance);
163   }
164   double refDistance()() {
165     return Object_Getter__double(this._parent, "refDistance");
166   }
167   void maxDistance()(double maxDistance) {
168     Object_Call_double__void(this._parent, "maxDistance", maxDistance);
169   }
170   double maxDistance()() {
171     return Object_Getter__double(this._parent, "maxDistance");
172   }
173   void rolloffFactor()(double rolloffFactor) {
174     Object_Call_double__void(this._parent, "rolloffFactor", rolloffFactor);
175   }
176   double rolloffFactor()() {
177     return Object_Getter__double(this._parent, "rolloffFactor");
178   }
179   void coneInnerAngle()(double coneInnerAngle) {
180     Object_Call_double__void(this._parent, "coneInnerAngle", coneInnerAngle);
181   }
182   double coneInnerAngle()() {
183     return Object_Getter__double(this._parent, "coneInnerAngle");
184   }
185   void coneOuterAngle()(double coneOuterAngle) {
186     Object_Call_double__void(this._parent, "coneOuterAngle", coneOuterAngle);
187   }
188   double coneOuterAngle()() {
189     return Object_Getter__double(this._parent, "coneOuterAngle");
190   }
191   void coneOuterGain()(double coneOuterGain) {
192     Object_Call_double__void(this._parent, "coneOuterGain", coneOuterGain);
193   }
194   double coneOuterGain()() {
195     return Object_Getter__double(this._parent, "coneOuterGain");
196   }
197 }
198 enum PanningModelType {
199   equalpower,
200   HRTF
201 }
202 
203