node-web-audio-api 1.0.0 → 1.0.2

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/CHANGELOG.md CHANGED
@@ -1,127 +1,135 @@
1
1
  # CHANGELOG
2
2
 
3
- ## v1.0.0 (11/01/2024)
3
+ ## v1.0.2 - 2025-03-01
4
4
 
5
- - Align version with upsteam crate
5
+ - Fix error handling when setting buffer in ABSN and Convolver
6
+
7
+ ## v1.0.1 - 2025-01-17
8
+
9
+ - Update upstream crate to [v1.2.0](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-120-2025-01-16)
10
+
11
+ ## v1.0.0 - 2025-01-11
12
+
13
+ - Align version with upstream crate
6
14
  - Refactor CI
7
15
 
8
- ## v0.21.5 (23/12/2024)
16
+ ## v0.21.5 - 2024-12-23
9
17
 
10
18
  - Fix: Use module import for `AudioWorklet#addModule`
11
19
  - Feat: Resolve `AudioWorkletNode` when installed in `node_modules`
12
20
  - Ensure support of `AudioWorkletNode` that use Web Assembly
13
21
 
14
- ## v0.21.4 (16/12/2024)
22
+ ## v0.21.4 - 2024-12-16
15
23
 
16
24
  - Update upstream crate to [v1.1.0](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-110-2024-12-11)
17
25
 
18
- ## v0.21.3 (06/10/2024)
26
+ ## v0.21.3 - 2024-10-06
19
27
 
20
28
  - Fix typescript export
21
29
 
22
- ## v0.21.2 (20/09/2024)
30
+ ## v0.21.2 - 2024-09-20
23
31
 
24
32
  - Update upstream crate to [v1.0.1](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-101-2024-09-18)
25
33
  - Fix: Make sure `AudioBuffer` returned by `OfflineContext` is valid
26
34
  - Fix: Allow contexts to be properly garbage collected
27
35
 
28
- ## v0.21.1 (10/06/2024)
36
+ ## v0.21.1 - 2024-06-10
29
37
 
30
38
  - Feat: Buffer pool for AudioWorketProcessor
31
39
  - Fix: Propagate `addModule` errors to main thread
32
40
  - Fix: Memory leak due to `onended` events
33
41
 
34
- ## v0.21.0 (17/05/2024)
42
+ ## v0.21.0 - 2024-05-17
35
43
 
36
44
  - Feat: Implement AudioWorkletNode
37
45
 
38
- ## v0.20.0 (29/04/2024)
46
+ ## v0.20.0 - 2024-04-29
39
47
 
40
48
  - Update upstream crate to [v0.44.0](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0440-2024-04-22)
41
49
  - Implement ScriptProcessorNode
42
50
  - Fix memory leak introduced in v0.19.0
43
51
  - Improve events compliance
44
52
 
45
- ## v0.19.0 (17/04/2024)
53
+ ## v0.19.0 - 2024-04-17
46
54
 
47
55
  - Update upstream crate to [1.0.0-rc.5](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0430--100-rc5-2024-04-15)
48
56
  - Provide JS facades with proper inheritance chain for all exposed interfaces
49
57
  - Implement all AudioNode connect / disconnect alternatives
50
58
  - Improve compliance and error handling
51
59
 
52
- ## v0.18.0 (13/03/2024)
60
+ ## v0.18.0 - 2024-03-13
53
61
 
54
62
  - Fix `MediaStreamAudioSourceNode`
55
63
 
56
- ## v0.17.0 (08/03/2024)
64
+ ## v0.17.0 - 2024-03-08
57
65
 
58
66
  - Update upstream crate to [1.0.0-rc.2](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-100-rc2-2024-03-07)
59
67
  - Improve compliance and error handling
60
68
 
61
- ## v0.16.0 (09/02/2024)
69
+ ## v0.16.0 - 2024-02-09
62
70
 
63
71
  - Update upstream create to [v0.42.0](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0420-2024-02-05)
64
72
  - Improve Error handling
