1 module spasm.bindings.audio; 2 3 import spasm.types; 4 import spasm.bindings.common; 5 import spasm.bindings.dom; 6 import spasm.bindings.domhighrestimestamp; 7 import spasm.bindings.html; 8 import spasm.bindings.mediastream; 9 import spasm.bindings.worklet; 10 11 @safe: 12 nothrow: 13 14 struct AnalyserNode { 15 nothrow: 16 spasm.bindings.audio.AudioNode _parent; 17 alias _parent this; 18 this(Handle h) { 19 _parent = .AudioNode(h); 20 } 21 void getFloatFrequencyData()(scope ref Float32Array array) { 22 AnalyserNode_getFloatFrequencyData(this._parent, array.handle); 23 } 24 void getByteFrequencyData()(scope ref Uint8Array array) { 25 AnalyserNode_getByteFrequencyData(this._parent, array.handle); 26 } 27 void getFloatTimeDomainData()(scope ref Float32Array array) { 28 AnalyserNode_getFloatTimeDomainData(this._parent, array.handle); 29 } 30 void getByteTimeDomainData()(scope ref Uint8Array array) { 31 AnalyserNode_getByteTimeDomainData(this._parent, array.handle); 32 } 33 void fftSize()(uint fftSize) { 34 AnalyserNode_fftSize_Set(this._parent, fftSize); 35 } 36 auto fftSize()() { 37 return AnalyserNode_fftSize_Get(this._parent); 38 } 39 auto frequencyBinCount()() { 40 return AnalyserNode_frequencyBinCount_Get(this._parent); 41 } 42 void minDecibels()(double minDecibels) { 43 AnalyserNode_minDecibels_Set(this._parent, minDecibels); 44 } 45 auto minDecibels()() { 46 return AnalyserNode_minDecibels_Get(this._parent); 47 } 48 void maxDecibels()(double maxDecibels) { 49 AnalyserNode_maxDecibels_Set(this._parent, maxDecibels); 50 } 51 auto maxDecibels()() { 52 return AnalyserNode_maxDecibels_Get(this._parent); 53 } 54 void smoothingTimeConstant()(double smoothingTimeConstant) { 55 AnalyserNode_smoothingTimeConstant_Set(this._parent, smoothingTimeConstant); 56 } 57 auto smoothingTimeConstant()() { 58 return AnalyserNode_smoothingTimeConstant_Get(this._parent); 59 } 60 } 61 struct AnalyserOptions { 62 nothrow: 63 spasm.bindings.audio.AudioNodeOptions _parent; 64 alias _parent this; 65 this(Handle h) { 66 _parent = .AudioNodeOptions(h); 67 } 68 static auto create() { 69 return AnalyserOptions(spasm_add__object()); 70 } 71 void fftSize()(uint fftSize) { 72 AnalyserOptions_fftSize_Set(this._parent, fftSize); 73 } 74 auto fftSize()() { 75 return AnalyserOptions_fftSize_Get(this._parent); 76 } 77 void maxDecibels()(double maxDecibels) { 78 AnalyserOptions_maxDecibels_Set(this._parent, maxDecibels); 79 } 80 auto maxDecibels()() { 81 return AnalyserOptions_maxDecibels_Get(this._parent); 82 } 83 void minDecibels()(double minDecibels) { 84 AnalyserOptions_minDecibels_Set(this._parent, minDecibels); 85 } 86 auto minDecibels()() { 87 return AnalyserOptions_minDecibels_Get(this._parent); 88 } 89 void smoothingTimeConstant()(double smoothingTimeConstant) { 90 AnalyserOptions_smoothingTimeConstant_Set(this._parent, smoothingTimeConstant); 91 } 92 auto smoothingTimeConstant()() { 93 return AnalyserOptions_smoothingTimeConstant_Get(this._parent); 94 } 95 } 96 struct AudioBuffer { 97 nothrow: 98 JsHandle handle; 99 alias handle this; 100 this(Handle h) { 101 this.handle = JsHandle(h); 102 } 103 auto sampleRate()() { 104 return AudioBuffer_sampleRate_Get(this.handle); 105 } 106 auto length()() { 107 return AudioBuffer_length_Get(this.handle); 108 } 109 auto duration()() { 110 return AudioBuffer_duration_Get(this.handle); 111 } 112 auto numberOfChannels()() { 113 return AudioBuffer_numberOfChannels_Get(this.handle); 114 } 115 auto getChannelData()(uint channel) { 116 return Float32Array(AudioBuffer_getChannelData(this.handle, channel)); 117 } 118 void copyFromChannel()(scope ref Float32Array destination, uint channelNumber, uint startInChannel /* = 0 */) { 119 AudioBuffer_copyFromChannel(this.handle, destination.handle, channelNumber, startInChannel); 120 } 121 void copyFromChannel()(scope ref Float32Array destination, uint channelNumber) { 122 AudioBuffer_copyFromChannel_0(this.handle, destination.handle, channelNumber); 123 } 124 void copyToChannel()(scope ref Float32Array source, uint channelNumber, uint startInChannel /* = 0 */) { 125 AudioBuffer_copyToChannel(this.handle, source.handle, channelNumber, startInChannel); 126 } 127 void copyToChannel()(scope ref Float32Array source, uint channelNumber) { 128 AudioBuffer_copyToChannel_0(this.handle, source.handle, channelNumber); 129 } 130 } 131 struct AudioBufferOptions { 132 nothrow: 133 JsHandle handle; 134 alias handle this; 135 this(Handle h) { 136 this.handle = JsHandle(h); 137 } 138 static auto create() { 139 return AudioBufferOptions(spasm_add__object()); 140 } 141 void numberOfChannels()(uint numberOfChannels) { 142 AudioBufferOptions_numberOfChannels_Set(this.handle, numberOfChannels); 143 } 144 auto numberOfChannels()() { 145 return AudioBufferOptions_numberOfChannels_Get(this.handle); 146 } 147 void length()(uint length) { 148 AudioBufferOptions_length_Set(this.handle, length); 149 } 150 auto length()() { 151 return AudioBufferOptions_length_Get(this.handle); 152 } 153 void sampleRate()(float sampleRate) { 154 AudioBufferOptions_sampleRate_Set(this.handle, sampleRate); 155 } 156 auto sampleRate()() { 157 return AudioBufferOptions_sampleRate_Get(this.handle); 158 } 159 } 160 struct AudioBufferSourceNode { 161 nothrow: 162 spasm.bindings.audio.AudioScheduledSourceNode _parent; 163 alias _parent this; 164 this(Handle h) { 165 _parent = .AudioScheduledSourceNode(h); 166 } 167 void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) { 168 AudioBufferSourceNode_buffer_Set(this._parent, !buffer.empty, buffer.front.handle); 169 } 170 auto buffer()() { 171 return AudioBufferSourceNode_buffer_Get(this._parent); 172 } 173 auto playbackRate()() { 174 return AudioParam(AudioBufferSourceNode_playbackRate_Get(this._parent)); 175 } 176 auto detune()() { 177 return AudioParam(AudioBufferSourceNode_detune_Get(this._parent)); 178 } 179 void loop()(bool loop) { 180 AudioBufferSourceNode_loop_Set(this._parent, loop); 181 } 182 auto loop()() { 183 return AudioBufferSourceNode_loop_Get(this._parent); 184 } 185 void loopStart()(double loopStart) { 186 AudioBufferSourceNode_loopStart_Set(this._parent, loopStart); 187 } 188 auto loopStart()() { 189 return AudioBufferSourceNode_loopStart_Get(this._parent); 190 } 191 void loopEnd()(double loopEnd) { 192 AudioBufferSourceNode_loopEnd_Set(this._parent, loopEnd); 193 } 194 auto loopEnd()() { 195 return AudioBufferSourceNode_loopEnd_Get(this._parent); 196 } 197 void start()(double when /* = 0 */, double offset, double duration) { 198 AudioBufferSourceNode_start(this._parent, when, offset, duration); 199 } 200 void start()(double when /* = 0 */, double offset) { 201 AudioBufferSourceNode_start_0(this._parent, when, offset); 202 } 203 void start()(double when /* = 0 */) { 204 AudioBufferSourceNode_start_1(this._parent, when); 205 } 206 void start()() { 207 AudioBufferSourceNode_start_2(this._parent); 208 } 209 } 210 struct AudioBufferSourceOptions { 211 nothrow: 212 JsHandle handle; 213 alias handle this; 214 this(Handle h) { 215 this.handle = JsHandle(h); 216 } 217 static auto create() { 218 return AudioBufferSourceOptions(spasm_add__object()); 219 } 220 void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) { 221 AudioBufferSourceOptions_buffer_Set(this.handle, !buffer.empty, buffer.front.handle); 222 } 223 auto buffer()() { 224 return AudioBufferSourceOptions_buffer_Get(this.handle); 225 } 226 void detune()(float detune) { 227 AudioBufferSourceOptions_detune_Set(this.handle, detune); 228 } 229 auto detune()() { 230 return AudioBufferSourceOptions_detune_Get(this.handle); 231 } 232 void loop()(bool loop) { 233 AudioBufferSourceOptions_loop_Set(this.handle, loop); 234 } 235 auto loop()() { 236 return AudioBufferSourceOptions_loop_Get(this.handle); 237 } 238 void loopEnd()(double loopEnd) { 239 AudioBufferSourceOptions_loopEnd_Set(this.handle, loopEnd); 240 } 241 auto loopEnd()() { 242 return AudioBufferSourceOptions_loopEnd_Get(this.handle); 243 } 244 void loopStart()(double loopStart) { 245 AudioBufferSourceOptions_loopStart_Set(this.handle, loopStart); 246 } 247 auto loopStart()() { 248 return AudioBufferSourceOptions_loopStart_Get(this.handle); 249 } 250 void playbackRate()(float playbackRate) { 251 AudioBufferSourceOptions_playbackRate_Set(this.handle, playbackRate); 252 } 253 auto playbackRate()() { 254 return AudioBufferSourceOptions_playbackRate_Get(this.handle); 255 } 256 } 257 struct AudioContext { 258 nothrow: 259 spasm.bindings.audio.BaseAudioContext _parent; 260 alias _parent this; 261 this(Handle h) { 262 _parent = .BaseAudioContext(h); 263 } 264 auto baseLatency()() { 265 return AudioContext_baseLatency_Get(this._parent); 266 } 267 auto outputLatency()() { 268 return AudioContext_outputLatency_Get(this._parent); 269 } 270 auto getOutputTimestamp()() { 271 return AudioTimestamp(AudioContext_getOutputTimestamp(this._parent)); 272 } 273 auto resume()() { 274 return Promise!(void)(AudioContext_resume(this._parent)); 275 } 276 auto suspend()() { 277 return Promise!(void)(AudioContext_suspend(this._parent)); 278 } 279 auto close()() { 280 return Promise!(void)(AudioContext_close(this._parent)); 281 } 282 auto createMediaElementSource()(scope ref HTMLMediaElement mediaElement) { 283 return MediaElementAudioSourceNode(AudioContext_createMediaElementSource(this._parent, mediaElement._parent)); 284 } 285 auto createMediaStreamSource()(scope ref MediaStream mediaStream) { 286 return MediaStreamAudioSourceNode(AudioContext_createMediaStreamSource(this._parent, mediaStream._parent)); 287 } 288 auto createMediaStreamTrackSource()(scope ref MediaStreamTrack mediaStreamTrack) { 289 return MediaStreamTrackAudioSourceNode(AudioContext_createMediaStreamTrackSource(this._parent, mediaStreamTrack._parent)); 290 } 291 auto createMediaStreamDestination()() { 292 return MediaStreamAudioDestinationNode(AudioContext_createMediaStreamDestination(this._parent)); 293 } 294 } 295 enum AudioContextLatencyCategory { 296 balanced, 297 interactive, 298 playback 299 } 300 struct AudioContextOptions { 301 nothrow: 302 JsHandle handle; 303 alias handle this; 304 this(Handle h) { 305 this.handle = JsHandle(h); 306 } 307 static auto create() { 308 return AudioContextOptions(spasm_add__object()); 309 } 310 void latencyHint()(scope ref SumType!(AudioContextLatencyCategory, double) latencyHint) { 311 AudioContextOptions_latencyHint_Set(this.handle, latencyHint); 312 } 313 auto latencyHint()() { 314 return AudioContextOptions_latencyHint_Get(this.handle); 315 } 316 void sampleRate()(float sampleRate) { 317 AudioContextOptions_sampleRate_Set(this.handle, sampleRate); 318 } 319 auto sampleRate()() { 320 return AudioContextOptions_sampleRate_Get(this.handle); 321 } 322 } 323 enum AudioContextState { 324 suspended, 325 running, 326 closed 327 } 328 struct AudioDestinationNode { 329 nothrow: 330 spasm.bindings.audio.AudioNode _parent; 331 alias _parent this; 332 this(Handle h) { 333 _parent = .AudioNode(h); 334 } 335 auto maxChannelCount()() { 336 return AudioDestinationNode_maxChannelCount_Get(this._parent); 337 } 338 } 339 struct AudioListener { 340 nothrow: 341 JsHandle handle; 342 alias handle this; 343 this(Handle h) { 344 this.handle = JsHandle(h); 345 } 346 auto positionX()() { 347 return AudioParam(AudioListener_positionX_Get(this.handle)); 348 } 349 auto positionY()() { 350 return AudioParam(AudioListener_positionY_Get(this.handle)); 351 } 352 auto positionZ()() { 353 return AudioParam(AudioListener_positionZ_Get(this.handle)); 354 } 355 auto forwardX()() { 356 return AudioParam(AudioListener_forwardX_Get(this.handle)); 357 } 358 auto forwardY()() { 359 return AudioParam(AudioListener_forwardY_Get(this.handle)); 360 } 361 auto forwardZ()() { 362 return AudioParam(AudioListener_forwardZ_Get(this.handle)); 363 } 364 auto upX()() { 365 return AudioParam(AudioListener_upX_Get(this.handle)); 366 } 367 auto upY()() { 368 return AudioParam(AudioListener_upY_Get(this.handle)); 369 } 370 auto upZ()() { 371 return AudioParam(AudioListener_upZ_Get(this.handle)); 372 } 373 void setPosition()(float x, float y, float z) { 374 AudioListener_setPosition(this.handle, x, y, z); 375 } 376 void setOrientation()(float x, float y, float z, float xUp, float yUp, float zUp) { 377 AudioListener_setOrientation(this.handle, x, y, z, xUp, yUp, zUp); 378 } 379 } 380 struct AudioNode { 381 nothrow: 382 spasm.bindings.dom.EventTarget _parent; 383 alias _parent this; 384 this(Handle h) { 385 _parent = .EventTarget(h); 386 } 387 auto connect()(scope ref AudioNode destinationNode, uint output /* = 0 */, uint input /* = 0 */) { 388 return AudioNode(AudioNode_connect__Handle_uint_uint(this._parent, destinationNode._parent, output, input)); 389 } 390 auto connect()(scope ref AudioNode destinationNode, uint output /* = 0 */) { 391 return AudioNode(AudioNode_connect_0_Handle_uint(this._parent, destinationNode._parent, output)); 392 } 393 auto connect()(scope ref AudioNode destinationNode) { 394 return AudioNode(AudioNode_connect_1(this._parent, destinationNode._parent)); 395 } 396 void connect()(scope ref AudioParam destinationParam, uint output /* = 0 */) { 397 AudioNode_connect__Handle_uint(this._parent, destinationParam.handle, output); 398 } 399 void connect()(scope ref AudioParam destinationParam) { 400 AudioNode_connect_0_Handle(this._parent, destinationParam.handle); 401 } 402 void disconnect()() { 403 AudioNode_disconnect__(this._parent); 404 } 405 void disconnect()(uint output) { 406 AudioNode_disconnect__uint(this._parent, output); 407 } 408 void disconnect()(scope ref AudioNode destinationNode) { 409 AudioNode_disconnect__Handle(this._parent, destinationNode._parent); 410 } 411 void disconnect()(scope ref AudioNode destinationNode, uint output) { 412 AudioNode_disconnect__Handle_uint(this._parent, destinationNode._parent, output); 413 } 414 void disconnect()(scope ref AudioNode destinationNode, uint output, uint input) { 415 AudioNode_disconnect__Handle_uint_uint(this._parent, destinationNode._parent, output, input); 416 } 417 void disconnect()(scope ref AudioParam destinationParam) { 418 AudioNode_disconnect__Handle(this._parent, destinationParam.handle); 419 } 420 void disconnect()(scope ref AudioParam destinationParam, uint output) { 421 AudioNode_disconnect__Handle_uint(this._parent, destinationParam.handle, output); 422 } 423 auto context()() { 424 return BaseAudioContext(AudioNode_context_Get(this._parent)); 425 } 426 auto numberOfInputs()() { 427 return AudioNode_numberOfInputs_Get(this._parent); 428 } 429 auto numberOfOutputs()() { 430 return AudioNode_numberOfOutputs_Get(this._parent); 431 } 432 void channelCount()(uint channelCount) { 433 AudioNode_channelCount_Set(this._parent, channelCount); 434 } 435 auto channelCount()() { 436 return AudioNode_channelCount_Get(this._parent); 437 } 438 void channelCountMode()(ChannelCountMode channelCountMode) { 439 AudioNode_channelCountMode_Set(this._parent, channelCountMode); 440 } 441 auto channelCountMode()() { 442 return AudioNode_channelCountMode_Get(this._parent); 443 } 444 void channelInterpretation()(ChannelInterpretation channelInterpretation) { 445 AudioNode_channelInterpretation_Set(this._parent, channelInterpretation); 446 } 447 auto channelInterpretation()() { 448 return AudioNode_channelInterpretation_Get(this._parent); 449 } 450 } 451 struct AudioNodeOptions { 452 nothrow: 453 JsHandle handle; 454 alias handle this; 455 this(Handle h) { 456 this.handle = JsHandle(h); 457 } 458 static auto create() { 459 return AudioNodeOptions(spasm_add__object()); 460 } 461 void channelCount()(uint channelCount) { 462 AudioNodeOptions_channelCount_Set(this.handle, channelCount); 463 } 464 auto channelCount()() { 465 return AudioNodeOptions_channelCount_Get(this.handle); 466 } 467 void channelCountMode()(ChannelCountMode channelCountMode) { 468 AudioNodeOptions_channelCountMode_Set(this.handle, channelCountMode); 469 } 470 auto channelCountMode()() { 471 return AudioNodeOptions_channelCountMode_Get(this.handle); 472 } 473 void channelInterpretation()(ChannelInterpretation channelInterpretation) { 474 AudioNodeOptions_channelInterpretation_Set(this.handle, channelInterpretation); 475 } 476 auto channelInterpretation()() { 477 return AudioNodeOptions_channelInterpretation_Get(this.handle); 478 } 479 } 480 struct AudioParam { 481 nothrow: 482 JsHandle handle; 483 alias handle this; 484 this(Handle h) { 485 this.handle = JsHandle(h); 486 } 487 void value()(float value) { 488 AudioParam_value_Set(this.handle, value); 489 } 490 auto value()() { 491 return AudioParam_value_Get(this.handle); 492 } 493 void automationRate()(AutomationRate automationRate) { 494 AudioParam_automationRate_Set(this.handle, automationRate); 495 } 496 auto automationRate()() { 497 return AudioParam_automationRate_Get(this.handle); 498 } 499 auto defaultValue()() { 500 return AudioParam_defaultValue_Get(this.handle); 501 } 502 auto minValue()() { 503 return AudioParam_minValue_Get(this.handle); 504 } 505 auto maxValue()() { 506 return AudioParam_maxValue_Get(this.handle); 507 } 508 auto setValueAtTime()(float value, double startTime) { 509 return AudioParam(AudioParam_setValueAtTime(this.handle, value, startTime)); 510 } 511 auto linearRampToValueAtTime()(float value, double endTime) { 512 return AudioParam(AudioParam_linearRampToValueAtTime(this.handle, value, endTime)); 513 } 514 auto exponentialRampToValueAtTime()(float value, double endTime) { 515 return AudioParam(AudioParam_exponentialRampToValueAtTime(this.handle, value, endTime)); 516 } 517 auto setTargetAtTime()(float target, double startTime, float timeConstant) { 518 return AudioParam(AudioParam_setTargetAtTime(this.handle, target, startTime, timeConstant)); 519 } 520 auto setValueCurveAtTime()(scope ref Sequence!(float) values, double startTime, double duration) { 521 return AudioParam(AudioParam_setValueCurveAtTime(this.handle, values.handle, startTime, duration)); 522 } 523 auto cancelScheduledValues()(double cancelTime) { 524 return AudioParam(AudioParam_cancelScheduledValues(this.handle, cancelTime)); 525 } 526 auto cancelAndHoldAtTime()(double cancelTime) { 527 return AudioParam(AudioParam_cancelAndHoldAtTime(this.handle, cancelTime)); 528 } 529 } 530 struct AudioParamDescriptor { 531 nothrow: 532 JsHandle handle; 533 alias handle this; 534 this(Handle h) { 535 this.handle = JsHandle(h); 536 } 537 static auto create() { 538 return AudioParamDescriptor(spasm_add__object()); 539 } 540 void name()(string name) { 541 AudioParamDescriptor_name_Set(this.handle, name); 542 } 543 auto name()() { 544 return AudioParamDescriptor_name_Get(this.handle); 545 } 546 void defaultValue()(float defaultValue) { 547 AudioParamDescriptor_defaultValue_Set(this.handle, defaultValue); 548 } 549 auto defaultValue()() { 550 return AudioParamDescriptor_defaultValue_Get(this.handle); 551 } 552 void minValue()(float minValue) { 553 AudioParamDescriptor_minValue_Set(this.handle, minValue); 554 } 555 auto minValue()() { 556 return AudioParamDescriptor_minValue_Get(this.handle); 557 } 558 void maxValue()(float maxValue) { 559 AudioParamDescriptor_maxValue_Set(this.handle, maxValue); 560 } 561 auto maxValue()() { 562 return AudioParamDescriptor_maxValue_Get(this.handle); 563 } 564 void automationRate()(AutomationRate automationRate) { 565 AudioParamDescriptor_automationRate_Set(this.handle, automationRate); 566 } 567 auto automationRate()() { 568 return AudioParamDescriptor_automationRate_Get(this.handle); 569 } 570 } 571 struct AudioParamMap { 572 nothrow: 573 JsHandle handle; 574 alias handle this; 575 this(Handle h) { 576 this.handle = JsHandle(h); 577 } 578 uint size() { 579 return Maplike_string_Handle_size(this.handle); 580 } 581 void clear() { 582 Maplike_string_Handle_clear(this.handle); 583 } 584 void delete_(string key) { 585 Maplike_string_Handle_delete(this.handle, key); 586 } 587 Iterator!(ArrayPair!(string, AudioParam)) entries() { 588 return Iterator!(ArrayPair!(string, AudioParam))(Maplike_string_Handle_entries(this.handle)); 589 } 590 extern(C) void forEach(void delegate(string, Handle, Handle) callback) { 591 Maplike_string_Handle_forEach(this.handle, callback); 592 } 593 AudioParam get(string key) { 594 return AudioParam(Maplike_string_Handle_get(this.handle, key)); 595 } 596 bool has(string key) { 597 return Maplike_string_Handle_has(this.handle, key); 598 } 599 Iterator!(string) keys() { 600 return Iterator!(string)(Maplike_string_Handle_keys(this.handle)); 601 } 602 void set(string key, scope ref AudioParam value) { 603 Maplike_string_Handle_set(this.handle, key, value.handle); 604 } 605 Iterator!(AudioParam) values() { 606 return Iterator!(AudioParam)(Maplike_string_Handle_values(this.handle)); 607 } 608 } 609 struct AudioProcessingEvent { 610 nothrow: 611 spasm.bindings.dom.Event _parent; 612 alias _parent this; 613 this(Handle h) { 614 _parent = .Event(h); 615 } 616 auto playbackTime()() { 617 return AudioProcessingEvent_playbackTime_Get(this._parent); 618 } 619 auto inputBuffer()() { 620 return AudioBuffer(AudioProcessingEvent_inputBuffer_Get(this._parent)); 621 } 622 auto outputBuffer()() { 623 return AudioBuffer(AudioProcessingEvent_outputBuffer_Get(this._parent)); 624 } 625 } 626 struct AudioProcessingEventInit { 627 nothrow: 628 spasm.bindings.dom.EventInit _parent; 629 alias _parent this; 630 this(Handle h) { 631 _parent = .EventInit(h); 632 } 633 static auto create() { 634 return AudioProcessingEventInit(spasm_add__object()); 635 } 636 void playbackTime()(double playbackTime) { 637 AudioProcessingEventInit_playbackTime_Set(this._parent, playbackTime); 638 } 639 auto playbackTime()() { 640 return AudioProcessingEventInit_playbackTime_Get(this._parent); 641 } 642 void inputBuffer()(scope ref AudioBuffer inputBuffer) { 643 AudioProcessingEventInit_inputBuffer_Set(this._parent, inputBuffer.handle); 644 } 645 auto inputBuffer()() { 646 return AudioBuffer(AudioProcessingEventInit_inputBuffer_Get(this._parent)); 647 } 648 void outputBuffer()(scope ref AudioBuffer outputBuffer) { 649 AudioProcessingEventInit_outputBuffer_Set(this._parent, outputBuffer.handle); 650 } 651 auto outputBuffer()() { 652 return AudioBuffer(AudioProcessingEventInit_outputBuffer_Get(this._parent)); 653 } 654 } 655 struct AudioScheduledSourceNode { 656 nothrow: 657 spasm.bindings.audio.AudioNode _parent; 658 alias _parent this; 659 this(Handle h) { 660 _parent = .AudioNode(h); 661 } 662 void onended()(EventHandler onended) { 663 AudioScheduledSourceNode_onended_Set(this._parent, onended); 664 } 665 auto onended()() { 666 return AudioScheduledSourceNode_onended_Get(this._parent); 667 } 668 void start()(double when /* = 0 */) { 669 AudioScheduledSourceNode_start(this._parent, when); 670 } 671 void start()() { 672 AudioScheduledSourceNode_start_0(this._parent); 673 } 674 void stop()(double when /* = 0 */) { 675 AudioScheduledSourceNode_stop(this._parent, when); 676 } 677 void stop()() { 678 AudioScheduledSourceNode_stop_0(this._parent); 679 } 680 } 681 struct AudioTimestamp { 682 nothrow: 683 JsHandle handle; 684 alias handle this; 685 this(Handle h) { 686 this.handle = JsHandle(h); 687 } 688 static auto create() { 689 return AudioTimestamp(spasm_add__object()); 690 } 691 void contextTime()(double contextTime) { 692 AudioTimestamp_contextTime_Set(this.handle, contextTime); 693 } 694 auto contextTime()() { 695 return AudioTimestamp_contextTime_Get(this.handle); 696 } 697 void performanceTime()(double performanceTime) { 698 AudioTimestamp_performanceTime_Set(this.handle, performanceTime); 699 } 700 auto performanceTime()() { 701 return AudioTimestamp_performanceTime_Get(this.handle); 702 } 703 } 704 struct AudioWorklet { 705 nothrow: 706 spasm.bindings.worklet.Worklet _parent; 707 alias _parent this; 708 this(Handle h) { 709 _parent = .Worklet(h); 710 } 711 auto Event()(string type, scope ref EventInit eventInitDict) { 712 return .Event(AudioWorklet_Event(this._parent, type, eventInitDict.handle)); 713 } 714 auto EventTarget()() { 715 return .EventTarget(AudioWorklet_EventTarget(this._parent)); 716 } 717 auto MessageEvent()(string type, scope ref MessageEventInit eventInitDict) { 718 return .MessageEvent(AudioWorklet_MessageEvent(this._parent, type, eventInitDict._parent)); 719 } 720 } 721 struct AudioWorkletGlobalScope { 722 nothrow: 723 spasm.bindings.worklet.WorkletGlobalScope _parent; 724 alias _parent this; 725 this(Handle h) { 726 _parent = .WorkletGlobalScope(h); 727 } 728 void registerProcessor()(string name, VoidFunction processorCtor) { 729 AudioWorkletGlobalScope_registerProcessor(this._parent, name, processorCtor); 730 } 731 auto currentFrame()() { 732 return AudioWorkletGlobalScope_currentFrame_Get(this._parent); 733 } 734 auto currentTime()() { 735 return AudioWorkletGlobalScope_currentTime_Get(this._parent); 736 } 737 auto sampleRate()() { 738 return AudioWorkletGlobalScope_sampleRate_Get(this._parent); 739 } 740 } 741 struct AudioWorkletNode { 742 nothrow: 743 spasm.bindings.audio.AudioNode _parent; 744 alias _parent this; 745 this(Handle h) { 746 _parent = .AudioNode(h); 747 } 748 auto parameters()() { 749 return AudioParamMap(AudioWorkletNode_parameters_Get(this._parent)); 750 } 751 auto port()() { 752 return MessagePort(AudioWorkletNode_port_Get(this._parent)); 753 } 754 void onprocessorerror()(EventHandler onprocessorerror) { 755 AudioWorkletNode_onprocessorerror_Set(this._parent, onprocessorerror); 756 } 757 auto onprocessorerror()() { 758 return AudioWorkletNode_onprocessorerror_Get(this._parent); 759 } 760 } 761 struct AudioWorkletNodeOptions { 762 nothrow: 763 spasm.bindings.audio.AudioNodeOptions _parent; 764 alias _parent this; 765 this(Handle h) { 766 _parent = .AudioNodeOptions(h); 767 } 768 static auto create() { 769 return AudioWorkletNodeOptions(spasm_add__object()); 770 } 771 void numberOfInputs()(uint numberOfInputs) { 772 AudioWorkletNodeOptions_numberOfInputs_Set(this._parent, numberOfInputs); 773 } 774 auto numberOfInputs()() { 775 return AudioWorkletNodeOptions_numberOfInputs_Get(this._parent); 776 } 777 void numberOfOutputs()(uint numberOfOutputs) { 778 AudioWorkletNodeOptions_numberOfOutputs_Set(this._parent, numberOfOutputs); 779 } 780 auto numberOfOutputs()() { 781 return AudioWorkletNodeOptions_numberOfOutputs_Get(this._parent); 782 } 783 void outputChannelCount()(scope ref Sequence!(uint) outputChannelCount) { 784 AudioWorkletNodeOptions_outputChannelCount_Set(this._parent, outputChannelCount.handle); 785 } 786 auto outputChannelCount()() { 787 return Sequence!(uint)(AudioWorkletNodeOptions_outputChannelCount_Get(this._parent)); 788 } 789 void parameterData()(scope ref Record!(string, double) parameterData) { 790 AudioWorkletNodeOptions_parameterData_Set(this._parent, parameterData.handle); 791 } 792 auto parameterData()() { 793 return Record!(string, double)(AudioWorkletNodeOptions_parameterData_Get(this._parent)); 794 } 795 void processorOptions(T0)(scope auto ref Optional!(T0) processorOptions) if (isTOrPointer!(T0, JsObject)) { 796 AudioWorkletNodeOptions_processorOptions_Set(this._parent, !processorOptions.empty, processorOptions.front.handle); 797 } 798 auto processorOptions()() { 799 return AudioWorkletNodeOptions_processorOptions_Get(this._parent); 800 } 801 } 802 struct AudioWorkletProcessor { 803 nothrow: 804 JsHandle handle; 805 alias handle this; 806 this(Handle h) { 807 this.handle = JsHandle(h); 808 } 809 auto port()() { 810 return MessagePort(AudioWorkletProcessor_port_Get(this.handle)); 811 } 812 } 813 enum AutomationRate { 814 a_rate, 815 k_rate 816 } 817 struct BaseAudioContext { 818 nothrow: 819 spasm.bindings.dom.EventTarget _parent; 820 alias _parent this; 821 this(Handle h) { 822 _parent = .EventTarget(h); 823 } 824 auto destination()() { 825 return AudioDestinationNode(BaseAudioContext_destination_Get(this._parent)); 826 } 827 auto sampleRate()() { 828 return BaseAudioContext_sampleRate_Get(this._parent); 829 } 830 auto currentTime()() { 831 return BaseAudioContext_currentTime_Get(this._parent); 832 } 833 auto listener()() { 834 return AudioListener(BaseAudioContext_listener_Get(this._parent)); 835 } 836 auto state()() { 837 return BaseAudioContext_state_Get(this._parent); 838 } 839 auto audioWorklet()() { 840 return AudioWorklet(BaseAudioContext_audioWorklet_Get(this._parent)); 841 } 842 void onstatechange()(EventHandler onstatechange) { 843 BaseAudioContext_onstatechange_Set(this._parent, onstatechange); 844 } 845 auto onstatechange()() { 846 return BaseAudioContext_onstatechange_Get(this._parent); 847 } 848 auto createAnalyser()() { 849 return AnalyserNode(BaseAudioContext_createAnalyser(this._parent)); 850 } 851 auto createBiquadFilter()() { 852 return BiquadFilterNode(BaseAudioContext_createBiquadFilter(this._parent)); 853 } 854 auto createBuffer()(uint numberOfChannels, uint length, float sampleRate) { 855 return AudioBuffer(BaseAudioContext_createBuffer(this._parent, numberOfChannels, length, sampleRate)); 856 } 857 auto createBufferSource()() { 858 return AudioBufferSourceNode(BaseAudioContext_createBufferSource(this._parent)); 859 } 860 auto createChannelMerger()(uint numberOfInputs /* = 6 */) { 861 return ChannelMergerNode(BaseAudioContext_createChannelMerger(this._parent, numberOfInputs)); 862 } 863 auto createChannelMerger()() { 864 return ChannelMergerNode(BaseAudioContext_createChannelMerger_0(this._parent)); 865 } 866 auto createChannelSplitter()(uint numberOfOutputs /* = 6 */) { 867 return ChannelSplitterNode(BaseAudioContext_createChannelSplitter(this._parent, numberOfOutputs)); 868 } 869 auto createChannelSplitter()() { 870 return ChannelSplitterNode(BaseAudioContext_createChannelSplitter_0(this._parent)); 871 } 872 auto createConstantSource()() { 873 return ConstantSourceNode(BaseAudioContext_createConstantSource(this._parent)); 874 } 875 auto createConvolver()() { 876 return ConvolverNode(BaseAudioContext_createConvolver(this._parent)); 877 } 878 auto createDelay()(double maxDelayTime /* = 1.0 */) { 879 return DelayNode(BaseAudioContext_createDelay(this._parent, maxDelayTime)); 880 } 881 auto createDelay()() { 882 return DelayNode(BaseAudioContext_createDelay_0(this._parent)); 883 } 884 auto createDynamicsCompressor()() { 885 return DynamicsCompressorNode(BaseAudioContext_createDynamicsCompressor(this._parent)); 886 } 887 auto createGain()() { 888 return GainNode(BaseAudioContext_createGain(this._parent)); 889 } 890 auto createIIRFilter()(scope ref Sequence!(double) feedforward, scope ref Sequence!(double) feedback) { 891 return IIRFilterNode(BaseAudioContext_createIIRFilter(this._parent, feedforward.handle, feedback.handle)); 892 } 893 auto createOscillator()() { 894 return OscillatorNode(BaseAudioContext_createOscillator(this._parent)); 895 } 896 auto createPanner()() { 897 return PannerNode(BaseAudioContext_createPanner(this._parent)); 898 } 899 auto createPeriodicWave()(scope ref Sequence!(float) real_, scope ref Sequence!(float) imag, scope ref PeriodicWaveConstraints constraints) { 900 return PeriodicWave(BaseAudioContext_createPeriodicWave(this._parent, real_.handle, imag.handle, constraints.handle)); 901 } 902 auto createPeriodicWave()(scope ref Sequence!(float) real_, scope ref Sequence!(float) imag) { 903 return PeriodicWave(BaseAudioContext_createPeriodicWave_0(this._parent, real_.handle, imag.handle)); 904 } 905 auto createScriptProcessor()(uint bufferSize /* = 0 */, uint numberOfInputChannels /* = 2 */, uint numberOfOutputChannels /* = 2 */) { 906 return ScriptProcessorNode(BaseAudioContext_createScriptProcessor(this._parent, bufferSize, numberOfInputChannels, numberOfOutputChannels)); 907 } 908 auto createScriptProcessor()(uint bufferSize /* = 0 */, uint numberOfInputChannels /* = 2 */) { 909 return ScriptProcessorNode(BaseAudioContext_createScriptProcessor_0(this._parent, bufferSize, numberOfInputChannels)); 910 } 911 auto createScriptProcessor()(uint bufferSize /* = 0 */) { 912 return ScriptProcessorNode(BaseAudioContext_createScriptProcessor_1(this._parent, bufferSize)); 913 } 914 auto createScriptProcessor()() { 915 return ScriptProcessorNode(BaseAudioContext_createScriptProcessor_2(this._parent)); 916 } 917 auto createStereoPanner()() { 918 return StereoPannerNode(BaseAudioContext_createStereoPanner(this._parent)); 919 } 920 auto createWaveShaper()() { 921 return WaveShaperNode(BaseAudioContext_createWaveShaper(this._parent)); 922 } 923 auto decodeAudioData(T1, T2)(scope ref ArrayBuffer audioData, scope auto ref Optional!(T1) successCallback, scope auto ref Optional!(T2) errorCallback) if (isTOrPointer!(T1, DecodeSuccessCallback) && isTOrPointer!(T2, DecodeErrorCallback)) { 924 return Promise!(AudioBuffer)(BaseAudioContext_decodeAudioData(this._parent, audioData.handle, !successCallback.empty, successCallback.front, !errorCallback.empty, errorCallback.front)); 925 } 926 auto decodeAudioData(T1)(scope ref ArrayBuffer audioData, scope auto ref Optional!(T1) successCallback) if (isTOrPointer!(T1, DecodeSuccessCallback)) { 927 return Promise!(AudioBuffer)(BaseAudioContext_decodeAudioData_0(this._parent, audioData.handle, !successCallback.empty, successCallback.front)); 928 } 929 auto decodeAudioData()(scope ref ArrayBuffer audioData) { 930 return Promise!(AudioBuffer)(BaseAudioContext_decodeAudioData_1(this._parent, audioData.handle)); 931 } 932 } 933 struct BiquadFilterNode { 934 nothrow: 935 spasm.bindings.audio.AudioNode _parent; 936 alias _parent this; 937 this(Handle h) { 938 _parent = .AudioNode(h); 939 } 940 void type()(BiquadFilterType type) { 941 BiquadFilterNode_type_Set(this._parent, type); 942 } 943 auto type()() { 944 return BiquadFilterNode_type_Get(this._parent); 945 } 946 auto frequency()() { 947 return AudioParam(BiquadFilterNode_frequency_Get(this._parent)); 948 } 949 auto detune()() { 950 return AudioParam(BiquadFilterNode_detune_Get(this._parent)); 951 } 952 auto Q()() { 953 return AudioParam(BiquadFilterNode_Q_Get(this._parent)); 954 } 955 auto gain()() { 956 return AudioParam(BiquadFilterNode_gain_Get(this._parent)); 957 } 958 void getFrequencyResponse()(scope ref Float32Array frequencyHz, scope ref Float32Array magResponse, scope ref Float32Array phaseResponse) { 959 BiquadFilterNode_getFrequencyResponse(this._parent, frequencyHz.handle, magResponse.handle, phaseResponse.handle); 960 } 961 } 962 struct BiquadFilterOptions { 963 nothrow: 964 spasm.bindings.audio.AudioNodeOptions _parent; 965 alias _parent this; 966 this(Handle h) { 967 _parent = .AudioNodeOptions(h); 968 } 969 static auto create() { 970 return BiquadFilterOptions(spasm_add__object()); 971 } 972 void type()(BiquadFilterType type) { 973 BiquadFilterOptions_type_Set(this._parent, type); 974 } 975 auto type()() { 976 return BiquadFilterOptions_type_Get(this._parent); 977 } 978 void Q()(float q) { 979 BiquadFilterOptions_Q_Set(this._parent, Q); 980 } 981 auto Q()() { 982 return BiquadFilterOptions_Q_Get(this._parent); 983 } 984 void detune()(float detune) { 985 BiquadFilterOptions_detune_Set(this._parent, detune); 986 } 987 auto detune()() { 988 return BiquadFilterOptions_detune_Get(this._parent); 989 } 990 void frequency()(float frequency) { 991 BiquadFilterOptions_frequency_Set(this._parent, frequency); 992 } 993 auto frequency()() { 994 return BiquadFilterOptions_frequency_Get(this._parent); 995 } 996 void gain()(float gain) { 997 BiquadFilterOptions_gain_Set(this._parent, gain); 998 } 999 auto gain()() { 1000 return BiquadFilterOptions_gain_Get(this._parent); 1001 } 1002 } 1003 enum BiquadFilterType { 1004 lowpass, 1005 highpass, 1006 bandpass, 1007 lowshelf, 1008 highshelf, 1009 peaking, 1010 notch, 1011 allpass 1012 } 1013 enum ChannelCountMode { 1014 max, 1015 clamped_max, 1016 explicit 1017 } 1018 enum ChannelInterpretation { 1019 speakers, 1020 discrete 1021 } 1022 struct ChannelMergerNode { 1023 nothrow: 1024 spasm.bindings.audio.AudioNode _parent; 1025 alias _parent this; 1026 this(Handle h) { 1027 _parent = .AudioNode(h); 1028 } 1029 } 1030 struct ChannelMergerOptions { 1031 nothrow: 1032 spasm.bindings.audio.AudioNodeOptions _parent; 1033 alias _parent this; 1034 this(Handle h) { 1035 _parent = .AudioNodeOptions(h); 1036 } 1037 static auto create() { 1038 return ChannelMergerOptions(spasm_add__object()); 1039 } 1040 void numberOfInputs()(uint numberOfInputs) { 1041 ChannelMergerOptions_numberOfInputs_Set(this._parent, numberOfInputs); 1042 } 1043 auto numberOfInputs()() { 1044 return ChannelMergerOptions_numberOfInputs_Get(this._parent); 1045 } 1046 } 1047 struct ChannelSplitterNode { 1048 nothrow: 1049 spasm.bindings.audio.AudioNode _parent; 1050 alias _parent this; 1051 this(Handle h) { 1052 _parent = .AudioNode(h); 1053 } 1054 } 1055 struct ChannelSplitterOptions { 1056 nothrow: 1057 spasm.bindings.audio.AudioNodeOptions _parent; 1058 alias _parent this; 1059 this(Handle h) { 1060 _parent = .AudioNodeOptions(h); 1061 } 1062 static auto create() { 1063 return ChannelSplitterOptions(spasm_add__object()); 1064 } 1065 void numberOfOutputs()(uint numberOfOutputs) { 1066 ChannelSplitterOptions_numberOfOutputs_Set(this._parent, numberOfOutputs); 1067 } 1068 auto numberOfOutputs()() { 1069 return ChannelSplitterOptions_numberOfOutputs_Get(this._parent); 1070 } 1071 } 1072 struct ConstantSourceNode { 1073 nothrow: 1074 spasm.bindings.audio.AudioScheduledSourceNode _parent; 1075 alias _parent this; 1076 this(Handle h) { 1077 _parent = .AudioScheduledSourceNode(h); 1078 } 1079 auto offset()() { 1080 return AudioParam(ConstantSourceNode_offset_Get(this._parent)); 1081 } 1082 } 1083 struct ConstantSourceOptions { 1084 nothrow: 1085 JsHandle handle; 1086 alias handle this; 1087 this(Handle h) { 1088 this.handle = JsHandle(h); 1089 } 1090 static auto create() { 1091 return ConstantSourceOptions(spasm_add__object()); 1092 } 1093 void offset()(float offset) { 1094 ConstantSourceOptions_offset_Set(this.handle, offset); 1095 } 1096 auto offset()() { 1097 return ConstantSourceOptions_offset_Get(this.handle); 1098 } 1099 } 1100 struct ConvolverNode { 1101 nothrow: 1102 spasm.bindings.audio.AudioNode _parent; 1103 alias _parent this; 1104 this(Handle h) { 1105 _parent = .AudioNode(h); 1106 } 1107 void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) { 1108 ConvolverNode_buffer_Set(this._parent, !buffer.empty, buffer.front.handle); 1109 } 1110 auto buffer()() { 1111 return ConvolverNode_buffer_Get(this._parent); 1112 } 1113 void normalize()(bool normalize) { 1114 ConvolverNode_normalize_Set(this._parent, normalize); 1115 } 1116 auto normalize()() { 1117 return ConvolverNode_normalize_Get(this._parent); 1118 } 1119 } 1120 struct ConvolverOptions { 1121 nothrow: 1122 spasm.bindings.audio.AudioNodeOptions _parent; 1123 alias _parent this; 1124 this(Handle h) { 1125 _parent = .AudioNodeOptions(h); 1126 } 1127 static auto create() { 1128 return ConvolverOptions(spasm_add__object()); 1129 } 1130 void buffer(T0)(scope auto ref Optional!(T0) buffer) if (isTOrPointer!(T0, AudioBuffer)) { 1131 ConvolverOptions_buffer_Set(this._parent, !buffer.empty, buffer.front.handle); 1132 } 1133 auto buffer()() { 1134 return ConvolverOptions_buffer_Get(this._parent); 1135 } 1136 void disableNormalization()(bool disableNormalization) { 1137 ConvolverOptions_disableNormalization_Set(this._parent, disableNormalization); 1138 } 1139 auto disableNormalization()() { 1140 return ConvolverOptions_disableNormalization_Get(this._parent); 1141 } 1142 } 1143 alias DecodeErrorCallback = void delegate(DOMException); 1144 alias DecodeSuccessCallback = void delegate(AudioBuffer); 1145 struct DelayNode { 1146 nothrow: 1147 spasm.bindings.audio.AudioNode _parent; 1148 alias _parent this; 1149 this(Handle h) { 1150 _parent = .AudioNode(h); 1151 } 1152 auto delayTime()() { 1153 return AudioParam(DelayNode_delayTime_Get(this._parent)); 1154 } 1155 } 1156 struct DelayOptions { 1157 nothrow: 1158 spasm.bindings.audio.AudioNodeOptions _parent; 1159 alias _parent this; 1160 this(Handle h) { 1161 _parent = .AudioNodeOptions(h); 1162 } 1163 static auto create() { 1164 return DelayOptions(spasm_add__object()); 1165 } 1166 void maxDelayTime()(double maxDelayTime) { 1167 DelayOptions_maxDelayTime_Set(this._parent, maxDelayTime); 1168 } 1169 auto maxDelayTime()() { 1170 return DelayOptions_maxDelayTime_Get(this._parent); 1171 } 1172 void delayTime()(double delayTime) { 1173 DelayOptions_delayTime_Set(this._parent, delayTime); 1174 } 1175 auto delayTime()() { 1176 return DelayOptions_delayTime_Get(this._parent); 1177 } 1178 } 1179 enum DistanceModelType { 1180 linear, 1181 inverse, 1182 exponential 1183 } 1184 struct DynamicsCompressorNode { 1185 nothrow: 1186 spasm.bindings.audio.AudioNode _parent; 1187 alias _parent this; 1188 this(Handle h) { 1189 _parent = .AudioNode(h); 1190 } 1191 auto threshold()() { 1192 return AudioParam(DynamicsCompressorNode_threshold_Get(this._parent)); 1193 } 1194 auto knee()() { 1195 return AudioParam(DynamicsCompressorNode_knee_Get(this._parent)); 1196 } 1197 auto ratio()() { 1198 return AudioParam(DynamicsCompressorNode_ratio_Get(this._parent)); 1199 } 1200 auto reduction()() { 1201 return DynamicsCompressorNode_reduction_Get(this._parent); 1202 } 1203 auto attack()() { 1204 return AudioParam(DynamicsCompressorNode_attack_Get(this._parent)); 1205 } 1206 auto release()() { 1207 return AudioParam(DynamicsCompressorNode_release_Get(this._parent)); 1208 } 1209 } 1210 struct DynamicsCompressorOptions { 1211 nothrow: 1212 spasm.bindings.audio.AudioNodeOptions _parent; 1213 alias _parent this; 1214 this(Handle h) { 1215 _parent = .AudioNodeOptions(h); 1216 } 1217 static auto create() { 1218 return DynamicsCompressorOptions(spasm_add__object()); 1219 } 1220 void attack()(float attack) { 1221 DynamicsCompressorOptions_attack_Set(this._parent, attack); 1222 } 1223 auto attack()() { 1224 return DynamicsCompressorOptions_attack_Get(this._parent); 1225 } 1226 void knee()(float knee) { 1227 DynamicsCompressorOptions_knee_Set(this._parent, knee); 1228 } 1229 auto knee()() { 1230 return DynamicsCompressorOptions_knee_Get(this._parent); 1231 } 1232 void ratio()(float ratio) { 1233 DynamicsCompressorOptions_ratio_Set(this._parent, ratio); 1234 } 1235 auto ratio()() { 1236 return DynamicsCompressorOptions_ratio_Get(this._parent); 1237 } 1238 void release()(float release) { 1239 DynamicsCompressorOptions_release_Set(this._parent, release); 1240 } 1241 auto release()() { 1242 return DynamicsCompressorOptions_release_Get(this._parent); 1243 } 1244 void threshold()(float threshold) { 1245 DynamicsCompressorOptions_threshold_Set(this._parent, threshold); 1246 } 1247 auto threshold()() { 1248 return DynamicsCompressorOptions_threshold_Get(this._parent); 1249 } 1250 } 1251 struct GainNode { 1252 nothrow: 1253 spasm.bindings.audio.AudioNode _parent; 1254 alias _parent this; 1255 this(Handle h) { 1256 _parent = .AudioNode(h); 1257 } 1258 auto gain()() { 1259 return AudioParam(GainNode_gain_Get(this._parent)); 1260 } 1261 } 1262 struct GainOptions { 1263 nothrow: 1264 spasm.bindings.audio.AudioNodeOptions _parent; 1265 alias _parent this; 1266 this(Handle h) { 1267 _parent = .AudioNodeOptions(h); 1268 } 1269 static auto create() { 1270 return GainOptions(spasm_add__object()); 1271 } 1272 void gain()(float gain) { 1273 GainOptions_gain_Set(this._parent, gain); 1274 } 1275 auto gain()() { 1276 return GainOptions_gain_Get(this._parent); 1277 } 1278 } 1279 struct IIRFilterNode { 1280 nothrow: 1281 spasm.bindings.audio.AudioNode _parent; 1282 alias _parent this; 1283 this(Handle h) { 1284 _parent = .AudioNode(h); 1285 } 1286 void getFrequencyResponse()(scope ref Float32Array frequencyHz, scope ref Float32Array magResponse, scope ref Float32Array phaseResponse) { 1287 IIRFilterNode_getFrequencyResponse(this._parent, frequencyHz.handle, magResponse.handle, phaseResponse.handle); 1288 } 1289 } 1290 struct IIRFilterOptions { 1291 nothrow: 1292 spasm.bindings.audio.AudioNodeOptions _parent; 1293 alias _parent this; 1294 this(Handle h) { 1295 _parent = .AudioNodeOptions(h); 1296 } 1297 static auto create() { 1298 return IIRFilterOptions(spasm_add__object()); 1299 } 1300 void feedforward()(scope ref Sequence!(double) feedforward) { 1301 IIRFilterOptions_feedforward_Set(this._parent, feedforward.handle); 1302 } 1303 auto feedforward()() { 1304 return Sequence!(double)(IIRFilterOptions_feedforward_Get(this._parent)); 1305 } 1306 void feedback()(scope ref Sequence!(double) feedback) { 1307 IIRFilterOptions_feedback_Set(this._parent, feedback.handle); 1308 } 1309 auto feedback()() { 1310 return Sequence!(double)(IIRFilterOptions_feedback_Get(this._parent)); 1311 } 1312 } 1313 struct MediaElementAudioSourceNode { 1314 nothrow: 1315 spasm.bindings.audio.AudioNode _parent; 1316 alias _parent this; 1317 this(Handle h) { 1318 _parent = .AudioNode(h); 1319 } 1320 auto mediaElement()() { 1321 return HTMLMediaElement(MediaElementAudioSourceNode_mediaElement_Get(this._parent)); 1322 } 1323 } 1324 struct MediaElementAudioSourceOptions { 1325 nothrow: 1326 JsHandle handle; 1327 alias handle this; 1328 this(Handle h) { 1329 this.handle = JsHandle(h); 1330 } 1331 static auto create() { 1332 return MediaElementAudioSourceOptions(spasm_add__object()); 1333 } 1334 void mediaElement()(scope ref HTMLMediaElement mediaElement) { 1335 MediaElementAudioSourceOptions_mediaElement_Set(this.handle, mediaElement.handle); 1336 } 1337 auto mediaElement()() { 1338 return HTMLMediaElement(MediaElementAudioSourceOptions_mediaElement_Get(this.handle)); 1339 } 1340 } 1341 struct MediaStreamAudioDestinationNode { 1342 nothrow: 1343 spasm.bindings.audio.AudioNode _parent; 1344 alias _parent this; 1345 this(Handle h) { 1346 _parent = .AudioNode(h); 1347 } 1348 auto stream()() { 1349 return MediaStream(MediaStreamAudioDestinationNode_stream_Get(this._parent)); 1350 } 1351 } 1352 struct MediaStreamAudioSourceNode { 1353 nothrow: 1354 spasm.bindings.audio.AudioNode _parent; 1355 alias _parent this; 1356 this(Handle h) { 1357 _parent = .AudioNode(h); 1358 } 1359 auto mediaStream()() { 1360 return MediaStream(MediaStreamAudioSourceNode_mediaStream_Get(this._parent)); 1361 } 1362 } 1363 struct MediaStreamAudioSourceOptions { 1364 nothrow: 1365 JsHandle handle; 1366 alias handle this; 1367 this(Handle h) { 1368 this.handle = JsHandle(h); 1369 } 1370 static auto create() { 1371 return MediaStreamAudioSourceOptions(spasm_add__object()); 1372 } 1373 void mediaStream()(scope ref MediaStream mediaStream) { 1374 MediaStreamAudioSourceOptions_mediaStream_Set(this.handle, mediaStream.handle); 1375 } 1376 auto mediaStream()() { 1377 return MediaStream(MediaStreamAudioSourceOptions_mediaStream_Get(this.handle)); 1378 } 1379 } 1380 struct MediaStreamTrackAudioSourceNode { 1381 nothrow: 1382 spasm.bindings.audio.AudioNode _parent; 1383 alias _parent this; 1384 this(Handle h) { 1385 _parent = .AudioNode(h); 1386 } 1387 } 1388 struct MediaStreamTrackAudioSourceOptions { 1389 nothrow: 1390 JsHandle handle; 1391 alias handle this; 1392 this(Handle h) { 1393 this.handle = JsHandle(h); 1394 } 1395 static auto create() { 1396 return MediaStreamTrackAudioSourceOptions(spasm_add__object()); 1397 } 1398 void mediaStreamTrack()(scope ref MediaStreamTrack mediaStreamTrack) { 1399 MediaStreamTrackAudioSourceOptions_mediaStreamTrack_Set(this.handle, mediaStreamTrack.handle); 1400 } 1401 auto mediaStreamTrack()() { 1402 return MediaStreamTrack(MediaStreamTrackAudioSourceOptions_mediaStreamTrack_Get(this.handle)); 1403 } 1404 } 1405 struct OfflineAudioCompletionEvent { 1406 nothrow: 1407 spasm.bindings.dom.Event _parent; 1408 alias _parent this; 1409 this(Handle h) { 1410 _parent = .Event(h); 1411 } 1412 auto renderedBuffer()() { 1413 return AudioBuffer(OfflineAudioCompletionEvent_renderedBuffer_Get(this._parent)); 1414 } 1415 } 1416 struct OfflineAudioCompletionEventInit { 1417 nothrow: 1418 spasm.bindings.dom.EventInit _parent; 1419 alias _parent this; 1420 this(Handle h) { 1421 _parent = .EventInit(h); 1422 } 1423 static auto create() { 1424 return OfflineAudioCompletionEventInit(spasm_add__object()); 1425 } 1426 void renderedBuffer()(scope ref AudioBuffer renderedBuffer) { 1427 OfflineAudioCompletionEventInit_renderedBuffer_Set(this._parent, renderedBuffer.handle); 1428 } 1429 auto renderedBuffer()() { 1430 return AudioBuffer(OfflineAudioCompletionEventInit_renderedBuffer_Get(this._parent)); 1431 } 1432 } 1433 struct OfflineAudioContext { 1434 nothrow: 1435 spasm.bindings.audio.BaseAudioContext _parent; 1436 alias _parent this; 1437 this(Handle h) { 1438 _parent = .BaseAudioContext(h); 1439 } 1440 auto startRendering()() { 1441 return Promise!(AudioBuffer)(OfflineAudioContext_startRendering(this._parent)); 1442 } 1443 auto resume()() { 1444 return Promise!(void)(OfflineAudioContext_resume(this._parent)); 1445 } 1446 auto suspend()(double suspendTime) { 1447 return Promise!(void)(OfflineAudioContext_suspend(this._parent, suspendTime)); 1448 } 1449 auto length()() { 1450 return OfflineAudioContext_length_Get(this._parent); 1451 } 1452 void oncomplete()(EventHandler oncomplete) { 1453 OfflineAudioContext_oncomplete_Set(this._parent, oncomplete); 1454 } 1455 auto oncomplete()() { 1456 return OfflineAudioContext_oncomplete_Get(this._parent); 1457 } 1458 } 1459 struct OfflineAudioContextOptions { 1460 nothrow: 1461 JsHandle handle; 1462 alias handle this; 1463 this(Handle h) { 1464 this.handle = JsHandle(h); 1465 } 1466 static auto create() { 1467 return OfflineAudioContextOptions(spasm_add__object()); 1468 } 1469 void numberOfChannels()(uint numberOfChannels) { 1470 OfflineAudioContextOptions_numberOfChannels_Set(this.handle, numberOfChannels); 1471 } 1472 auto numberOfChannels()() { 1473 return OfflineAudioContextOptions_numberOfChannels_Get(this.handle); 1474 } 1475 void length()(uint length) { 1476 OfflineAudioContextOptions_length_Set(this.handle, length); 1477 } 1478 auto length()() { 1479 return OfflineAudioContextOptions_length_Get(this.handle); 1480 } 1481 void sampleRate()(float sampleRate) { 1482 OfflineAudioContextOptions_sampleRate_Set(this.handle, sampleRate); 1483 } 1484 auto sampleRate()() { 1485 return OfflineAudioContextOptions_sampleRate_Get(this.handle); 1486 } 1487 } 1488 struct OscillatorNode { 1489 nothrow: 1490 spasm.bindings.audio.AudioScheduledSourceNode _parent; 1491 alias _parent this; 1492 this(Handle h) { 1493 _parent = .AudioScheduledSourceNode(h); 1494 } 1495 void type()(OscillatorType type) { 1496 OscillatorNode_type_Set(this._parent, type); 1497 } 1498 auto type()() { 1499 return OscillatorNode_type_Get(this._parent); 1500 } 1501 auto frequency()() { 1502 return AudioParam(OscillatorNode_frequency_Get(this._parent)); 1503 } 1504 auto detune()() { 1505 return AudioParam(OscillatorNode_detune_Get(this._parent)); 1506 } 1507 void setPeriodicWave()(scope ref PeriodicWave periodicWave) { 1508 OscillatorNode_setPeriodicWave(this._parent, periodicWave.handle); 1509 } 1510 } 1511 struct OscillatorOptions { 1512 nothrow: 1513 spasm.bindings.audio.AudioNodeOptions _parent; 1514 alias _parent this; 1515 this(Handle h) { 1516 _parent = .AudioNodeOptions(h); 1517 } 1518 static auto create() { 1519 return OscillatorOptions(spasm_add__object()); 1520 } 1521 void type()(OscillatorType type) { 1522 OscillatorOptions_type_Set(this._parent, type); 1523 } 1524 auto type()() { 1525 return OscillatorOptions_type_Get(this._parent); 1526 } 1527 void frequency()(float frequency) { 1528 OscillatorOptions_frequency_Set(this._parent, frequency); 1529 } 1530 auto frequency()() { 1531 return OscillatorOptions_frequency_Get(this._parent); 1532 } 1533 void detune()(float detune) { 1534 OscillatorOptions_detune_Set(this._parent, detune); 1535 } 1536 auto detune()() { 1537 return OscillatorOptions_detune_Get(this._parent); 1538 } 1539 void periodicWave()(scope ref PeriodicWave periodicWave) { 1540 OscillatorOptions_periodicWave_Set(this._parent, periodicWave.handle); 1541 } 1542 auto periodicWave()() { 1543 return PeriodicWave(OscillatorOptions_periodicWave_Get(this._parent)); 1544 } 1545 } 1546 enum OscillatorType { 1547 sine, 1548 square, 1549 sawtooth, 1550 triangle, 1551 custom 1552 } 1553 enum OverSampleType { 1554 none, 1555 _2x, 1556 _4x 1557 } 1558 struct PannerNode { 1559 nothrow: 1560 spasm.bindings.audio.AudioNode _parent; 1561 alias _parent this; 1562 this(Handle h) { 1563 _parent = .AudioNode(h); 1564 } 1565 void panningModel()(PanningModelType panningModel) { 1566 PannerNode_panningModel_Set(this._parent, panningModel); 1567 } 1568 auto panningModel()() { 1569 return PannerNode_panningModel_Get(this._parent); 1570 } 1571 auto positionX()() { 1572 return AudioParam(PannerNode_positionX_Get(this._parent)); 1573 } 1574 auto positionY()() { 1575 return AudioParam(PannerNode_positionY_Get(this._parent)); 1576 } 1577 auto positionZ()() { 1578 return AudioParam(PannerNode_positionZ_Get(this._parent)); 1579 } 1580 auto orientationX()() { 1581 return AudioParam(PannerNode_orientationX_Get(this._parent)); 1582 } 1583 auto orientationY()() { 1584 return AudioParam(PannerNode_orientationY_Get(this._parent)); 1585 } 1586 auto orientationZ()() { 1587 return AudioParam(PannerNode_orientationZ_Get(this._parent)); 1588 } 1589 void distanceModel()(DistanceModelType distanceModel) { 1590 PannerNode_distanceModel_Set(this._parent, distanceModel); 1591 } 1592 auto distanceModel()() { 1593 return PannerNode_distanceModel_Get(this._parent); 1594 } 1595 void refDistance()(double refDistance) { 1596 PannerNode_refDistance_Set(this._parent, refDistance); 1597 } 1598 auto refDistance()() { 1599 return PannerNode_refDistance_Get(this._parent); 1600 } 1601 void maxDistance()(double maxDistance) { 1602 PannerNode_maxDistance_Set(this._parent, maxDistance); 1603 } 1604 auto maxDistance()() { 1605 return PannerNode_maxDistance_Get(this._parent); 1606 } 1607 void rolloffFactor()(double rolloffFactor) { 1608 PannerNode_rolloffFactor_Set(this._parent, rolloffFactor); 1609 } 1610 auto rolloffFactor()() { 1611 return PannerNode_rolloffFactor_Get(this._parent); 1612 } 1613 void coneInnerAngle()(double coneInnerAngle) { 1614 PannerNode_coneInnerAngle_Set(this._parent, coneInnerAngle); 1615 } 1616 auto coneInnerAngle()() { 1617 return PannerNode_coneInnerAngle_Get(this._parent); 1618 } 1619 void coneOuterAngle()(double coneOuterAngle) { 1620 PannerNode_coneOuterAngle_Set(this._parent, coneOuterAngle); 1621 } 1622 auto coneOuterAngle()() { 1623 return PannerNode_coneOuterAngle_Get(this._parent); 1624 } 1625 void coneOuterGain()(double coneOuterGain) { 1626 PannerNode_coneOuterGain_Set(this._parent, coneOuterGain); 1627 } 1628 auto coneOuterGain()() { 1629 return PannerNode_coneOuterGain_Get(this._parent); 1630 } 1631 void setPosition()(float x, float y, float z) { 1632 PannerNode_setPosition(this._parent, x, y, z); 1633 } 1634 void setOrientation()(float x, float y, float z) { 1635 PannerNode_setOrientation(this._parent, x, y, z); 1636 } 1637 } 1638 struct PannerOptions { 1639 nothrow: 1640 spasm.bindings.audio.AudioNodeOptions _parent; 1641 alias _parent this; 1642 this(Handle h) { 1643 _parent = .AudioNodeOptions(h); 1644 } 1645 static auto create() { 1646 return PannerOptions(spasm_add__object()); 1647 } 1648 void panningModel()(PanningModelType panningModel) { 1649 PannerOptions_panningModel_Set(this._parent, panningModel); 1650 } 1651 auto panningModel()() { 1652 return PannerOptions_panningModel_Get(this._parent); 1653 } 1654 void distanceModel()(DistanceModelType distanceModel) { 1655 PannerOptions_distanceModel_Set(this._parent, distanceModel); 1656 } 1657 auto distanceModel()() { 1658 return PannerOptions_distanceModel_Get(this._parent); 1659 } 1660 void positionX()(float positionX) { 1661 PannerOptions_positionX_Set(this._parent, positionX); 1662 } 1663 auto positionX()() { 1664 return PannerOptions_positionX_Get(this._parent); 1665 } 1666 void positionY()(float positionY) { 1667 PannerOptions_positionY_Set(this._parent, positionY); 1668 } 1669 auto positionY()() { 1670 return PannerOptions_positionY_Get(this._parent); 1671 } 1672 void positionZ()(float positionZ) { 1673 PannerOptions_positionZ_Set(this._parent, positionZ); 1674 } 1675 auto positionZ()() { 1676 return PannerOptions_positionZ_Get(this._parent); 1677 } 1678 void orientationX()(float orientationX) { 1679 PannerOptions_orientationX_Set(this._parent, orientationX); 1680 } 1681 auto orientationX()() { 1682 return PannerOptions_orientationX_Get(this._parent); 1683 } 1684 void orientationY()(float orientationY) { 1685 PannerOptions_orientationY_Set(this._parent, orientationY); 1686 } 1687 auto orientationY()() { 1688 return PannerOptions_orientationY_Get(this._parent); 1689 } 1690 void orientationZ()(float orientationZ) { 1691 PannerOptions_orientationZ_Set(this._parent, orientationZ); 1692 } 1693 auto orientationZ()() { 1694 return PannerOptions_orientationZ_Get(this._parent); 1695 } 1696 void refDistance()(double refDistance) { 1697 PannerOptions_refDistance_Set(this._parent, refDistance); 1698 } 1699 auto refDistance()() { 1700 return PannerOptions_refDistance_Get(this._parent); 1701 } 1702 void maxDistance()(double maxDistance) { 1703 PannerOptions_maxDistance_Set(this._parent, maxDistance); 1704 } 1705 auto maxDistance()() { 1706 return PannerOptions_maxDistance_Get(this._parent); 1707 } 1708 void rolloffFactor()(double rolloffFactor) { 1709 PannerOptions_rolloffFactor_Set(this._parent, rolloffFactor); 1710 } 1711 auto rolloffFactor()() { 1712 return PannerOptions_rolloffFactor_Get(this._parent); 1713 } 1714 void coneInnerAngle()(double coneInnerAngle) { 1715 PannerOptions_coneInnerAngle_Set(this._parent, coneInnerAngle); 1716 } 1717 auto coneInnerAngle()() { 1718 return PannerOptions_coneInnerAngle_Get(this._parent); 1719 } 1720 void coneOuterAngle()(double coneOuterAngle) { 1721 PannerOptions_coneOuterAngle_Set(this._parent, coneOuterAngle); 1722 } 1723 auto coneOuterAngle()() { 1724 return PannerOptions_coneOuterAngle_Get(this._parent); 1725 } 1726 void coneOuterGain()(double coneOuterGain) { 1727 PannerOptions_coneOuterGain_Set(this._parent, coneOuterGain); 1728 } 1729 auto coneOuterGain()() { 1730 return PannerOptions_coneOuterGain_Get(this._parent); 1731 } 1732 } 1733 enum PanningModelType { 1734 equalpower, 1735 HRTF 1736 } 1737 struct PeriodicWave { 1738 nothrow: 1739 JsHandle handle; 1740 alias handle this; 1741 this(Handle h) { 1742 this.handle = JsHandle(h); 1743 } 1744 } 1745 struct PeriodicWaveConstraints { 1746 nothrow: 1747 JsHandle handle; 1748 alias handle this; 1749 this(Handle h) { 1750 this.handle = JsHandle(h); 1751 } 1752 static auto create() { 1753 return PeriodicWaveConstraints(spasm_add__object()); 1754 } 1755 void disableNormalization()(bool disableNormalization) { 1756 PeriodicWaveConstraints_disableNormalization_Set(this.handle, disableNormalization); 1757 } 1758 auto disableNormalization()() { 1759 return PeriodicWaveConstraints_disableNormalization_Get(this.handle); 1760 } 1761 } 1762 struct PeriodicWaveOptions { 1763 nothrow: 1764 spasm.bindings.audio.PeriodicWaveConstraints _parent; 1765 alias _parent this; 1766 this(Handle h) { 1767 _parent = .PeriodicWaveConstraints(h); 1768 } 1769 static auto create() { 1770 return PeriodicWaveOptions(spasm_add__object()); 1771 } 1772 void real_()(scope ref Sequence!(float) real_) { 1773 PeriodicWaveOptions_real_Set(this._parent, real_.handle); 1774 } 1775 auto real_()() { 1776 return Sequence!(float)(PeriodicWaveOptions_real_Get(this._parent)); 1777 } 1778 void imag()(scope ref Sequence!(float) imag) { 1779 PeriodicWaveOptions_imag_Set(this._parent, imag.handle); 1780 } 1781 auto imag()() { 1782 return Sequence!(float)(PeriodicWaveOptions_imag_Get(this._parent)); 1783 } 1784 } 1785 struct ScriptProcessorNode { 1786 nothrow: 1787 spasm.bindings.audio.AudioNode _parent; 1788 alias _parent this; 1789 this(Handle h) { 1790 _parent = .AudioNode(h); 1791 } 1792 void onaudioprocess()(EventHandler onaudioprocess) { 1793 ScriptProcessorNode_onaudioprocess_Set(this._parent, onaudioprocess); 1794 } 1795 auto onaudioprocess()() { 1796 return ScriptProcessorNode_onaudioprocess_Get(this._parent); 1797 } 1798 auto bufferSize()() { 1799 return ScriptProcessorNode_bufferSize_Get(this._parent); 1800 } 1801 } 1802 struct StereoPannerNode { 1803 nothrow: 1804 spasm.bindings.audio.AudioNode _parent; 1805 alias _parent this; 1806 this(Handle h) { 1807 _parent = .AudioNode(h); 1808 } 1809 auto pan()() { 1810 return AudioParam(StereoPannerNode_pan_Get(this._parent)); 1811 } 1812 } 1813 struct StereoPannerOptions { 1814 nothrow: 1815 spasm.bindings.audio.AudioNodeOptions _parent; 1816 alias _parent this; 1817 this(Handle h) { 1818 _parent = .AudioNodeOptions(h); 1819 } 1820 static auto create() { 1821 return StereoPannerOptions(spasm_add__object()); 1822 } 1823 void pan()(float pan) { 1824 StereoPannerOptions_pan_Set(this._parent, pan); 1825 } 1826 auto pan()() { 1827 return StereoPannerOptions_pan_Get(this._parent); 1828 } 1829 } 1830 struct WaveShaperNode { 1831 nothrow: 1832 spasm.bindings.audio.AudioNode _parent; 1833 alias _parent this; 1834 this(Handle h) { 1835 _parent = .AudioNode(h); 1836 } 1837 void curve(T0)(scope auto ref Optional!(T0) curve) if (isTOrPointer!(T0, Float32Array)) { 1838 WaveShaperNode_curve_Set(this._parent, !curve.empty, curve.front.handle); 1839 } 1840 auto curve()() { 1841 return WaveShaperNode_curve_Get(this._parent); 1842 } 1843 void oversample()(OverSampleType oversample) { 1844 WaveShaperNode_oversample_Set(this._parent, oversample); 1845 } 1846 auto oversample()() { 1847 return WaveShaperNode_oversample_Get(this._parent); 1848 } 1849 } 1850 struct WaveShaperOptions { 1851 nothrow: 1852 spasm.bindings.audio.AudioNodeOptions _parent; 1853 alias _parent this; 1854 this(Handle h) { 1855 _parent = .AudioNodeOptions(h); 1856 } 1857 static auto create() { 1858 return WaveShaperOptions(spasm_add__object()); 1859 } 1860 void curve()(scope ref Sequence!(float) curve) { 1861 WaveShaperOptions_curve_Set(this._parent, curve.handle); 1862 } 1863 auto curve()() { 1864 return Sequence!(float)(WaveShaperOptions_curve_Get(this._parent)); 1865 } 1866 void oversample()(OverSampleType oversample) { 1867 WaveShaperOptions_oversample_Set(this._parent, oversample); 1868 } 1869 auto oversample()() { 1870 return WaveShaperOptions_oversample_Get(this._parent); 1871 } 1872 } 1873 1874 1875 extern (C) void AnalyserNode_getFloatFrequencyData(Handle, Handle); 1876 extern (C) void AnalyserNode_getByteFrequencyData(Handle, Handle); 1877 extern (C) void AnalyserNode_getFloatTimeDomainData(Handle, Handle); 1878 extern (C) void AnalyserNode_getByteTimeDomainData(Handle, Handle); 1879 extern (C) void AnalyserNode_fftSize_Set(Handle, uint); 1880 extern (C) uint AnalyserNode_fftSize_Get(Handle); 1881 extern (C) uint AnalyserNode_frequencyBinCount_Get(Handle); 1882 extern (C) void AnalyserNode_minDecibels_Set(Handle, double); 1883 extern (C) double AnalyserNode_minDecibels_Get(Handle); 1884 extern (C) void AnalyserNode_maxDecibels_Set(Handle, double); 1885 extern (C) double AnalyserNode_maxDecibels_Get(Handle); 1886 extern (C) void AnalyserNode_smoothingTimeConstant_Set(Handle, double); 1887 extern (C) double AnalyserNode_smoothingTimeConstant_Get(Handle); 1888 extern (C) void AnalyserOptions_fftSize_Set(Handle, uint); 1889 extern (C) uint AnalyserOptions_fftSize_Get(Handle); 1890 extern (C) void AnalyserOptions_maxDecibels_Set(Handle, double); 1891 extern (C) double AnalyserOptions_maxDecibels_Get(Handle); 1892 extern (C) void AnalyserOptions_minDecibels_Set(Handle, double); 1893 extern (C) double AnalyserOptions_minDecibels_Get(Handle); 1894 extern (C) void AnalyserOptions_smoothingTimeConstant_Set(Handle, double); 1895 extern (C) double AnalyserOptions_smoothingTimeConstant_Get(Handle); 1896 extern (C) float AudioBuffer_sampleRate_Get(Handle); 1897 extern (C) uint AudioBuffer_length_Get(Handle); 1898 extern (C) double AudioBuffer_duration_Get(Handle); 1899 extern (C) uint AudioBuffer_numberOfChannels_Get(Handle); 1900 extern (C) Handle AudioBuffer_getChannelData(Handle, uint); 1901 extern (C) void AudioBuffer_copyFromChannel(Handle, Handle, uint, uint); 1902 extern (C) void AudioBuffer_copyFromChannel_0(Handle, Handle, uint); 1903 extern (C) void AudioBuffer_copyToChannel(Handle, Handle, uint, uint); 1904 extern (C) void AudioBuffer_copyToChannel_0(Handle, Handle, uint); 1905 extern (C) void AudioBufferOptions_numberOfChannels_Set(Handle, uint); 1906 extern (C) uint AudioBufferOptions_numberOfChannels_Get(Handle); 1907 extern (C) void AudioBufferOptions_length_Set(Handle, uint); 1908 extern (C) uint AudioBufferOptions_length_Get(Handle); 1909 extern (C) void AudioBufferOptions_sampleRate_Set(Handle, float); 1910 extern (C) float AudioBufferOptions_sampleRate_Get(Handle); 1911 extern (C) void AudioBufferSourceNode_buffer_Set(Handle, bool, Handle); 1912 extern (C) Optional!(AudioBuffer) AudioBufferSourceNode_buffer_Get(Handle); 1913 extern (C) Handle AudioBufferSourceNode_playbackRate_Get(Handle); 1914 extern (C) Handle AudioBufferSourceNode_detune_Get(Handle); 1915 extern (C) void AudioBufferSourceNode_loop_Set(Handle, bool); 1916 extern (C) bool AudioBufferSourceNode_loop_Get(Handle); 1917 extern (C) void AudioBufferSourceNode_loopStart_Set(Handle, double); 1918 extern (C) double AudioBufferSourceNode_loopStart_Get(Handle); 1919 extern (C) void AudioBufferSourceNode_loopEnd_Set(Handle, double); 1920 extern (C) double AudioBufferSourceNode_loopEnd_Get(Handle); 1921 extern (C) void AudioBufferSourceNode_start(Handle, double, double, double); 1922 extern (C) void AudioBufferSourceNode_start_0(Handle, double, double); 1923 extern (C) void AudioBufferSourceNode_start_1(Handle, double); 1924 extern (C) void AudioBufferSourceNode_start_2(Handle); 1925 extern (C) void AudioBufferSourceOptions_buffer_Set(Handle, bool, Handle); 1926 extern (C) Optional!(AudioBuffer) AudioBufferSourceOptions_buffer_Get(Handle); 1927 extern (C) void AudioBufferSourceOptions_detune_Set(Handle, float); 1928 extern (C) float AudioBufferSourceOptions_detune_Get(Handle); 1929 extern (C) void AudioBufferSourceOptions_loop_Set(Handle, bool); 1930 extern (C) bool AudioBufferSourceOptions_loop_Get(Handle); 1931 extern (C) void AudioBufferSourceOptions_loopEnd_Set(Handle, double); 1932 extern (C) double AudioBufferSourceOptions_loopEnd_Get(Handle); 1933 extern (C) void AudioBufferSourceOptions_loopStart_Set(Handle, double); 1934 extern (C) double AudioBufferSourceOptions_loopStart_Get(Handle); 1935 extern (C) void AudioBufferSourceOptions_playbackRate_Set(Handle, float); 1936 extern (C) float AudioBufferSourceOptions_playbackRate_Get(Handle); 1937 extern (C) double AudioContext_baseLatency_Get(Handle); 1938 extern (C) double AudioContext_outputLatency_Get(Handle); 1939 extern (C) Handle AudioContext_getOutputTimestamp(Handle); 1940 extern (C) Handle AudioContext_resume(Handle); 1941 extern (C) Handle AudioContext_suspend(Handle); 1942 extern (C) Handle AudioContext_close(Handle); 1943 extern (C) Handle AudioContext_createMediaElementSource(Handle, Handle); 1944 extern (C) Handle AudioContext_createMediaStreamSource(Handle, Handle); 1945 extern (C) Handle AudioContext_createMediaStreamTrackSource(Handle, Handle); 1946 extern (C) Handle AudioContext_createMediaStreamDestination(Handle); 1947 extern (C) void AudioContextOptions_latencyHint_Set(Handle, scope ref SumType!(AudioContextLatencyCategory, double)); 1948 extern (C) SumType!(AudioContextLatencyCategory, double) AudioContextOptions_latencyHint_Get(Handle); 1949 extern (C) void AudioContextOptions_sampleRate_Set(Handle, float); 1950 extern (C) float AudioContextOptions_sampleRate_Get(Handle); 1951 extern (C) uint AudioDestinationNode_maxChannelCount_Get(Handle); 1952 extern (C) Handle AudioListener_positionX_Get(Handle); 1953 extern (C) Handle AudioListener_positionY_Get(Handle); 1954 extern (C) Handle AudioListener_positionZ_Get(Handle); 1955 extern (C) Handle AudioListener_forwardX_Get(Handle); 1956 extern (C) Handle AudioListener_forwardY_Get(Handle); 1957 extern (C) Handle AudioListener_forwardZ_Get(Handle); 1958 extern (C) Handle AudioListener_upX_Get(Handle); 1959 extern (C) Handle AudioListener_upY_Get(Handle); 1960 extern (C) Handle AudioListener_upZ_Get(Handle); 1961 extern (C) void AudioListener_setPosition(Handle, float, float, float); 1962 extern (C) void AudioListener_setOrientation(Handle, float, float, float, float, float, float); 1963 extern (C) Handle AudioNode_connect__Handle_uint_uint(Handle, Handle, uint, uint); 1964 extern (C) Handle AudioNode_connect_0_Handle_uint(Handle, Handle, uint); 1965 extern (C) Handle AudioNode_connect_1(Handle, Handle); 1966 extern (C) void AudioNode_connect__Handle_uint(Handle, Handle, uint); 1967 extern (C) void AudioNode_connect_0_Handle(Handle, Handle); 1968 extern (C) void AudioNode_disconnect__(Handle); 1969 extern (C) void AudioNode_disconnect__uint(Handle, uint); 1970 extern (C) void AudioNode_disconnect__Handle(Handle, Handle); 1971 extern (C) void AudioNode_disconnect__Handle_uint(Handle, Handle, uint); 1972 extern (C) void AudioNode_disconnect__Handle_uint_uint(Handle, Handle, uint, uint); 1973 extern (C) Handle AudioNode_context_Get(Handle); 1974 extern (C) uint AudioNode_numberOfInputs_Get(Handle); 1975 extern (C) uint AudioNode_numberOfOutputs_Get(Handle); 1976 extern (C) void AudioNode_channelCount_Set(Handle, uint); 1977 extern (C) uint AudioNode_channelCount_Get(Handle); 1978 extern (C) void AudioNode_channelCountMode_Set(Handle, ChannelCountMode); 1979 extern (C) ChannelCountMode AudioNode_channelCountMode_Get(Handle); 1980 extern (C) void AudioNode_channelInterpretation_Set(Handle, ChannelInterpretation); 1981 extern (C) ChannelInterpretation AudioNode_channelInterpretation_Get(Handle); 1982 extern (C) void AudioNodeOptions_channelCount_Set(Handle, uint); 1983 extern (C) uint AudioNodeOptions_channelCount_Get(Handle); 1984 extern (C) void AudioNodeOptions_channelCountMode_Set(Handle, ChannelCountMode); 1985 extern (C) ChannelCountMode AudioNodeOptions_channelCountMode_Get(Handle); 1986 extern (C) void AudioNodeOptions_channelInterpretation_Set(Handle, ChannelInterpretation); 1987 extern (C) ChannelInterpretation AudioNodeOptions_channelInterpretation_Get(Handle); 1988 extern (C) void AudioParam_value_Set(Handle, float); 1989 extern (C) float AudioParam_value_Get(Handle); 1990 extern (C) void AudioParam_automationRate_Set(Handle, AutomationRate); 1991 extern (C) AutomationRate AudioParam_automationRate_Get(Handle); 1992 extern (C) float AudioParam_defaultValue_Get(Handle); 1993 extern (C) float AudioParam_minValue_Get(Handle); 1994 extern (C) float AudioParam_maxValue_Get(Handle); 1995 extern (C) Handle AudioParam_setValueAtTime(Handle, float, double); 1996 extern (C) Handle AudioParam_linearRampToValueAtTime(Handle, float, double); 1997 extern (C) Handle AudioParam_exponentialRampToValueAtTime(Handle, float, double); 1998 extern (C) Handle AudioParam_setTargetAtTime(Handle, float, double, float); 1999 extern (C) Handle AudioParam_setValueCurveAtTime(Handle, Handle, double, double); 2000 extern (C) Handle AudioParam_cancelScheduledValues(Handle, double); 2001 extern (C) Handle AudioParam_cancelAndHoldAtTime(Handle, double); 2002 extern (C) void AudioParamDescriptor_name_Set(Handle, string); 2003 extern (C) string AudioParamDescriptor_name_Get(Handle); 2004 extern (C) void AudioParamDescriptor_defaultValue_Set(Handle, float); 2005 extern (C) float AudioParamDescriptor_defaultValue_Get(Handle); 2006 extern (C) void AudioParamDescriptor_minValue_Set(Handle, float); 2007 extern (C) float AudioParamDescriptor_minValue_Get(Handle); 2008 extern (C) void AudioParamDescriptor_maxValue_Set(Handle, float); 2009 extern (C) float AudioParamDescriptor_maxValue_Get(Handle); 2010 extern (C) void AudioParamDescriptor_automationRate_Set(Handle, AutomationRate); 2011 extern (C) AutomationRate AudioParamDescriptor_automationRate_Get(Handle); 2012 extern (C) uint Maplike_string_Handle_size(Handle); 2013 extern (C) void Maplike_string_Handle_clear(Handle); 2014 extern (C) void Maplike_string_Handle_delete(Handle, string key); 2015 extern (C) Handle Maplike_string_Handle_entries(Handle); 2016 extern (C) void Maplike_string_Handle_forEach(Handle, void delegate(string, Handle, Handle)); 2017 extern (C) AudioParam Maplike_string_Handle_get(Handle, string); 2018 extern (C) bool Maplike_string_Handle_has(Handle, string); 2019 extern (C) Handle Maplike_string_Handle_keys(Handle); 2020 extern (C) void Maplike_string_Handle_set(Handle, string key, Handle value); 2021 extern (C) Handle Maplike_string_Handle_values(Handle); 2022 extern (C) double AudioProcessingEvent_playbackTime_Get(Handle); 2023 extern (C) Handle AudioProcessingEvent_inputBuffer_Get(Handle); 2024 extern (C) Handle AudioProcessingEvent_outputBuffer_Get(Handle); 2025 extern (C) void AudioProcessingEventInit_playbackTime_Set(Handle, double); 2026 extern (C) double AudioProcessingEventInit_playbackTime_Get(Handle); 2027 extern (C) void AudioProcessingEventInit_inputBuffer_Set(Handle, Handle); 2028 extern (C) Handle AudioProcessingEventInit_inputBuffer_Get(Handle); 2029 extern (C) void AudioProcessingEventInit_outputBuffer_Set(Handle, Handle); 2030 extern (C) Handle AudioProcessingEventInit_outputBuffer_Get(Handle); 2031 extern (C) void AudioScheduledSourceNode_onended_Set(Handle, EventHandler); 2032 extern (C) EventHandler AudioScheduledSourceNode_onended_Get(Handle); 2033 extern (C) void AudioScheduledSourceNode_start(Handle, double); 2034 extern (C) void AudioScheduledSourceNode_start_0(Handle); 2035 extern (C) void AudioScheduledSourceNode_stop(Handle, double); 2036 extern (C) void AudioScheduledSourceNode_stop_0(Handle); 2037 extern (C) void AudioTimestamp_contextTime_Set(Handle, double); 2038 extern (C) double AudioTimestamp_contextTime_Get(Handle); 2039 extern (C) void AudioTimestamp_performanceTime_Set(Handle, double); 2040 extern (C) double AudioTimestamp_performanceTime_Get(Handle); 2041 extern (C) Handle AudioWorklet_Event(Handle, string, Handle); 2042 extern (C) Handle AudioWorklet_EventTarget(Handle); 2043 extern (C) Handle AudioWorklet_MessageEvent(Handle, string, Handle); 2044 extern (C) void AudioWorkletGlobalScope_registerProcessor(Handle, string, VoidFunction); 2045 extern (C) uint AudioWorkletGlobalScope_currentFrame_Get(Handle); 2046 extern (C) double AudioWorkletGlobalScope_currentTime_Get(Handle); 2047 extern (C) float AudioWorkletGlobalScope_sampleRate_Get(Handle); 2048 extern (C) Handle AudioWorkletNode_parameters_Get(Handle); 2049 extern (C) Handle AudioWorkletNode_port_Get(Handle); 2050 extern (C) void AudioWorkletNode_onprocessorerror_Set(Handle, EventHandler); 2051 extern (C) EventHandler AudioWorkletNode_onprocessorerror_Get(Handle); 2052 extern (C) void AudioWorkletNodeOptions_numberOfInputs_Set(Handle, uint); 2053 extern (C) uint AudioWorkletNodeOptions_numberOfInputs_Get(Handle); 2054 extern (C) void AudioWorkletNodeOptions_numberOfOutputs_Set(Handle, uint); 2055 extern (C) uint AudioWorkletNodeOptions_numberOfOutputs_Get(Handle); 2056 extern (C) void AudioWorkletNodeOptions_outputChannelCount_Set(Handle, Handle); 2057 extern (C) Handle AudioWorkletNodeOptions_outputChannelCount_Get(Handle); 2058 extern (C) void AudioWorkletNodeOptions_parameterData_Set(Handle, Handle); 2059 extern (C) Handle AudioWorkletNodeOptions_parameterData_Get(Handle); 2060 extern (C) void AudioWorkletNodeOptions_processorOptions_Set(Handle, bool, Handle); 2061 extern (C) Optional!(JsObject) AudioWorkletNodeOptions_processorOptions_Get(Handle); 2062 extern (C) Handle AudioWorkletProcessor_port_Get(Handle); 2063 extern (C) Handle BaseAudioContext_destination_Get(Handle); 2064 extern (C) float BaseAudioContext_sampleRate_Get(Handle); 2065 extern (C) double BaseAudioContext_currentTime_Get(Handle); 2066 extern (C) Handle BaseAudioContext_listener_Get(Handle); 2067 extern (C) AudioContextState BaseAudioContext_state_Get(Handle); 2068 extern (C) Handle BaseAudioContext_audioWorklet_Get(Handle); 2069 extern (C) void BaseAudioContext_onstatechange_Set(Handle, EventHandler); 2070 extern (C) EventHandler BaseAudioContext_onstatechange_Get(Handle); 2071 extern (C) Handle BaseAudioContext_createAnalyser(Handle); 2072 extern (C) Handle BaseAudioContext_createBiquadFilter(Handle); 2073 extern (C) Handle BaseAudioContext_createBuffer(Handle, uint, uint, float); 2074 extern (C) Handle BaseAudioContext_createBufferSource(Handle); 2075 extern (C) Handle BaseAudioContext_createChannelMerger(Handle, uint); 2076 extern (C) Handle BaseAudioContext_createChannelMerger_0(Handle); 2077 extern (C) Handle BaseAudioContext_createChannelSplitter(Handle, uint); 2078 extern (C) Handle BaseAudioContext_createChannelSplitter_0(Handle); 2079 extern (C) Handle BaseAudioContext_createConstantSource(Handle); 2080 extern (C) Handle BaseAudioContext_createConvolver(Handle); 2081 extern (C) Handle BaseAudioContext_createDelay(Handle, double); 2082 extern (C) Handle BaseAudioContext_createDelay_0(Handle); 2083 extern (C) Handle BaseAudioContext_createDynamicsCompressor(Handle); 2084 extern (C) Handle BaseAudioContext_createGain(Handle); 2085 extern (C) Handle BaseAudioContext_createIIRFilter(Handle, Handle, Handle); 2086 extern (C) Handle BaseAudioContext_createOscillator(Handle); 2087 extern (C) Handle BaseAudioContext_createPanner(Handle); 2088 extern (C) Handle BaseAudioContext_createPeriodicWave(Handle, Handle, Handle, Handle); 2089 extern (C) Handle BaseAudioContext_createPeriodicWave_0(Handle, Handle, Handle); 2090 extern (C) Handle BaseAudioContext_createScriptProcessor(Handle, uint, uint, uint); 2091 extern (C) Handle BaseAudioContext_createScriptProcessor_0(Handle, uint, uint); 2092 extern (C) Handle BaseAudioContext_createScriptProcessor_1(Handle, uint); 2093 extern (C) Handle BaseAudioContext_createScriptProcessor_2(Handle); 2094 extern (C) Handle BaseAudioContext_createStereoPanner(Handle); 2095 extern (C) Handle BaseAudioContext_createWaveShaper(Handle); 2096 extern (C) Handle BaseAudioContext_decodeAudioData(Handle, Handle, bool, DecodeSuccessCallback, bool, DecodeErrorCallback); 2097 extern (C) Handle BaseAudioContext_decodeAudioData_0(Handle, Handle, bool, DecodeSuccessCallback); 2098 extern (C) Handle BaseAudioContext_decodeAudioData_1(Handle, Handle); 2099 extern (C) void BiquadFilterNode_type_Set(Handle, BiquadFilterType); 2100 extern (C) BiquadFilterType BiquadFilterNode_type_Get(Handle); 2101 extern (C) Handle BiquadFilterNode_frequency_Get(Handle); 2102 extern (C) Handle BiquadFilterNode_detune_Get(Handle); 2103 extern (C) Handle BiquadFilterNode_Q_Get(Handle); 2104 extern (C) Handle BiquadFilterNode_gain_Get(Handle); 2105 extern (C) void BiquadFilterNode_getFrequencyResponse(Handle, Handle, Handle, Handle); 2106 extern (C) void BiquadFilterOptions_type_Set(Handle, BiquadFilterType); 2107 extern (C) BiquadFilterType BiquadFilterOptions_type_Get(Handle); 2108 extern (C) void BiquadFilterOptions_Q_Set(Handle, float); 2109 extern (C) float BiquadFilterOptions_Q_Get(Handle); 2110 extern (C) void BiquadFilterOptions_detune_Set(Handle, float); 2111 extern (C) float BiquadFilterOptions_detune_Get(Handle); 2112 extern (C) void BiquadFilterOptions_frequency_Set(Handle, float); 2113 extern (C) float BiquadFilterOptions_frequency_Get(Handle); 2114 extern (C) void BiquadFilterOptions_gain_Set(Handle, float); 2115 extern (C) float BiquadFilterOptions_gain_Get(Handle); 2116 extern (C) void ChannelMergerOptions_numberOfInputs_Set(Handle, uint); 2117 extern (C) uint ChannelMergerOptions_numberOfInputs_Get(Handle); 2118 extern (C) void ChannelSplitterOptions_numberOfOutputs_Set(Handle, uint); 2119 extern (C) uint ChannelSplitterOptions_numberOfOutputs_Get(Handle); 2120 extern (C) Handle ConstantSourceNode_offset_Get(Handle); 2121 extern (C) void ConstantSourceOptions_offset_Set(Handle, float); 2122 extern (C) float ConstantSourceOptions_offset_Get(Handle); 2123 extern (C) void ConvolverNode_buffer_Set(Handle, bool, Handle); 2124 extern (C) Optional!(AudioBuffer) ConvolverNode_buffer_Get(Handle); 2125 extern (C) void ConvolverNode_normalize_Set(Handle, bool); 2126 extern (C) bool ConvolverNode_normalize_Get(Handle); 2127 extern (C) void ConvolverOptions_buffer_Set(Handle, bool, Handle); 2128 extern (C) Optional!(AudioBuffer) ConvolverOptions_buffer_Get(Handle); 2129 extern (C) void ConvolverOptions_disableNormalization_Set(Handle, bool); 2130 extern (C) bool ConvolverOptions_disableNormalization_Get(Handle); 2131 extern (C) Handle DelayNode_delayTime_Get(Handle); 2132 extern (C) void DelayOptions_maxDelayTime_Set(Handle, double); 2133 extern (C) double DelayOptions_maxDelayTime_Get(Handle); 2134 extern (C) void DelayOptions_delayTime_Set(Handle, double); 2135 extern (C) double DelayOptions_delayTime_Get(Handle); 2136 extern (C) Handle DynamicsCompressorNode_threshold_Get(Handle); 2137 extern (C) Handle DynamicsCompressorNode_knee_Get(Handle); 2138 extern (C) Handle DynamicsCompressorNode_ratio_Get(Handle); 2139 extern (C) float DynamicsCompressorNode_reduction_Get(Handle); 2140 extern (C) Handle DynamicsCompressorNode_attack_Get(Handle); 2141 extern (C) Handle DynamicsCompressorNode_release_Get(Handle); 2142 extern (C) void DynamicsCompressorOptions_attack_Set(Handle, float); 2143 extern (C) float DynamicsCompressorOptions_attack_Get(Handle); 2144 extern (C) void DynamicsCompressorOptions_knee_Set(Handle, float); 2145 extern (C) float DynamicsCompressorOptions_knee_Get(Handle); 2146 extern (C) void DynamicsCompressorOptions_ratio_Set(Handle, float); 2147 extern (C) float DynamicsCompressorOptions_ratio_Get(Handle); 2148 extern (C) void DynamicsCompressorOptions_release_Set(Handle, float); 2149 extern (C) float DynamicsCompressorOptions_release_Get(Handle); 2150 extern (C) void DynamicsCompressorOptions_threshold_Set(Handle, float); 2151 extern (C) float DynamicsCompressorOptions_threshold_Get(Handle); 2152 extern (C) Handle GainNode_gain_Get(Handle); 2153 extern (C) void GainOptions_gain_Set(Handle, float); 2154 extern (C) float GainOptions_gain_Get(Handle); 2155 extern (C) void IIRFilterNode_getFrequencyResponse(Handle, Handle, Handle, Handle); 2156 extern (C) void IIRFilterOptions_feedforward_Set(Handle, Handle); 2157 extern (C) Handle IIRFilterOptions_feedforward_Get(Handle); 2158 extern (C) void IIRFilterOptions_feedback_Set(Handle, Handle); 2159 extern (C) Handle IIRFilterOptions_feedback_Get(Handle); 2160 extern (C) Handle MediaElementAudioSourceNode_mediaElement_Get(Handle); 2161 extern (C) void MediaElementAudioSourceOptions_mediaElement_Set(Handle, Handle); 2162 extern (C) Handle MediaElementAudioSourceOptions_mediaElement_Get(Handle); 2163 extern (C) Handle MediaStreamAudioDestinationNode_stream_Get(Handle); 2164 extern (C) Handle MediaStreamAudioSourceNode_mediaStream_Get(Handle); 2165 extern (C) void MediaStreamAudioSourceOptions_mediaStream_Set(Handle, Handle); 2166 extern (C) Handle MediaStreamAudioSourceOptions_mediaStream_Get(Handle); 2167 extern (C) void MediaStreamTrackAudioSourceOptions_mediaStreamTrack_Set(Handle, Handle); 2168 extern (C) Handle MediaStreamTrackAudioSourceOptions_mediaStreamTrack_Get(Handle); 2169 extern (C) Handle OfflineAudioCompletionEvent_renderedBuffer_Get(Handle); 2170 extern (C) void OfflineAudioCompletionEventInit_renderedBuffer_Set(Handle, Handle); 2171 extern (C) Handle OfflineAudioCompletionEventInit_renderedBuffer_Get(Handle); 2172 extern (C) Handle OfflineAudioContext_startRendering(Handle); 2173 extern (C) Handle OfflineAudioContext_resume(Handle); 2174 extern (C) Handle OfflineAudioContext_suspend(Handle, double); 2175 extern (C) uint OfflineAudioContext_length_Get(Handle); 2176 extern (C) void OfflineAudioContext_oncomplete_Set(Handle, EventHandler); 2177 extern (C) EventHandler OfflineAudioContext_oncomplete_Get(Handle); 2178 extern (C) void OfflineAudioContextOptions_numberOfChannels_Set(Handle, uint); 2179 extern (C) uint OfflineAudioContextOptions_numberOfChannels_Get(Handle); 2180 extern (C) void OfflineAudioContextOptions_length_Set(Handle, uint); 2181 extern (C) uint OfflineAudioContextOptions_length_Get(Handle); 2182 extern (C) void OfflineAudioContextOptions_sampleRate_Set(Handle, float); 2183 extern (C) float OfflineAudioContextOptions_sampleRate_Get(Handle); 2184 extern (C) void OscillatorNode_type_Set(Handle, OscillatorType); 2185 extern (C) OscillatorType OscillatorNode_type_Get(Handle); 2186 extern (C) Handle OscillatorNode_frequency_Get(Handle); 2187 extern (C) Handle OscillatorNode_detune_Get(Handle); 2188 extern (C) void OscillatorNode_setPeriodicWave(Handle, Handle); 2189 extern (C) void OscillatorOptions_type_Set(Handle, OscillatorType); 2190 extern (C) OscillatorType OscillatorOptions_type_Get(Handle); 2191 extern (C) void OscillatorOptions_frequency_Set(Handle, float); 2192 extern (C) float OscillatorOptions_frequency_Get(Handle); 2193 extern (C) void OscillatorOptions_detune_Set(Handle, float); 2194 extern (C) float OscillatorOptions_detune_Get(Handle); 2195 extern (C) void OscillatorOptions_periodicWave_Set(Handle, Handle); 2196 extern (C) Handle OscillatorOptions_periodicWave_Get(Handle); 2197 extern (C) void PannerNode_panningModel_Set(Handle, PanningModelType); 2198 extern (C) PanningModelType PannerNode_panningModel_Get(Handle); 2199 extern (C) Handle PannerNode_positionX_Get(Handle); 2200 extern (C) Handle PannerNode_positionY_Get(Handle); 2201 extern (C) Handle PannerNode_positionZ_Get(Handle); 2202 extern (C) Handle PannerNode_orientationX_Get(Handle); 2203 extern (C) Handle PannerNode_orientationY_Get(Handle); 2204 extern (C) Handle PannerNode_orientationZ_Get(Handle); 2205 extern (C) void PannerNode_distanceModel_Set(Handle, DistanceModelType); 2206 extern (C) DistanceModelType PannerNode_distanceModel_Get(Handle); 2207 extern (C) void PannerNode_refDistance_Set(Handle, double); 2208 extern (C) double PannerNode_refDistance_Get(Handle); 2209 extern (C) void PannerNode_maxDistance_Set(Handle, double); 2210 extern (C) double PannerNode_maxDistance_Get(Handle); 2211 extern (C) void PannerNode_rolloffFactor_Set(Handle, double); 2212 extern (C) double PannerNode_rolloffFactor_Get(Handle); 2213 extern (C) void PannerNode_coneInnerAngle_Set(Handle, double); 2214 extern (C) double PannerNode_coneInnerAngle_Get(Handle); 2215 extern (C) void PannerNode_coneOuterAngle_Set(Handle, double); 2216 extern (C) double PannerNode_coneOuterAngle_Get(Handle); 2217 extern (C) void PannerNode_coneOuterGain_Set(Handle, double); 2218 extern (C) double PannerNode_coneOuterGain_Get(Handle); 2219 extern (C) void PannerNode_setPosition(Handle, float, float, float); 2220 extern (C) void PannerNode_setOrientation(Handle, float, float, float); 2221 extern (C) void PannerOptions_panningModel_Set(Handle, PanningModelType); 2222 extern (C) PanningModelType PannerOptions_panningModel_Get(Handle); 2223 extern (C) void PannerOptions_distanceModel_Set(Handle, DistanceModelType); 2224 extern (C) DistanceModelType PannerOptions_distanceModel_Get(Handle); 2225 extern (C) void PannerOptions_positionX_Set(Handle, float); 2226 extern (C) float PannerOptions_positionX_Get(Handle); 2227 extern (C) void PannerOptions_positionY_Set(Handle, float); 2228 extern (C) float PannerOptions_positionY_Get(Handle); 2229 extern (C) void PannerOptions_positionZ_Set(Handle, float); 2230 extern (C) float PannerOptions_positionZ_Get(Handle); 2231 extern (C) void PannerOptions_orientationX_Set(Handle, float); 2232 extern (C) float PannerOptions_orientationX_Get(Handle); 2233 extern (C) void PannerOptions_orientationY_Set(Handle, float); 2234 extern (C) float PannerOptions_orientationY_Get(Handle); 2235 extern (C) void PannerOptions_orientationZ_Set(Handle, float); 2236 extern (C) float PannerOptions_orientationZ_Get(Handle); 2237 extern (C) void PannerOptions_refDistance_Set(Handle, double); 2238 extern (C) double PannerOptions_refDistance_Get(Handle); 2239 extern (C) void PannerOptions_maxDistance_Set(Handle, double); 2240 extern (C) double PannerOptions_maxDistance_Get(Handle); 2241 extern (C) void PannerOptions_rolloffFactor_Set(Handle, double); 2242 extern (C) double PannerOptions_rolloffFactor_Get(Handle); 2243 extern (C) void PannerOptions_coneInnerAngle_Set(Handle, double); 2244 extern (C) double PannerOptions_coneInnerAngle_Get(Handle); 2245 extern (C) void PannerOptions_coneOuterAngle_Set(Handle, double); 2246 extern (C) double PannerOptions_coneOuterAngle_Get(Handle); 2247 extern (C) void PannerOptions_coneOuterGain_Set(Handle, double); 2248 extern (C) double PannerOptions_coneOuterGain_Get(Handle); 2249 extern (C) void PeriodicWaveConstraints_disableNormalization_Set(Handle, bool); 2250 extern (C) bool PeriodicWaveConstraints_disableNormalization_Get(Handle); 2251 extern (C) void PeriodicWaveOptions_real_Set(Handle, Handle); 2252 extern (C) Handle PeriodicWaveOptions_real_Get(Handle); 2253 extern (C) void PeriodicWaveOptions_imag_Set(Handle, Handle); 2254 extern (C) Handle PeriodicWaveOptions_imag_Get(Handle); 2255 extern (C) void ScriptProcessorNode_onaudioprocess_Set(Handle, EventHandler); 2256 extern (C) EventHandler ScriptProcessorNode_onaudioprocess_Get(Handle); 2257 extern (C) int ScriptProcessorNode_bufferSize_Get(Handle); 2258 extern (C) Handle StereoPannerNode_pan_Get(Handle); 2259 extern (C) void StereoPannerOptions_pan_Set(Handle, float); 2260 extern (C) float StereoPannerOptions_pan_Get(Handle); 2261 extern (C) void WaveShaperNode_curve_Set(Handle, bool, Handle); 2262 extern (C) Optional!(Float32Array) WaveShaperNode_curve_Get(Handle); 2263 extern (C) void WaveShaperNode_oversample_Set(Handle, OverSampleType); 2264 extern (C) OverSampleType WaveShaperNode_oversample_Get(Handle); 2265 extern (C) void WaveShaperOptions_curve_Set(Handle, Handle); 2266 extern (C) Handle WaveShaperOptions_curve_Get(Handle); 2267 extern (C) void WaveShaperOptions_oversample_Set(Handle, OverSampleType); 2268 extern (C) OverSampleType WaveShaperOptions_oversample_Get(Handle);