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