65
- - Add channelCounnt to media constraints
73
+ - Add channelCount to media constraints
66
74
 
67
- ## v0.15.0 (16/01/2024)
75
+ ## v0.15.0 - 2024-01-16
68
76
 
69
77
  - Update upstream create to [v0.41.1](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0411-2024-01-11)
70
78
  - Better error handling
71
79
  - Implement online AudioContext and AudioScheduledSourceNode events
72
80
  - Test against wpt
73
81
 
74
- ## v0.14.0 (06/12/2023)
82
+ ## v0.14.0 - 2023-12-06
75
83
 
76
84
  - Update upstream create to [v0.38.0](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0380-2023-12-03)
77
85
  - Implement AudioListener
78
86
 
79
- ## v0.13.0 (08/11/2023)
87
+ ## v0.13.0 - 2023-11-08
80
88
 
81
89
  - Update upstream crate to [v0.36.1](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0361-2023-11-08)
82
90
  - Ship build for linux arm64
83
91
  - Typescript support
84
92
 
85
- ## v0.12.0 (04/09/2023)
93
+ ## v0.12.0 - 2023-09-04
86
94
 
87
95
  - Update upstream crate to [v0.33](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0330-2023-07-27)
88
96
 
89
- ## v0.11.0 (21/07/2023)
97
+ ## v0.11.0 - 2023-07-21
90
98
 
91
99
  - Update upstream crate to [v0.32](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0320-2023-07-16)
92
100
  - Implement AudioDestination API
93
101
  - Make decodeAudioData(arrayBuffer) API compliant (drop `load` helper)
94
102
 
95
- ## v0.10.0 (26/05/2023)
103
+ ## v0.10.0 - 2023-05-26
96
104
 
97
105
  - Update upstream crate to [v0.31](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0310-2023-06-25)
98
106
 
99
- ## v0.9.0 (08/06/2023)
107
+ ## v0.9.0 - 2023-06-08
100
108
 
101
109
  - Update upstream crate to [v0.30](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0300-2023-06-07)
102
110
 
103
- ## v0.8.0 (19/05/2023)
111
+ ## v0.8.0 - 2023-05-19
104
112
 
105
- - Implement MediaDevices enumerateDeviaces and getUserMedia
113
+ - Implement MediaDevices enumerateDevices and getUserMedia
106
114
  - Use jack as default output if exists on linux
107
115
 
108
- ## v0.7.0 (23/02/2023)
116
+ ## v0.7.0 - 2023-02-23
109
117
 
110
118
  - Improve readme & doc
111
119
  - Fix AudioParam method names
112
120
 
113
- ## v0.6.0 (01/02/2023)
121
+ ## v0.6.0 - 2023-02-01
114
122
 
115
123
  - Basic support for mediaDevices & MediaStreamAudioSourceNode
116
124
  - Add bindings to ConvolverNode, AnalyserNode & Panner nodes
117
125
  - Update upstream crate to [v0.26](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0250-2022-11-06)
118
126
 
119
- ## v0.5.0 (19/12/2022)
127
+ ## v0.5.0 - 2022-12-19
120
128
 
121
129
  - Implement AudioParam#setValueCurveAtTime
122
130
  - Offline context constructor
123
131
 
124
- ## v0.4.0 (07/11/2022)
132
+ ## v0.4.0 - 2022-11-07
125
133
 
126
134
  - Implement offline audio context
