From 967dd41fee8e34496f6db37305b4848d2edaa108 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Mon, 10 Feb 2025 21:57:49 +0100 Subject: [PATCH 1/7] Add more keys to Web Audio --- features/web-audio.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/features/web-audio.yml b/features/web-audio.yml index 1d211683214..e3ad895c7ab 100644 --- a/features/web-audio.yml +++ b/features/web-audio.yml @@ -66,6 +66,11 @@ compat_features: - api.AudioListener.upX - api.AudioListener.upY - api.AudioListener.upZ + # The following 2 keys are deprecated, but are currently the only way to set + # the listener orientation and position in Firefox. So we're keeping them here + # for now. + - api.AudioListener.setOrientation + - api.AudioListener.setPosition - api.AudioNode - api.AudioNode.channelCount - api.AudioNode.channelCountMode From 2be3a1bbae776b584db97dbe8b83a17f24f858cf Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Mon, 10 Feb 2025 22:02:28 +0100 Subject: [PATCH 2/7] Dist --- features/web-audio.yml.dist | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/features/web-audio.yml.dist b/features/web-audio.yml.dist index ecb8f99c999..6ab321660f5 100644 --- a/features/web-audio.yml.dist +++ b/features/web-audio.yml.dist @@ -636,6 +636,18 @@ compat_features: # safari_ios: "14.5" - api.AudioContext.AudioContext.options_sampleRate_parameter + # baseline: false + # support: + # chrome: "14" + # chrome_android: "18" + # edge: "12" + # firefox: "25" + # firefox_android: "25" + # safari: "6" + # safari_ios: "6" + - api.AudioListener.setOrientation + - api.AudioListener.setPosition + # baseline: false # support: # chrome: "52" From 7085e9f70f63a23a24d32985793654386ba4ab06 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Thu, 15 Jan 2026 15:56:58 +0100 Subject: [PATCH 3/7] Minting 2 new features for AudioListener --- features/audio-listener-discouraged.yml | 14 +++++++ features/audio-listener-discouraged.yml.dist | 16 ++++++++ features/audio-listener.yml | 15 +++++++ features/audio-listener.yml.dist | 42 ++++++++++++++++++++ features/web-audio.yml | 15 ------- features/web-audio.yml.dist | 30 -------------- 6 files changed, 87 insertions(+), 45 deletions(-) create mode 100644 features/audio-listener-discouraged.yml create mode 100644 features/audio-listener-discouraged.yml.dist create mode 100644 features/audio-listener.yml create mode 100644 features/audio-listener.yml.dist diff --git a/features/audio-listener-discouraged.yml b/features/audio-listener-discouraged.yml new file mode 100644 index 00000000000..203993d2cbb --- /dev/null +++ b/features/audio-listener-discouraged.yml @@ -0,0 +1,14 @@ +name: AudioListener setPosition() setOrientation() +description: The `setPosition()` and `setOrientation()` methods of the `AudioListener` API set the position and orientation of a person listening to the audio scene, allowing you to spatialize audio. +spec: https://webaudio.github.io/web-audio-api/#AudioListener +group: web-audio +discouraged: + reason: The AudioListener's `setPosition()` and `setOrientation()` methods are deprecated as they are equivalent to using the `positionX`, `positionY`, `positionZ`, `forwardX`, `forwardY`, `forwardZ`, `upX`, `upY`, and `upZ` instance properties. + according_to: + - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setposition + - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setorientation + alternatives: + - audio-listener +compat_features: + - api.AudioListener.setOrientation + - api.AudioListener.setPosition diff --git a/features/audio-listener-discouraged.yml.dist b/features/audio-listener-discouraged.yml.dist new file mode 100644 index 00000000000..d775eac918b --- /dev/null +++ b/features/audio-listener-discouraged.yml.dist @@ -0,0 +1,16 @@ +# Generated from: audio-listener-discouraged.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "14" + chrome_android: "18" + edge: "12" + firefox: "25" + firefox_android: "25" + safari: "6" + safari_ios: "6" +compat_features: + - api.AudioListener.setOrientation + - api.AudioListener.setPosition diff --git a/features/audio-listener.yml b/features/audio-listener.yml new file mode 100644 index 00000000000..bd625dcb87e --- /dev/null +++ b/features/audio-listener.yml @@ -0,0 +1,15 @@ +name: AudioListener +description: The `AudioListener` API sets the position and orientation of a person listening to the audio scene, allowing you to spatialize audio. +spec: https://webaudio.github.io/web-audio-api/#AudioListener +group: web-audio +compat_features: + - api.AudioListener + - api.AudioListener.forwardX + - api.AudioListener.forwardY + - api.AudioListener.forwardZ + - api.AudioListener.positionX + - api.AudioListener.positionY + - api.AudioListener.positionZ + - api.AudioListener.upX + - api.AudioListener.upY + - api.AudioListener.upZ diff --git a/features/audio-listener.yml.dist b/features/audio-listener.yml.dist new file mode 100644 index 00000000000..086e78d5253 --- /dev/null +++ b/features/audio-listener.yml.dist @@ -0,0 +1,42 @@ +# Generated from: audio-listener.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "52" + chrome_android: "52" + edge: "79" + safari: "14.1" + safari_ios: "14.5" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "14" + # chrome_android: "18" + # edge: "12" + # firefox: "25" + # firefox_android: "25" + # safari: "6" + # safari_ios: "6" + - api.AudioListener + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "52" + # chrome_android: "52" + # edge: "79" + # safari: "14.1" + # safari_ios: "14.5" + - api.AudioListener.forwardX + - api.AudioListener.forwardY + - api.AudioListener.forwardZ + - api.AudioListener.positionX + - api.AudioListener.positionY + - api.AudioListener.positionZ + - api.AudioListener.upX + - api.AudioListener.upY + - api.AudioListener.upZ diff --git a/features/web-audio.yml b/features/web-audio.yml index e3ad895c7ab..eaa5df70d21 100644 --- a/features/web-audio.yml +++ b/features/web-audio.yml @@ -56,21 +56,6 @@ compat_features: - api.AudioContext.suspend - api.AudioDestinationNode - api.AudioDestinationNode.maxChannelCount - - api.AudioListener - - api.AudioListener.forwardX - - api.AudioListener.forwardY - - api.AudioListener.forwardZ - - api.AudioListener.positionX - - api.AudioListener.positionY - - api.AudioListener.positionZ - - api.AudioListener.upX - - api.AudioListener.upY - - api.AudioListener.upZ - # The following 2 keys are deprecated, but are currently the only way to set - # the listener orientation and position in Firefox. So we're keeping them here - # for now. - - api.AudioListener.setOrientation - - api.AudioListener.setPosition - api.AudioNode - api.AudioNode.channelCount - api.AudioNode.channelCountMode diff --git a/features/web-audio.yml.dist b/features/web-audio.yml.dist index ab66beb0a38..e8667a76be4 100644 --- a/features/web-audio.yml.dist +++ b/features/web-audio.yml.dist @@ -44,7 +44,6 @@ compat_features: - api.AudioBufferSourceNode.buffer - api.AudioBufferSourceNode.playbackRate - api.AudioDestinationNode - - api.AudioListener - api.AudioNode - api.AudioNode.connect - api.AudioNode.context @@ -671,35 +670,6 @@ compat_features: - api.AudioParam.exponentialRampToValueAtTime - api.AudioParam.linearRampToValueAtTime - # baseline: false - # support: - # chrome: "14" - # chrome_android: "18" - # edge: "12" - # firefox: "25" - # firefox_android: "25" - # safari: "6" - # safari_ios: "6" - - api.AudioListener.setOrientation - - api.AudioListener.setPosition - - # baseline: false - # support: - # chrome: "52" - # chrome_android: "52" - # edge: "79" - # safari: "14.1" - # safari_ios: "14.5" - - api.AudioListener.forwardX - - api.AudioListener.forwardY - - api.AudioListener.forwardZ - - api.AudioListener.positionX - - api.AudioListener.positionY - - api.AudioListener.positionZ - - api.AudioListener.upX - - api.AudioListener.upY - - api.AudioListener.upZ - # baseline: false # support: # chrome: "57" From 361b569ad8f01033b3f5d2d56151ff75b56cd328 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Fri, 30 Jan 2026 11:24:59 +0100 Subject: [PATCH 4/7] review comments --- ...ged.yml => audiolistener-setposition-setorientation.yml} | 6 +++--- ...st => audiolistener-setposition-setorientation.yml.dist} | 0 features/{audio-listener.yml => audiolistener.yml} | 2 +- .../{audio-listener.yml.dist => audiolistener.yml.dist} | 0 4 files changed, 4 insertions(+), 4 deletions(-) rename features/{audio-listener-discouraged.yml => audiolistener-setposition-setorientation.yml} (51%) rename features/{audio-listener-discouraged.yml.dist => audiolistener-setposition-setorientation.yml.dist} (100%) rename features/{audio-listener.yml => audiolistener.yml} (70%) rename features/{audio-listener.yml.dist => audiolistener.yml.dist} (100%) diff --git a/features/audio-listener-discouraged.yml b/features/audiolistener-setposition-setorientation.yml similarity index 51% rename from features/audio-listener-discouraged.yml rename to features/audiolistener-setposition-setorientation.yml index 203993d2cbb..fd5798eec2b 100644 --- a/features/audio-listener-discouraged.yml +++ b/features/audiolistener-setposition-setorientation.yml @@ -1,9 +1,9 @@ -name: AudioListener setPosition() setOrientation() -description: The `setPosition()` and `setOrientation()` methods of the `AudioListener` API set the position and orientation of a person listening to the audio scene, allowing you to spatialize audio. +name: AudioListener setPosition() and setOrientation() +description: The `setPosition()` and `setOrientation()` methods of the `AudioListener` API set the virtual position and orientation of a person relative to sound sources, to spatialize audio in a Web Audio context. spec: https://webaudio.github.io/web-audio-api/#AudioListener group: web-audio discouraged: - reason: The AudioListener's `setPosition()` and `setOrientation()` methods are deprecated as they are equivalent to using the `positionX`, `positionY`, `positionZ`, `forwardX`, `forwardY`, `forwardZ`, `upX`, `upY`, and `upZ` instance properties. + reason: The `setPosition()` and `setOrientation()` methods are equivalent to using an `AudioListener` instances's `positionX`, `positionY`, `positionZ`, `forwardX`, `forwardY`, `forwardZ`, `upX`, `upY`, and `upZ` properties. according_to: - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setposition - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setorientation diff --git a/features/audio-listener-discouraged.yml.dist b/features/audiolistener-setposition-setorientation.yml.dist similarity index 100% rename from features/audio-listener-discouraged.yml.dist rename to features/audiolistener-setposition-setorientation.yml.dist diff --git a/features/audio-listener.yml b/features/audiolistener.yml similarity index 70% rename from features/audio-listener.yml rename to features/audiolistener.yml index bd625dcb87e..efc033b3158 100644 --- a/features/audio-listener.yml +++ b/features/audiolistener.yml @@ -1,5 +1,5 @@ name: AudioListener -description: The `AudioListener` API sets the position and orientation of a person listening to the audio scene, allowing you to spatialize audio. +description: An `AudioListener` object represents the virtual position and orientation of a person relative to sound sources, to spatialize audio in a Web Audio context. spec: https://webaudio.github.io/web-audio-api/#AudioListener group: web-audio compat_features: diff --git a/features/audio-listener.yml.dist b/features/audiolistener.yml.dist similarity index 100% rename from features/audio-listener.yml.dist rename to features/audiolistener.yml.dist From a7df6ff917442a1ce269e52ae4a49a5ca3360ecd Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Fri, 30 Jan 2026 11:25:50 +0100 Subject: [PATCH 5/7] dist --- features/audiolistener-setposition-setorientation.yml.dist | 2 +- features/audiolistener.yml.dist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/audiolistener-setposition-setorientation.yml.dist b/features/audiolistener-setposition-setorientation.yml.dist index d775eac918b..a3d60d86e09 100644 --- a/features/audiolistener-setposition-setorientation.yml.dist +++ b/features/audiolistener-setposition-setorientation.yml.dist @@ -1,4 +1,4 @@ -# Generated from: audio-listener-discouraged.yml +# Generated from: audiolistener-setposition-setorientation.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/audiolistener.yml.dist b/features/audiolistener.yml.dist index 086e78d5253..53fe15f8788 100644 --- a/features/audiolistener.yml.dist +++ b/features/audiolistener.yml.dist @@ -1,4 +1,4 @@ -# Generated from: audio-listener.yml +# Generated from: audiolistener.yml # Do not edit this file by hand. Edit the source file instead! status: From 1942e13696175eca45e1b0497fa4cd08986ff804 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Fri, 30 Jan 2026 11:26:52 +0100 Subject: [PATCH 6/7] update alternative --- features/audiolistener-setposition-setorientation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/audiolistener-setposition-setorientation.yml b/features/audiolistener-setposition-setorientation.yml index fd5798eec2b..5855b53d771 100644 --- a/features/audiolistener-setposition-setorientation.yml +++ b/features/audiolistener-setposition-setorientation.yml @@ -8,7 +8,7 @@ discouraged: - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setposition - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setorientation alternatives: - - audio-listener + - audioistener compat_features: - api.AudioListener.setOrientation - api.AudioListener.setPosition From cf3c02d0ba3902409b72bd74eed0a14acbe8ab85 Mon Sep 17 00:00:00 2001 From: Patrick Brosset Date: Fri, 30 Jan 2026 11:27:12 +0100 Subject: [PATCH 7/7] typo --- features/audiolistener-setposition-setorientation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/audiolistener-setposition-setorientation.yml b/features/audiolistener-setposition-setorientation.yml index 5855b53d771..f991c871ad6 100644 --- a/features/audiolistener-setposition-setorientation.yml +++ b/features/audiolistener-setposition-setorientation.yml @@ -8,7 +8,7 @@ discouraged: - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setposition - https://webaudio.github.io/web-audio-api/#dom-audiolistener-setorientation alternatives: - - audioistener + - audiolistener compat_features: - api.AudioListener.setOrientation - api.AudioListener.setPosition