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