@rescript/webapi 0.1.0-experimental-29b94b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +14 -0
- package/package.json +38 -0
- package/rescript.json +19 -0
- package/src/CSSFontLoadingAPI/FontFace.res +34 -0
- package/src/CSSFontLoadingAPI/FontFaceSet.res +112 -0
- package/src/CSSFontLoadingAPI.res +101 -0
- package/src/CanvasAPI/ImageBitmap.res +8 -0
- package/src/CanvasAPI/OffscreenCanvas.res +123 -0
- package/src/CanvasAPI.res +55 -0
- package/src/ChannelMessagingAPI/MessagePort.res +120 -0
- package/src/ChannelMessagingAPI.res +13 -0
- package/src/ClipboardAPI/Clipboard.res +106 -0
- package/src/ClipboardAPI/ClipboardItem.res +21 -0
- package/src/ClipboardAPI.res +31 -0
- package/src/CredentialManagementAPI/CredentialsContainer.res +31 -0
- package/src/CredentialManagementAPI.res +140 -0
- package/src/DOMAPI/Animation.res +137 -0
- package/src/DOMAPI/AnimationEffect.res +19 -0
- package/src/DOMAPI/CSSRuleList.res +7 -0
- package/src/DOMAPI/CSSStyleDeclaration.res +36 -0
- package/src/DOMAPI/CSSStyleSheet.res +32 -0
- package/src/DOMAPI/CSSStyleValue.res +13 -0
- package/src/DOMAPI/CaretPosition.res +4 -0
- package/src/DOMAPI/CharacterData.res +272 -0
- package/src/DOMAPI/Comment.res +278 -0
- package/src/DOMAPI/CustomElementRegistry.res +31 -0
- package/src/DOMAPI/DOMImplementation.res +30 -0
- package/src/DOMAPI/DOMMatrix.res +169 -0
- package/src/DOMAPI/DOMMatrixReadOnly.res +103 -0
- package/src/DOMAPI/DOMPoint.res +29 -0
- package/src/DOMAPI/DOMPointReadOnly.res +24 -0
- package/src/DOMAPI/DOMRect.res +23 -0
- package/src/DOMAPI/DOMRectList.res +4 -0
- package/src/DOMAPI/DOMRectReadOnly.res +17 -0
- package/src/DOMAPI/DOMTokenList.res +72 -0
- package/src/DOMAPI/Document.res +634 -0
- package/src/DOMAPI/DocumentFragment.res +261 -0
- package/src/DOMAPI/DocumentTimeline.res +9 -0
- package/src/DOMAPI/Element.res +634 -0
- package/src/DOMAPI/ElementInternals.res +39 -0
- package/src/DOMAPI/FileList.res +8 -0
- package/src/DOMAPI/HTMLAnchorElement.res +693 -0
- package/src/DOMAPI/HTMLAreaElement.res +687 -0
- package/src/DOMAPI/HTMLAudioElement.res +750 -0
- package/src/DOMAPI/HTMLBRElement.res +686 -0
- package/src/DOMAPI/HTMLBaseElement.res +687 -0
- package/src/DOMAPI/HTMLBodyElement.res +687 -0
- package/src/DOMAPI/HTMLButtonElement.res +714 -0
- package/src/DOMAPI/HTMLCanvasElement.res +741 -0
- package/src/DOMAPI/HTMLCollection.res +15 -0
- package/src/DOMAPI/HTMLCollectionOf.res +16 -0
- package/src/DOMAPI/HTMLDListElement.res +690 -0
- package/src/DOMAPI/HTMLDataElement.res +687 -0
- package/src/DOMAPI/HTMLDataListElement.res +697 -0
- package/src/DOMAPI/HTMLDialogElement.res +715 -0
- package/src/DOMAPI/HTMLDivElement.res +686 -0
- package/src/DOMAPI/HTMLElement.res +685 -0
- package/src/DOMAPI/HTMLEmbedElement.res +693 -0
- package/src/DOMAPI/HTMLFieldSetElement.res +718 -0
- package/src/DOMAPI/HTMLFormControlsCollection.res +16 -0
- package/src/DOMAPI/HTMLFormElement.res +720 -0
- package/src/DOMAPI/HTMLFrameSetElement.res +697 -0
- package/src/DOMAPI/HTMLHRElement.res +686 -0
- package/src/DOMAPI/HTMLHeadElement.res +687 -0
- package/src/DOMAPI/HTMLHeadingElement.res +693 -0
- package/src/DOMAPI/HTMLHtmlElement.res +687 -0
- package/src/DOMAPI/HTMLIFrameElement.res +696 -0
- package/src/DOMAPI/HTMLImageElement.res +696 -0
- package/src/DOMAPI/HTMLInputElement.res +773 -0
- package/src/DOMAPI/HTMLLIElement.res +686 -0
- package/src/DOMAPI/HTMLLabelElement.res +690 -0
- package/src/DOMAPI/HTMLLegendElement.res +693 -0
- package/src/DOMAPI/HTMLLinkElement.res +687 -0
- package/src/DOMAPI/HTMLMapElement.res +686 -0
- package/src/DOMAPI/HTMLMediaElement.res +749 -0
- package/src/DOMAPI/HTMLMenuElement.res +687 -0
- package/src/DOMAPI/HTMLMetaElement.res +687 -0
- package/src/DOMAPI/HTMLMeterElement.res +690 -0
- package/src/DOMAPI/HTMLModElement.res +686 -0
- package/src/DOMAPI/HTMLOListElement.res +690 -0
- package/src/DOMAPI/HTMLObjectElement.res +717 -0
- package/src/DOMAPI/HTMLOptGroupElement.res +697 -0
- package/src/DOMAPI/HTMLOptionElement.res +693 -0
- package/src/DOMAPI/HTMLOptionsCollection.res +21 -0
- package/src/DOMAPI/HTMLOutputElement.res +711 -0
- package/src/DOMAPI/HTMLParagraphElement.res +701 -0
- package/src/DOMAPI/HTMLPictureElement.res +693 -0
- package/src/DOMAPI/HTMLPreElement.res +686 -0
- package/src/DOMAPI/HTMLProgressElement.res +697 -0
- package/src/DOMAPI/HTMLQuoteElement.res +690 -0
- package/src/DOMAPI/HTMLScriptElement.res +699 -0
- package/src/DOMAPI/HTMLSelectElement.res +762 -0
- package/src/DOMAPI/HTMLSlotElement.res +713 -0
- package/src/DOMAPI/HTMLSourceElement.res +693 -0
- package/src/DOMAPI/HTMLSpanElement.res +687 -0
- package/src/DOMAPI/HTMLStyleElement.res +690 -0
- package/src/DOMAPI/HTMLTableCaptionElement.res +714 -0
- package/src/DOMAPI/HTMLTableCellElement.res +701 -0
- package/src/DOMAPI/HTMLTableElement.res +755 -0
- package/src/DOMAPI/HTMLTableRowElement.res +713 -0
- package/src/DOMAPI/HTMLTableSectionElement.res +730 -0
- package/src/DOMAPI/HTMLTemplateElement.res +697 -0
- package/src/DOMAPI/HTMLTextAreaElement.res +758 -0
- package/src/DOMAPI/HTMLTimeElement.res +687 -0
- package/src/DOMAPI/HTMLTitleElement.res +690 -0
- package/src/DOMAPI/HTMLTrackElement.res +690 -0
- package/src/DOMAPI/HTMLUListElement.res +690 -0
- package/src/DOMAPI/HTMLVideoElement.res +778 -0
- package/src/DOMAPI/IdleDeadline.res +7 -0
- package/src/DOMAPI/ImageData.res +18 -0
- package/src/DOMAPI/Location.res +22 -0
- package/src/DOMAPI/MediaList.res +19 -0
- package/src/DOMAPI/MediaQueryList.res +82 -0
- package/src/DOMAPI/NamedNodeMap.res +45 -0
- package/src/DOMAPI/Navigator.res +114 -0
- package/src/DOMAPI/Node.res +179 -0
- package/src/DOMAPI/NodeFilter.res +4 -0
- package/src/DOMAPI/NodeIterator.res +13 -0
- package/src/DOMAPI/NodeList.res +8 -0
- package/src/DOMAPI/NodeListOf.res +9 -0
- package/src/DOMAPI/Range.res +149 -0
- package/src/DOMAPI/SVGGraphicsElement.res +675 -0
- package/src/DOMAPI/SVGLength.res +11 -0
- package/src/DOMAPI/ScreenOrientation.res +88 -0
- package/src/DOMAPI/Selection.res +103 -0
- package/src/DOMAPI/ShadowRoot.res +274 -0
- package/src/DOMAPI/StylePropertyMap.res +50 -0
- package/src/DOMAPI/StylePropertyMapReadOnly.res +13 -0
- package/src/DOMAPI/StyleSheetList.res +7 -0
- package/src/DOMAPI/Text.res +285 -0
- package/src/DOMAPI/TextTrackList.res +89 -0
- package/src/DOMAPI/TimeRanges.res +19 -0
- package/src/DOMAPI/TreeWalker.res +43 -0
- package/src/DOMAPI/VideoColorSpace.res +13 -0
- package/src/DOMAPI/VideoFrame.res +111 -0
- package/src/DOMAPI/Window.res +582 -0
- package/src/DOMAPI/XPathExpression.res +12 -0
- package/src/DOMAPI/XPathResult.res +13 -0
- package/src/DOMAPI.res +9668 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +132 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res +13 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +13 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +28 -0
- package/src/EncryptedMediaExtensionsAPI.res +100 -0
- package/src/EventAPI/AbortController.res +15 -0
- package/src/EventAPI/AbortSignal.res +106 -0
- package/src/EventAPI/Event.res +35 -0
- package/src/EventAPI/EventTarget.res +86 -0
- package/src/EventAPI.res +215 -0
- package/src/FetchAPI/FormData.res +58 -0
- package/src/FetchAPI/Headers.res +50 -0
- package/src/FetchAPI/Request.res +57 -0
- package/src/FetchAPI/Response.res +105 -0
- package/src/FetchAPI/URLSearchParams.res +68 -0
- package/src/FetchAPI.res +287 -0
- package/src/FileAPI/Blob.res +37 -0
- package/src/FileAPI/File.res +42 -0
- package/src/FileAPI/FileSystemDirectoryHandle.res +46 -0
- package/src/FileAPI/FileSystemFileHandle.res +23 -0
- package/src/FileAPI/FileSystemHandle.res +7 -0
- package/src/FileAPI/FileSystemWritableFileStream.res +63 -0
- package/src/FileAPI/ReadableStream.res +61 -0
- package/src/FileAPI/WritableStream.res +29 -0
- package/src/FileAPI/WritableStreamDefaultController.res +8 -0
- package/src/FileAPI.res +218 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +42 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +12 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +11 -0
- package/src/FileAndDirectoryEntriesAPI.res +87 -0
- package/src/GamepadAPI/GamepadHapticActuator.res +17 -0
- package/src/GamepadAPI.res +85 -0
- package/src/GeolocationAPI/Geolocation.res +29 -0
- package/src/GeolocationAPI/GeolocationCoordinates.res +7 -0
- package/src/GeolocationAPI/GeolocationPosition.res +7 -0
- package/src/GeolocationAPI.res +78 -0
- package/src/Global.res +302 -0
- package/src/HistoryAPI/History.res +33 -0
- package/src/HistoryAPI.res +26 -0
- package/src/IndexedDBAPI/IDBDatabase.res +135 -0
- package/src/IndexedDBAPI/IDBFactory.res +31 -0
- package/src/IndexedDBAPI/IDBIndex.res +74 -0
- package/src/IndexedDBAPI/IDBObjectStore.res +167 -0
- package/src/IndexedDBAPI/IDBTransaction.res +102 -0
- package/src/IndexedDBAPI.res +205 -0
- package/src/MediaCapabilitiesAPI/MediaCapabilities.res +19 -0
- package/src/MediaCapabilitiesAPI.res +81 -0
- package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +7 -0
- package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +113 -0
- package/src/MediaCaptureAndStreamsAPI/MediaStream.res +142 -0
- package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +122 -0
- package/src/MediaCaptureAndStreamsAPI.res +194 -0
- package/src/MediaSessionAPI/MediaMetadata.res +7 -0
- package/src/MediaSessionAPI/MediaSession.res +17 -0
- package/src/MediaSessionAPI.res +83 -0
- package/src/NotificationAPI/Notification.res +102 -0
- package/src/NotificationAPI.res +82 -0
- package/src/PerformanceAPI/Performance.res +169 -0
- package/src/PerformanceAPI/PerformanceEntry.res +7 -0
- package/src/PerformanceAPI/PerformanceMark.res +15 -0
- package/src/PerformanceAPI.res +86 -0
- package/src/PermissionsAPI/Permissions.res +7 -0
- package/src/PermissionsAPI.res +39 -0
- package/src/PictureInPicture.res +18 -0
- package/src/PictureInPictureAPI.res +18 -0
- package/src/Prelude/DOMException.res +7 -0
- package/src/Prelude/DOMStringList.res +15 -0
- package/src/Prelude.res +39 -0
- package/src/PushManagerAPI/PushManager.res +25 -0
- package/src/PushManagerAPI/PushSubscription.res +19 -0
- package/src/PushManagerAPI.res +67 -0
- package/src/RemotePlaybackAPI/RemotePlayback.res +102 -0
- package/src/RemotePlaybackAPI.res +21 -0
- package/src/ResizeObserverAPI/ResizeObserver.res +27 -0
- package/src/ResizeObserverAPI.res +58 -0
- package/src/ScreenWakeLockAPI/WakeLock.res +7 -0
- package/src/ScreenWakeLockAPI/WakeLockSentinel.res +88 -0
- package/src/ScreenWakeLockAPI.res +26 -0
- package/src/ServiceWorkerAPI/Cache.res +100 -0
- package/src/ServiceWorkerAPI/CacheStorage.res +46 -0
- package/src/ServiceWorkerAPI/NavigationPreloadManager.res +25 -0
- package/src/ServiceWorkerAPI/ServiceWorker.res +101 -0
- package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +114 -0
- package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +114 -0
- package/src/ServiceWorkerAPI.res +134 -0
- package/src/StorageAPI/StorageManager.res +26 -0
- package/src/StorageAPI.res +10 -0
- package/src/ViewTransitionsAPI/ViewTransition.res +7 -0
- package/src/ViewTransitionsAPI.res +23 -0
- package/src/VisualViewportAPI.res +38 -0
- package/src/WebAudioAPI/AnalyserNode.res +180 -0
- package/src/WebAudioAPI/AudioBuffer.res +35 -0
- package/src/WebAudioAPI/AudioBufferSourceNode.res +183 -0
- package/src/WebAudioAPI/AudioContext.res +266 -0
- package/src/WebAudioAPI/AudioListener.res +1 -0
- package/src/WebAudioAPI/AudioNode.res +143 -0
- package/src/WebAudioAPI/AudioParam.res +56 -0
- package/src/WebAudioAPI/AudioProcessingEvent.res +38 -0
- package/src/WebAudioAPI/AudioScheduledSourceNode.res +171 -0
- package/src/WebAudioAPI/AudioWorkletNode.res +160 -0
- package/src/WebAudioAPI/BaseAudioContext.res +212 -0
- package/src/WebAudioAPI/BiquadFilterNode.res +168 -0
- package/src/WebAudioAPI/ChannelMergerNode.res +157 -0
- package/src/WebAudioAPI/ChannelSplitterNode.res +159 -0
- package/src/WebAudioAPI/ConstantSourceNode.res +172 -0
- package/src/WebAudioAPI/ConvolverNode.res +157 -0
- package/src/WebAudioAPI/DelayNode.res +150 -0
- package/src/WebAudioAPI/DynamicsCompressorNode.res +162 -0
- package/src/WebAudioAPI/GainNode.res +149 -0
- package/src/WebAudioAPI/IIRFilterNode.res +168 -0
- package/src/WebAudioAPI/MediaElementAudioSourceNode.res +168 -0
- package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +168 -0
- package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +168 -0
- package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +40 -0
- package/src/WebAudioAPI/OfflineAudioContext.res +246 -0
- package/src/WebAudioAPI/OscillatorNode.res +176 -0
- package/src/WebAudioAPI/PannerNode.res +150 -0
- package/src/WebAudioAPI/PeriodicWave.res +8 -0
- package/src/WebAudioAPI/StereoPannerNode.res +157 -0
- package/src/WebAudioAPI/WaveShaperNode.res +157 -0
- package/src/WebAudioAPI/Worklet.res +13 -0
- package/src/WebAudioAPI.res +1271 -0
- package/src/WebCryptoAPI/Crypto.res +13 -0
- package/src/WebCryptoAPI/SubtleCrypto.res +173 -0
- package/src/WebCryptoAPI.res +71 -0
- package/src/WebLocksAPI/LockManager.res +29 -0
- package/src/WebLocksAPI.res +47 -0
- package/src/WebMIDIAPI.res +37 -0
- package/src/WebSocketsAPI/CloseEvent.res +37 -0
- package/src/WebSocketsAPI/MessageEvent.res +38 -0
- package/src/WebSocketsAPI/WebSocket.res +130 -0
- package/src/WebSocketsAPI.res +125 -0
- package/src/WebSpeechAPI/SpeechSynthesis.res +112 -0
- package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +88 -0
- package/src/WebSpeechAPI.res +82 -0
- package/src/WebStorageAPI/Storage.res +44 -0
- package/src/WebStorageAPI/StorageEvent.res +37 -0
- package/src/WebStorageAPI.res +57 -0
- package/src/WebVTTAPI/TextTrack.res +96 -0
- package/src/WebVTTAPI/TextTrackCueList.res +10 -0
- package/src/WebVTTAPI.res +122 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
open WebAudioAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer)
|
|
5
|
+
*/
|
|
6
|
+
@new
|
|
7
|
+
external make: audioBufferOptions => audioBuffer = "AudioBuffer"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer/getChannelData)
|
|
11
|
+
*/
|
|
12
|
+
@send
|
|
13
|
+
external getChannelData: (audioBuffer, int) => array<float> = "getChannelData"
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyFromChannel)
|
|
17
|
+
*/
|
|
18
|
+
@send
|
|
19
|
+
external copyFromChannel: (
|
|
20
|
+
audioBuffer,
|
|
21
|
+
~destination: array<float>,
|
|
22
|
+
~channelNumber: int,
|
|
23
|
+
~bufferOffset: int=?,
|
|
24
|
+
) => unit = "copyFromChannel"
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyToChannel)
|
|
28
|
+
*/
|
|
29
|
+
@send
|
|
30
|
+
external copyToChannel: (
|
|
31
|
+
audioBuffer,
|
|
32
|
+
~source: array<float>,
|
|
33
|
+
~channelNumber: int,
|
|
34
|
+
~bufferOffset: int=?,
|
|
35
|
+
) => unit = "copyToChannel"
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open WebAudioAPI
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode)
|
|
6
|
+
*/
|
|
7
|
+
@new
|
|
8
|
+
external make: (
|
|
9
|
+
~context: baseAudioContext,
|
|
10
|
+
~options: audioBufferSourceOptions=?,
|
|
11
|
+
) => audioBufferSourceNode = "AudioBufferSourceNode"
|
|
12
|
+
|
|
13
|
+
external asAudioScheduledSourceNode: audioBufferSourceNode => audioScheduledSourceNode = "%identity"
|
|
14
|
+
external asAudioNode: audioBufferSourceNode => audioNode = "%identity"
|
|
15
|
+
external asEventTarget: audioBufferSourceNode => eventTarget = "%identity"
|
|
16
|
+
/**
|
|
17
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
18
|
+
|
|
19
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
20
|
+
|
|
21
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
22
|
+
|
|
23
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
24
|
+
|
|
25
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
26
|
+
|
|
27
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
28
|
+
|
|
29
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
30
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
31
|
+
*/
|
|
32
|
+
@send
|
|
33
|
+
external addEventListener: (
|
|
34
|
+
audioBufferSourceNode,
|
|
35
|
+
~type_: eventType,
|
|
36
|
+
~callback: eventListener<'event>,
|
|
37
|
+
~options: addEventListenerOptions=?,
|
|
38
|
+
) => unit = "addEventListener"
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
42
|
+
|
|
43
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
44
|
+
|
|
45
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
46
|
+
|
|
47
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
48
|
+
|
|
49
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
50
|
+
|
|
51
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
52
|
+
|
|
53
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
54
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
55
|
+
*/
|
|
56
|
+
@send
|
|
57
|
+
external addEventListener2: (
|
|
58
|
+
audioBufferSourceNode,
|
|
59
|
+
~type_: eventType,
|
|
60
|
+
~callback: eventListener<'event>,
|
|
61
|
+
~options: bool=?,
|
|
62
|
+
) => unit = "addEventListener"
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
66
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
67
|
+
*/
|
|
68
|
+
@send
|
|
69
|
+
external removeEventListener: (
|
|
70
|
+
audioBufferSourceNode,
|
|
71
|
+
~type_: eventType,
|
|
72
|
+
~callback: eventListener<'event>,
|
|
73
|
+
~options: eventListenerOptions=?,
|
|
74
|
+
) => unit = "removeEventListener"
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
78
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
79
|
+
*/
|
|
80
|
+
@send
|
|
81
|
+
external removeEventListener2: (
|
|
82
|
+
audioBufferSourceNode,
|
|
83
|
+
~type_: eventType,
|
|
84
|
+
~callback: eventListener<'event>,
|
|
85
|
+
~options: bool=?,
|
|
86
|
+
) => unit = "removeEventListener"
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
|
90
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
|
91
|
+
*/
|
|
92
|
+
@send
|
|
93
|
+
external dispatchEvent: (audioBufferSourceNode, event) => bool = "dispatchEvent"
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
|
|
97
|
+
*/
|
|
98
|
+
@send
|
|
99
|
+
external connect: (
|
|
100
|
+
audioBufferSourceNode,
|
|
101
|
+
~destinationNode: audioNode,
|
|
102
|
+
~output: int=?,
|
|
103
|
+
~input: int=?,
|
|
104
|
+
) => audioNode = "connect"
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
|
|
108
|
+
*/
|
|
109
|
+
@send
|
|
110
|
+
external connect2: (audioBufferSourceNode, ~destinationParam: audioParam, ~output: int=?) => unit =
|
|
111
|
+
"connect"
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
115
|
+
*/
|
|
116
|
+
@send
|
|
117
|
+
external disconnect: audioBufferSourceNode => unit = "disconnect"
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
121
|
+
*/
|
|
122
|
+
@send
|
|
123
|
+
external disconnect2: (audioBufferSourceNode, int) => unit = "disconnect"
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
127
|
+
*/
|
|
128
|
+
@send
|
|
129
|
+
external disconnect3: (audioBufferSourceNode, audioNode) => unit = "disconnect"
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
133
|
+
*/
|
|
134
|
+
@send
|
|
135
|
+
external disconnect4: (audioBufferSourceNode, ~destinationNode: audioNode, ~output: int) => unit =
|
|
136
|
+
"disconnect"
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
140
|
+
*/
|
|
141
|
+
@send
|
|
142
|
+
external disconnect5: (
|
|
143
|
+
audioBufferSourceNode,
|
|
144
|
+
~destinationNode: audioNode,
|
|
145
|
+
~output: int,
|
|
146
|
+
~input: int,
|
|
147
|
+
) => unit = "disconnect"
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
151
|
+
*/
|
|
152
|
+
@send
|
|
153
|
+
external disconnect6: (audioBufferSourceNode, audioParam) => unit = "disconnect"
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
157
|
+
*/
|
|
158
|
+
@send
|
|
159
|
+
external disconnect7: (audioBufferSourceNode, ~destinationParam: audioParam, ~output: int) => unit =
|
|
160
|
+
"disconnect"
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/start)
|
|
164
|
+
*/
|
|
165
|
+
@send
|
|
166
|
+
external start: (audioBufferSourceNode, ~when_: float=?) => unit = "start"
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/stop)
|
|
170
|
+
*/
|
|
171
|
+
@send
|
|
172
|
+
external stop: (audioBufferSourceNode, ~when_: float=?) => unit = "stop"
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/start)
|
|
176
|
+
*/
|
|
177
|
+
@send
|
|
178
|
+
external startA: (
|
|
179
|
+
audioBufferSourceNode,
|
|
180
|
+
~when_: float=?,
|
|
181
|
+
~offset: float=?,
|
|
182
|
+
~duration: float=?,
|
|
183
|
+
) => unit = "start"
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open WebAudioAPI
|
|
3
|
+
open DOMAPI
|
|
4
|
+
open MediaCaptureAndStreamsAPI
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext)
|
|
8
|
+
*/
|
|
9
|
+
@new
|
|
10
|
+
external make: (~contextOptions: audioContextOptions=?) => audioContext = "AudioContext"
|
|
11
|
+
|
|
12
|
+
external asBaseAudioContext: audioContext => baseAudioContext = "%identity"
|
|
13
|
+
external asEventTarget: audioContext => eventTarget = "%identity"
|
|
14
|
+
/**
|
|
15
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
16
|
+
|
|
17
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
18
|
+
|
|
19
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
20
|
+
|
|
21
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
22
|
+
|
|
23
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
24
|
+
|
|
25
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
26
|
+
|
|
27
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
28
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
29
|
+
*/
|
|
30
|
+
@send
|
|
31
|
+
external addEventListener: (
|
|
32
|
+
audioContext,
|
|
33
|
+
~type_: eventType,
|
|
34
|
+
~callback: eventListener<'event>,
|
|
35
|
+
~options: addEventListenerOptions=?,
|
|
36
|
+
) => unit = "addEventListener"
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
40
|
+
|
|
41
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
42
|
+
|
|
43
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
44
|
+
|
|
45
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
46
|
+
|
|
47
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
48
|
+
|
|
49
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
50
|
+
|
|
51
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
52
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
53
|
+
*/
|
|
54
|
+
@send
|
|
55
|
+
external addEventListener2: (
|
|
56
|
+
audioContext,
|
|
57
|
+
~type_: eventType,
|
|
58
|
+
~callback: eventListener<'event>,
|
|
59
|
+
~options: bool=?,
|
|
60
|
+
) => unit = "addEventListener"
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
64
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
65
|
+
*/
|
|
66
|
+
@send
|
|
67
|
+
external removeEventListener: (
|
|
68
|
+
audioContext,
|
|
69
|
+
~type_: eventType,
|
|
70
|
+
~callback: eventListener<'event>,
|
|
71
|
+
~options: eventListenerOptions=?,
|
|
72
|
+
) => unit = "removeEventListener"
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
76
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
77
|
+
*/
|
|
78
|
+
@send
|
|
79
|
+
external removeEventListener2: (
|
|
80
|
+
audioContext,
|
|
81
|
+
~type_: eventType,
|
|
82
|
+
~callback: eventListener<'event>,
|
|
83
|
+
~options: bool=?,
|
|
84
|
+
) => unit = "removeEventListener"
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
|
88
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
|
89
|
+
*/
|
|
90
|
+
@send
|
|
91
|
+
external dispatchEvent: (audioContext, event) => bool = "dispatchEvent"
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser)
|
|
95
|
+
*/
|
|
96
|
+
@send
|
|
97
|
+
external createAnalyser: audioContext => analyserNode = "createAnalyser"
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter)
|
|
101
|
+
*/
|
|
102
|
+
@send
|
|
103
|
+
external createBiquadFilter: audioContext => biquadFilterNode = "createBiquadFilter"
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer)
|
|
107
|
+
*/
|
|
108
|
+
@send
|
|
109
|
+
external createBuffer: (
|
|
110
|
+
audioContext,
|
|
111
|
+
~numberOfChannels: int,
|
|
112
|
+
~length: int,
|
|
113
|
+
~sampleRate: float,
|
|
114
|
+
) => audioBuffer = "createBuffer"
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource)
|
|
118
|
+
*/
|
|
119
|
+
@send
|
|
120
|
+
external createBufferSource: audioContext => audioBufferSourceNode = "createBufferSource"
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger)
|
|
124
|
+
*/
|
|
125
|
+
@send
|
|
126
|
+
external createChannelMerger: (audioContext, ~numberOfInputs: int=?) => channelMergerNode =
|
|
127
|
+
"createChannelMerger"
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter)
|
|
131
|
+
*/
|
|
132
|
+
@send
|
|
133
|
+
external createChannelSplitter: (audioContext, ~numberOfOutputs: int=?) => channelSplitterNode =
|
|
134
|
+
"createChannelSplitter"
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource)
|
|
138
|
+
*/
|
|
139
|
+
@send
|
|
140
|
+
external createConstantSource: audioContext => constantSourceNode = "createConstantSource"
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver)
|
|
144
|
+
*/
|
|
145
|
+
@send
|
|
146
|
+
external createConvolver: audioContext => convolverNode = "createConvolver"
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay)
|
|
150
|
+
*/
|
|
151
|
+
@send
|
|
152
|
+
external createDelay: (audioContext, ~maxDelayTime: float=?) => delayNode = "createDelay"
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor)
|
|
156
|
+
*/
|
|
157
|
+
@send
|
|
158
|
+
external createDynamicsCompressor: audioContext => dynamicsCompressorNode =
|
|
159
|
+
"createDynamicsCompressor"
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain)
|
|
163
|
+
*/
|
|
164
|
+
@send
|
|
165
|
+
external createGain: audioContext => gainNode = "createGain"
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter)
|
|
169
|
+
*/
|
|
170
|
+
@send
|
|
171
|
+
external createIIRFilter: (
|
|
172
|
+
audioContext,
|
|
173
|
+
~feedforward: array<float>,
|
|
174
|
+
~feedback: array<float>,
|
|
175
|
+
) => iirFilterNode = "createIIRFilter"
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator)
|
|
179
|
+
*/
|
|
180
|
+
@send
|
|
181
|
+
external createOscillator: audioContext => oscillatorNode = "createOscillator"
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner)
|
|
185
|
+
*/
|
|
186
|
+
@send
|
|
187
|
+
external createPanner: audioContext => pannerNode = "createPanner"
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave)
|
|
191
|
+
*/
|
|
192
|
+
@send
|
|
193
|
+
external createPeriodicWave: (
|
|
194
|
+
audioContext,
|
|
195
|
+
~real: array<float>,
|
|
196
|
+
~imag: array<float>,
|
|
197
|
+
~constraints: periodicWaveConstraints=?,
|
|
198
|
+
) => periodicWave = "createPeriodicWave"
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner)
|
|
202
|
+
*/
|
|
203
|
+
@send
|
|
204
|
+
external createStereoPanner: audioContext => stereoPannerNode = "createStereoPanner"
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper)
|
|
208
|
+
*/
|
|
209
|
+
@send
|
|
210
|
+
external createWaveShaper: audioContext => waveShaperNode = "createWaveShaper"
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData)
|
|
214
|
+
*/
|
|
215
|
+
@send
|
|
216
|
+
external decodeAudioData: (
|
|
217
|
+
audioContext,
|
|
218
|
+
~audioData: ArrayBuffer.t,
|
|
219
|
+
~successCallback: decodeSuccessCallback=?,
|
|
220
|
+
~errorCallback: decodeErrorCallback=?,
|
|
221
|
+
) => Promise.t<audioBuffer> = "decodeAudioData"
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/getOutputTimestamp)
|
|
225
|
+
*/
|
|
226
|
+
@send
|
|
227
|
+
external getOutputTimestamp: audioContext => audioTimestamp = "getOutputTimestamp"
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/resume)
|
|
231
|
+
*/
|
|
232
|
+
@send
|
|
233
|
+
external resume: audioContext => Promise.t<unit> = "resume"
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/suspend)
|
|
237
|
+
*/
|
|
238
|
+
@send
|
|
239
|
+
external suspend: audioContext => Promise.t<unit> = "suspend"
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/close)
|
|
243
|
+
*/
|
|
244
|
+
@send
|
|
245
|
+
external close: audioContext => Promise.t<unit> = "close"
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaElementSource)
|
|
249
|
+
*/
|
|
250
|
+
@send
|
|
251
|
+
external createMediaElementSource: (audioContext, htmlMediaElement) => mediaElementAudioSourceNode =
|
|
252
|
+
"createMediaElementSource"
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamSource)
|
|
256
|
+
*/
|
|
257
|
+
@send
|
|
258
|
+
external createMediaStreamSource: (audioContext, mediaStream) => mediaStreamAudioSourceNode =
|
|
259
|
+
"createMediaStreamSource"
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamDestination)
|
|
263
|
+
*/
|
|
264
|
+
@send
|
|
265
|
+
external createMediaStreamDestination: audioContext => mediaStreamAudioDestinationNode =
|
|
266
|
+
"createMediaStreamDestination"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module AudioListener = {}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open WebAudioAPI
|
|
3
|
+
|
|
4
|
+
external asEventTarget: audioNode => eventTarget = "%identity"
|
|
5
|
+
/**
|
|
6
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
7
|
+
|
|
8
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
9
|
+
|
|
10
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
11
|
+
|
|
12
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
13
|
+
|
|
14
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
15
|
+
|
|
16
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
17
|
+
|
|
18
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
19
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
20
|
+
*/
|
|
21
|
+
@send
|
|
22
|
+
external addEventListener: (
|
|
23
|
+
audioNode,
|
|
24
|
+
~type_: eventType,
|
|
25
|
+
~callback: eventListener<'event>,
|
|
26
|
+
~options: addEventListenerOptions=?,
|
|
27
|
+
) => unit = "addEventListener"
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
31
|
+
|
|
32
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
33
|
+
|
|
34
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
35
|
+
|
|
36
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
37
|
+
|
|
38
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
39
|
+
|
|
40
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
41
|
+
|
|
42
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
43
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
44
|
+
*/
|
|
45
|
+
@send
|
|
46
|
+
external addEventListener2: (
|
|
47
|
+
audioNode,
|
|
48
|
+
~type_: eventType,
|
|
49
|
+
~callback: eventListener<'event>,
|
|
50
|
+
~options: bool=?,
|
|
51
|
+
) => unit = "addEventListener"
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
55
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
56
|
+
*/
|
|
57
|
+
@send
|
|
58
|
+
external removeEventListener: (
|
|
59
|
+
audioNode,
|
|
60
|
+
~type_: eventType,
|
|
61
|
+
~callback: eventListener<'event>,
|
|
62
|
+
~options: eventListenerOptions=?,
|
|
63
|
+
) => unit = "removeEventListener"
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
67
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
68
|
+
*/
|
|
69
|
+
@send
|
|
70
|
+
external removeEventListener2: (
|
|
71
|
+
audioNode,
|
|
72
|
+
~type_: eventType,
|
|
73
|
+
~callback: eventListener<'event>,
|
|
74
|
+
~options: bool=?,
|
|
75
|
+
) => unit = "removeEventListener"
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
|
79
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
|
80
|
+
*/
|
|
81
|
+
@send
|
|
82
|
+
external dispatchEvent: (audioNode, event) => bool = "dispatchEvent"
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
|
|
86
|
+
*/
|
|
87
|
+
@send
|
|
88
|
+
external connect: (
|
|
89
|
+
audioNode,
|
|
90
|
+
~destinationNode: audioNode,
|
|
91
|
+
~output: int=?,
|
|
92
|
+
~input: int=?,
|
|
93
|
+
) => audioNode = "connect"
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/connect)
|
|
97
|
+
*/
|
|
98
|
+
@send
|
|
99
|
+
external connect2: (audioNode, ~destinationParam: audioParam, ~output: int=?) => unit = "connect"
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
103
|
+
*/
|
|
104
|
+
@send
|
|
105
|
+
external disconnect: audioNode => unit = "disconnect"
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
109
|
+
*/
|
|
110
|
+
@send
|
|
111
|
+
external disconnect2: (audioNode, int) => unit = "disconnect"
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
115
|
+
*/
|
|
116
|
+
@send
|
|
117
|
+
external disconnect3: (audioNode, audioNode) => unit = "disconnect"
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
121
|
+
*/
|
|
122
|
+
@send
|
|
123
|
+
external disconnect4: (audioNode, ~destinationNode: audioNode, ~output: int) => unit = "disconnect"
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
127
|
+
*/
|
|
128
|
+
@send
|
|
129
|
+
external disconnect5: (audioNode, ~destinationNode: audioNode, ~output: int, ~input: int) => unit =
|
|
130
|
+
"disconnect"
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
134
|
+
*/
|
|
135
|
+
@send
|
|
136
|
+
external disconnect6: (audioNode, audioParam) => unit = "disconnect"
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect)
|
|
140
|
+
*/
|
|
141
|
+
@send
|
|
142
|
+
external disconnect7: (audioNode, ~destinationParam: audioParam, ~output: int) => unit =
|
|
143
|
+
"disconnect"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
open WebAudioAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueAtTime)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external setValueAtTime: (audioParam, ~value: float, ~startTime: float) => audioParam =
|
|
8
|
+
"setValueAtTime"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/linearRampToValueAtTime)
|
|
12
|
+
*/
|
|
13
|
+
@send
|
|
14
|
+
external linearRampToValueAtTime: (audioParam, ~value: float, ~endTime: float) => audioParam =
|
|
15
|
+
"linearRampToValueAtTime"
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/exponentialRampToValueAtTime)
|
|
19
|
+
*/
|
|
20
|
+
@send
|
|
21
|
+
external exponentialRampToValueAtTime: (audioParam, ~value: float, ~endTime: float) => audioParam =
|
|
22
|
+
"exponentialRampToValueAtTime"
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/setTargetAtTime)
|
|
26
|
+
*/
|
|
27
|
+
@send
|
|
28
|
+
external setTargetAtTime: (
|
|
29
|
+
audioParam,
|
|
30
|
+
~target: float,
|
|
31
|
+
~startTime: float,
|
|
32
|
+
~timeConstant: float,
|
|
33
|
+
) => audioParam = "setTargetAtTime"
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime)
|
|
37
|
+
*/
|
|
38
|
+
@send
|
|
39
|
+
external setValueCurveAtTime: (
|
|
40
|
+
audioParam,
|
|
41
|
+
~values: array<float>,
|
|
42
|
+
~startTime: float,
|
|
43
|
+
~duration: float,
|
|
44
|
+
) => audioParam = "setValueCurveAtTime"
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/cancelScheduledValues)
|
|
48
|
+
*/
|
|
49
|
+
@send
|
|
50
|
+
external cancelScheduledValues: (audioParam, float) => audioParam = "cancelScheduledValues"
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/AudioParam/cancelAndHoldAtTime)
|
|
54
|
+
*/
|
|
55
|
+
@send
|
|
56
|
+
external cancelAndHoldAtTime: (audioParam, float) => audioParam = "cancelAndHoldAtTime"
|