The DelayNode interface represents a delay-line; an {{domxref("AudioNode")}} audio-processing module that causes a delay between the arrival of an input data and its propagation to the output. A DelayNode always has exactly one input and one output, both with the same amount of channels.
-
+
When creating a graph that has a cycle, it is mandatory to have at least one DelayNode in the cycle, or the nodes taking part in the cycle will be muted.
diff --git a/files/en-us/web/api/delaynode/webaudiodelaynode.png b/files/en-us/web/api/delaynode/webaudiodelaynode.png
new file mode 100644
index 000000000000000..00454c6dee07db3
Binary files /dev/null and b/files/en-us/web/api/delaynode/webaudiodelaynode.png differ
diff --git a/files/en-us/web/api/deprecationreportbody/index.html b/files/en-us/web/api/deprecationreportbody/index.html
index ae418caf2bbfbc7..d968b614bae4213 100644
--- a/files/en-us/web/api/deprecationreportbody/index.html
+++ b/files/en-us/web/api/deprecationreportbody/index.html
@@ -51,7 +51,7 @@
Examples
Because of the event handler we set up inside the ReportingObserver() constructor, we can now click the button to display the report details.
-
+
The report details are displayed via the displayReports() fuction, which takes the observer callback's reports parameter as its parameter:
diff --git a/files/en-us/web/api/deprecationreportbody/reporting_api_example.png b/files/en-us/web/api/deprecationreportbody/reporting_api_example.png
new file mode 100644
index 000000000000000..ac904038a55efaf
Binary files /dev/null and b/files/en-us/web/api/deprecationreportbody/reporting_api_example.png differ
diff --git a/files/en-us/web/api/dynamicscompressornode/knee/index.html b/files/en-us/web/api/dynamicscompressornode/knee/index.html
index 89a042c5ef51e9c..d9e1d77cef45004 100644
--- a/files/en-us/web/api/dynamicscompressornode/knee/index.html
+++ b/files/en-us/web/api/dynamicscompressornode/knee/index.html
@@ -13,11 +13,11 @@
{{ APIRef("Web Audio API") }}
-
The knee property of the {{ domxref("DynamicsCompressorNode") }} interface is a k-rate {{domxref("AudioParam")}} containing a decibel value representing the range above the threshold where the curve smoothly transitions to the compressed portion.
+
The knee property of the {{ domxref("DynamicsCompressorNode") }} interface is a k-rate {{domxref("AudioParam")}} containing a decibel value representing the range above the threshold where the curve smoothly transitions to the compressed portion.
The knee property's default value is 30 and it can be set between 0 and 40.
diff --git a/files/en-us/web/api/dynamicscompressornode/knee/webaudioknee.png b/files/en-us/web/api/dynamicscompressornode/knee/webaudioknee.png
new file mode 100644
index 000000000000000..fd1675f6ed8767a
Binary files /dev/null and b/files/en-us/web/api/dynamicscompressornode/knee/webaudioknee.png differ
diff --git a/files/en-us/web/api/dynamicscompressornode/ratio/index.html b/files/en-us/web/api/dynamicscompressornode/ratio/index.html
index 03f9e29977832a6..996c2723ab6c849 100644
--- a/files/en-us/web/api/dynamicscompressornode/ratio/index.html
+++ b/files/en-us/web/api/dynamicscompressornode/ratio/index.html
@@ -12,11 +12,11 @@
{{ APIRef("Web Audio API") }}
-
The ratio property of the {{ domxref("DynamicsCompressorNode") }} interface Is a k-rate {{domxref("AudioParam")}} representing the amount of change, in dB, needed in the input for a 1 dB change in the output.
+
The ratio property of the {{ domxref("DynamicsCompressorNode") }} interface Is a k-rate {{domxref("AudioParam")}} representing the amount of change, in dB, needed in the input for a 1 dB change in the output.
The ratio property's default value is 12 and it can be set between 1 and 20.
diff --git a/files/en-us/web/api/dynamicscompressornode/ratio/webaudioratio.png b/files/en-us/web/api/dynamicscompressornode/ratio/webaudioratio.png
new file mode 100644
index 000000000000000..5a628985013ddae
Binary files /dev/null and b/files/en-us/web/api/dynamicscompressornode/ratio/webaudioratio.png differ
diff --git a/files/en-us/web/api/keyboard_api/index.html b/files/en-us/web/api/keyboard_api/index.html
index 1acf82b6e112118..ee765e96ef27a9e 100644
--- a/files/en-us/web/api/keyboard_api/index.html
+++ b/files/en-us/web/api/keyboard_api/index.html
@@ -54,7 +54,7 @@
Writing system keys
“Writing system keys” are defined in the Writing System Keys section of the UI Events KeyboardEvent code Values spec as the physical keys that change meaning based on the current locale and keyboard layout. These keys are shown below. Blue keys are present on all standard keyboards while green keys are only available on some keyboards.
-
+
Interfaces
diff --git a/files/en-us/web/api/keyboard_api/writing-system-keys.png b/files/en-us/web/api/keyboard_api/writing-system-keys.png
new file mode 100644
index 000000000000000..16629220c1b963b
Binary files /dev/null and b/files/en-us/web/api/keyboard_api/writing-system-keys.png differ
diff --git a/files/en-us/web/api/reporting_api/index.html b/files/en-us/web/api/reporting_api/index.html
index 816a9e840a84403..9753959fdb6da32 100644
--- a/files/en-us/web/api/reporting_api/index.html
+++ b/files/en-us/web/api/reporting_api/index.html
@@ -120,7 +120,7 @@
Examples
This causes a deprecation report to be generated; because of the event handler we set up inside the ReportingObserver() constructor, we can now click the button to display the report details.
-
+
Note: If you look at the complete source code, you'll notice that we actually call the deprecated getUserMedia() method twice. After the first time we call {{domxref("ReportingObserver.takeRecords()")}}, which returns the first generated report and empties the queue. Because of this, when the button is pressed only the second report is listed.
diff --git a/files/en-us/web/api/reporting_api/reporting_api_example.png b/files/en-us/web/api/reporting_api/reporting_api_example.png
new file mode 100644
index 000000000000000..ac904038a55efaf
Binary files /dev/null and b/files/en-us/web/api/reporting_api/reporting_api_example.png differ
diff --git a/files/en-us/web/api/stereopannernode/index.html b/files/en-us/web/api/stereopannernode/index.html
index 09b8d879e6b1a47..ea045415d20afb2 100644
--- a/files/en-us/web/api/stereopannernode/index.html
+++ b/files/en-us/web/api/stereopannernode/index.html
@@ -17,7 +17,7 @@
The {{domxref("StereoPannerNode.pan", "pan")}} property takes a unitless value between -1 (full left pan) and 1 (full right pan). This interface was introduced as a much simpler way to apply a simple panning effect than having to use a full {{domxref("PannerNode")}}.
diff --git a/files/en-us/web/api/stereopannernode/stereopannernode.png b/files/en-us/web/api/stereopannernode/stereopannernode.png
new file mode 100644
index 000000000000000..dcb25c00ebfedce
Binary files /dev/null and b/files/en-us/web/api/stereopannernode/stereopannernode.png differ
diff --git a/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/customsourcenode-as-splitter.svg b/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/customsourcenode-as-splitter.svg
new file mode 100644
index 000000000000000..0490cddbe5c53ce
--- /dev/null
+++ b/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/customsourcenode-as-splitter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/index.html b/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/index.html
index 9a26be0069650fb..5fdd18821333a96 100644
--- a/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/index.html
+++ b/files/en-us/web/api/web_audio_api/controlling_multiple_parameters_with_constantsourcenode/index.html
@@ -25,7 +25,7 @@
The technique
The diagram below shows how this works; an input value, N, is set as the value of the {{domxref("ConstantSourceNode.offset")}} property. The ConstantSourceNode can have as many outputs as necessary; in this case, we've connected it to three nodes: two {{domxref("GainNode")}}s and a {{domxref("StereoPannerNode")}}. So N becomes the value of the specified parameter ({{domxref("GainNode.gain", "gain")}} for the {{domxref("GainNode")}}s and pan for the {{domxref("StereoPannerNode")}}.
-
+
As a result, every time you change N (the value of the input {{domxref("AudioParam")}}, the values of the two GainNodes' gain properties and the value of the StereoPannerNode's pan propertry are all set to N as well.
@@ -182,9 +182,9 @@
Setting up
Next, the {{domxref("GainNode")}} gainNode1 is created to handle the volume for the non-linked oscillator (oscNode1). We set that gain to 0.5. We also create gainNode2 and gainNode3, setting their values to match gainNode1, then set the value of the volume slider to the same value, so it is synchronized with the gain level it controls.
-
Once all the gain nodes are created, we create the {{domxref("ConstantSourceNode")}}, constantNode. We connect its output to the gain {{domxref("AudioParam")}} on both gainNode2 and gainNode3, and we start the constant node running by calling its {{domxref("ConstantSourceNode.start", "start()")}} method; now it's sending the value 0.5 to the two gain nodes' values, and any change to {{domxref("ConstantSourceNode.offset", "constantNode.offset")}} will automatically set the gain of both gainNode2 and gainNode3 (affecting their audio inputs as expected).
+
Once all the gain nodes are created, we create the {{domxref("ConstantSourceNode")}}, constantNode. We connect its output to the gain {{domxref("AudioParam")}} on both gainNode2 and gainNode3, and we start the constant node running by calling its {{domxref("AudioScheduledSourceNode/start", "start()")}} method; now it's sending the value 0.5 to the two gain nodes' values, and any change to {{domxref("ConstantSourceNode.offset", "constantNode.offset")}} will automatically set the gain of both gainNode2 and gainNode3 (affecting their audio inputs as expected).
-
Finally, we connect all the gain nodes to the {{domxref("AudioContext")}}'s {{domxref("AudioContext.destination", "destination")}}, so that any sound delivered to the gain nodes will reach the output, whether that output be speakers, headphones, a recording stream, or any other destination type.
+
Finally, we connect all the gain nodes to the {{domxref("AudioContext")}}'s {{domxref("BaseAudioContext/destination", "destination")}}, so that any sound delivered to the gain nodes will reach the output, whether that output be speakers, headphones, a recording stream, or any other destination type.
After setting the window's {{event("load")}} event handler to be the setup() function, the stage is set. Let's see how the action plays out.
@@ -248,7 +248,7 @@
Starting the oscillators
Each of the three oscillators is set up the same way:
-
Create the {{domxref("OscillatorNode")}} by calling {{domxref("AudioContext.createOscillator()")}}.
+
Create the {{domxref("OscillatorNode")}} by calling {{domxref("BaseAudioContext.createOscillator")}}.
Set the oscillator's type to "sine" to use a sine wave as the audio waveform.
Set the oscillator's frequency to the desired value; in this case, oscNode1 is set to a middle C, while oscNode2 and oscNode3 round out the chord by playing the E and G notes.
Connect the new oscillator to the corresponding gain node.
diff --git a/files/en-us/web/api/web_audio_api/using_iir_filters/iir-filter-demo.png b/files/en-us/web/api/web_audio_api/using_iir_filters/iir-filter-demo.png
new file mode 100644
index 000000000000000..0e701a2b6acd90b
Binary files /dev/null and b/files/en-us/web/api/web_audio_api/using_iir_filters/iir-filter-demo.png differ
diff --git a/files/en-us/web/api/web_audio_api/using_iir_filters/index.html b/files/en-us/web/api/web_audio_api/using_iir_filters/index.html
index 07cd6aa0f490c89..fac04cacb3bc303 100644
--- a/files/en-us/web/api/web_audio_api/using_iir_filters/index.html
+++ b/files/en-us/web/api/web_audio_api/using_iir_filters/index.html
@@ -17,7 +17,7 @@
Demo
Our simple example for this guide provides a play/pause button that starts and pauses audio play, and a toggle that turns an IIR filter on and off, altering the tone of the sound. It also provides a canvas on which is drawn the frequency response of the audio, so you can see what effect the IIR filter has.
-
+
You can check out the full demo here on Codepen. Also see the source code on GitHub. It includes some different coefficient values for different lowpass frequencies — you can change the value of the filterNumber constant to a value between 0 and 3 to check out the different available effects.
diff --git a/files/en-us/web/api/window/statusbar/index.html b/files/en-us/web/api/window/statusbar/index.html
index d0b4222151d3e4e..a1083fcbc327b5c 100644
--- a/files/en-us/web/api/window/statusbar/index.html
+++ b/files/en-us/web/api/window/statusbar/index.html
@@ -2,13 +2,13 @@
title: Window.statusbar
slug: Web/API/Window/statusbar
tags:
-- API
-- HTML DOM
-- NeedsExample
-- NeedsMarkupWork
-- Property
-- Reference
-- Window
+ - API
+ - HTML DOM
+ - NeedsExample
+ - NeedsMarkupWork
+ - Property
+ - Reference
+ - Window
---
{{APIRef}}
@@ -48,8 +48,7 @@
Example
Notes
When you load the example page above, the browser displays the following dialog:
+ alt="" src="modify_any_open_window_dialog.png">
To toggle the visibility of these bars, you must either sign your scripts or enable the
appropriate privileges, as in the example above. Also be aware that dynamically updating
@@ -87,9 +86,9 @@
diff --git a/files/en-us/web/api/window/statusbar/modify_any_open_window_dialog.png b/files/en-us/web/api/window/statusbar/modify_any_open_window_dialog.png
new file mode 100644
index 000000000000000..8b99fd413067f65
Binary files /dev/null and b/files/en-us/web/api/window/statusbar/modify_any_open_window_dialog.png differ
diff --git a/files/en-us/web/api/xrinputsource/example-target-ray.gif b/files/en-us/web/api/xrinputsource/example-target-ray.gif
new file mode 100644
index 000000000000000..5ec7106d79c9365
Binary files /dev/null and b/files/en-us/web/api/xrinputsource/example-target-ray.gif differ
diff --git a/files/en-us/web/api/xrinputsource/index.html b/files/en-us/web/api/xrinputsource/index.html
index 5d53c3392b8bd15..bf2bbb86fd4aa7b 100644
--- a/files/en-us/web/api/xrinputsource/index.html
+++ b/files/en-us/web/api/xrinputsource/index.html
@@ -56,7 +56,7 @@
Actions and the target ray
+
If the device includes a trigger or other squeezable input, such as a hand gesture device that recognizes when the user squeezes their fist, that action is called a primary squeeze action. A primary squeeze action should correspond to a gripping act in reality, such as taking hold of an object or pressing a trigger on a tool or weapon. When a squeeze action begins, such as by the user pressing the trigger or tightening their grip, a {{domxref("XRSession.squeezestart_event", "squeezestart")}} event is sent to the XRSession. Once the action is completed and the user has released the trigger or the grip, a {{domxref("XRSession.squeeze_event", "squeeze")}} event is sent. This is followed by a {{domxref("XRSession.squeezeend_event", "squeezeend")}}, which is also sent if the action is aborted rather than completed.
@@ -69,7 +69,7 @@
Local coordinate system
Each input source has its own local coordinate system, which is described by the {{domxref("XRInputSource.gripSpace", "gripSpace")}} property, which is an {{domxref("XRSpace")}} used to map the input's coordinate system into the world coordinate system. The grip space's coordinate system can then be used to render objects so they appear to be held in the user's hand.
-
+
For more details on the input source's coordinate system, see the article that covers the {{domxref("XRInputSource.gripSpace", "gripSpace")}} property in detail.
diff --git a/files/en-us/web/api/xrinputsource/xr-hand-axes.svg b/files/en-us/web/api/xrinputsource/xr-hand-axes.svg
new file mode 100644
index 000000000000000..319adddda26dc0d
--- /dev/null
+++ b/files/en-us/web/api/xrinputsource/xr-hand-axes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file