127
135
  - Update upstream crate to [v0.24](https://github.com/orottier/web-audio-api-rs/blob/main/CHANGELOG.md#version-0240-2022-09-10)
package/README.md CHANGED
@@ -60,24 +60,36 @@ npm run build
60
60
 
61
61
  3. Run the examples from the project's root directory
62
62
  ```sh
63
- node examples/granular-scrub.mjs
63
+ node examples/granular-scrub.js
64
64
  ```
65
65
 
66
66
  ## Caveats
67
67
 
68
+ - `AudioBuffer#getChannelData` is implemented but not reliable in some situations. Your should prefer `AudioBuffer#copyToChannel` and `AudioBuffer#copyFromChannel` when you want to access or manipulate the underlying samples in a safe way.
68
69
  - `Streams`: only a minimal audio input stream and the `MediaStreamSourceNode` are provided. All other `MediaStream` features are left on the side for now as they principally concern a different API specification, which is not a trivial problem.
69
70
 
70
- ## Supported Platforms
71
+ ## Supported Platforms - Prebuilt Binaries
72
+
73
+ We provide prebuilt binaries for the following platforms:
74
+
75
+ | | binaries |
76
+ |-----------------------------------------------------|:--------:|
77
+ | Windows x64 | ✓ |
78
+ | Windows arm64 | ✓ |
79
+ | macOS x64 | ✓ |
80
+ | macOS aarch64 | ✓ |
81
+ | Linux x64 gnu (jack / pipewire-jack) | ✓ |
82
+ | Linux arm gnueabihf (jack / pipewire-jack) | ✓ |
83
+ | Linux arm64 gnu (jack / pipewire-jack) | ✓ |
84
+
85
+
86
+
87
+ ### Important notes
88
+
89
+ - If you need support for another platform, please fill an [issue](https://github.com/ircam-ismm/node-web-audio-api/issues) and we will see what we can do.
90
+
91
+ - All provided Linux binaries are built with the `jack` flag, which should work either with properly configured [Jack](https://jackaudio.org/) or [pipewire-jack](https://pipewire.org/) backends. If this is a limitation for you, please fill an [issue](https://github.com/ircam-ismm/node-web-audio-api/issues) and we will see what we can do.
71
92
 
72
- | | binaries | tested |
73
- | --------------------------- | ------ | ------ |
74
- | Windows x64 | ✓ | |
75
- | Windows arm64 | ✓ | |
76
- | macOS x64 | ✓ | ✓ |
77
- | macOS aarch64 | ✓ | ✓ |
78
- | Linux x64 gnu | ✓ | |
79
- | Linux arm gnueabihf (RPi) | ✓ | ✓ |
80
- | Linux arm64 gnu (RPi) | ✓ | ✓ |
81
93
 
82
94
  ## Manual Build
83
95
 
@@ -161,7 +173,7 @@ Then run:
161
173
  npm run wpt # build in debug mode and run all wpt test
162
174
  npm run wpt:only # run all wpt test without build
163
175
  npm run wpt -- --list # list all wpt test files
164
- npm run wpt -- --filter <string> # apply <string> filter on executed/listed wpt tests
176
+ npm run wpt -- --filter <string> # apply <string> filter on executed/listed wpt tests
165
177
  ```
166
178
 
167
179
  ## License
@@ -179,7 +179,7 @@ module.exports = (jsExport, nativeBinding) => {
179
179
  if (value === null) {
180
180
  console.warn('Setting the \'buffer\' property on \'AudioBufferSourceNode\' to \'null\' is not supported yet');
181
181
  return;
182
- } else if (!(kNapiObj in value)) {
182
+ } else if (!(value instanceof jsExport.AudioBuffer)) {
183
183
  throw new TypeError('Failed to set the \'buffer\' property on \'AudioBufferSourceNode\': Failed to convert value to \'AudioBuffer\'');
184
184
  }
185
185
 
@@ -141,7 +141,7 @@ module.exports = (jsExport, nativeBinding) => {
141
141
  if (value === null) {
142
142
  console.warn('Setting the \'buffer\' property on \'ConvolverNode\' to \'null\' is not supported yet');
143
143
  return;
144
- } else if (!(kNapiObj in value)) {
144
+ } else if (!(value instanceof jsExport.AudioBuffer)) {
145
145
  throw new TypeError('Failed to set the \'buffer\' property on \'ConvolverNode\': Failed to convert value to \'AudioBuffer\'');
146
146
  }
147
147
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-web-audio-api",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "author": "Benjamin Matuszewski",
5
5
  "description": "Web Audio API implementation for Node.js",
6
6
  "exports": {