diff --git a/Development.md b/Development.md index dd69c45..bdf27dd 100644 --- a/Development.md +++ b/Development.md @@ -19,7 +19,7 @@ php tests/php/accounts.test.php # the API's accoun php tests/php/snapshots.test.php # the snapshot store (#231), the same way php tests/php/releases.test.php # the release store (#266), the same way php tests/php/files.test.php # uploaded files in a folder per account (#344), the same way -node tools/seed-e2e.mjs && node tools/e2e.mjs # 1921 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1922 editor checks, screenshots in /tmp/gm-e2e-*.png GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step ./e2e.sh start [GM_STEPS] # the same run detached, see below ./e2e.sh status # live progress, or the last run's result diff --git a/Sounds.md b/Sounds.md index 503bcbf..2b9de45 100644 --- a/Sounds.md +++ b/Sounds.md @@ -595,11 +595,18 @@ opens its editor, in a sound FX and in an instrument alike. loaded. *Play* is in the sound FX's tab, not in the EQ's: float one of the two (see *The tab row* in [Concepts](Concepts)) to have both in view. - **Delete** in the EQ's tab removes the picked band, never the node. -- **The curve** takes the room of the tab and shows 20 Hz to 20 kHz in octaves and -24 to +24 dB. +- **The curve** takes the room of the tab and shows 20 Hz to 20 kHz in octaves and, unless zoomed, + -24 to +24 dB. The thick line is all bands together, each band has a thin line in its own colour and a numbered handle. +- **Zoom** (#376): the mouse wheel on free space zooms the dB the curve shows, always the same + either side of 0: ±3, ±6, ±12, ±24 or ±48 dB. Up zooms in. The lines across the curve follow, + every 1, 2, 3, 6 or 12 dB. A band whose gain is beyond the range keeps its handle on the edge, + where it can still be grabbed. The zoom is saved on the node (`range`), so it is there again + after loading, and it is no undo step: Ctrl+Z undoes edits, not a look at the curve. The + spectrum keeps its own scale. - **In the node** (#375) the curve of all bands is drawn in small below its rows, on the same - axes: the 0 dB line, the area up or down to the curve, and the curve. Without a band the box + axes, zoomed as the tab is: the 0 dB line, the area up or down to the curve, and the curve. Without a band the box stays, flat, so the node does not grow at the first one. It follows every change, a drag in the tab as well. A double-click on it opens the tab like anywhere on the node. - **The spectrum** (#374): while the EQ's tab is seen, in the tab row or in a window, it draws @@ -611,23 +618,23 @@ opens its editor, in a sound FX and in an instrument alike. analyser, so it falls away softly once the sound has gone. While the tab is not seen, no analyser is fed. - **With the mouse:** a double-click on free space adds a peak there. Dragging a handle moves the - band's frequency and, for a peak or a shelf, its gain. The mouse wheel over a handle, or anywhere - while a band is picked, makes it a sixth of an octave narrower or wider. A right-click on a - handle removes the band. + band's frequency and, for a peak or a shelf, its gain. The mouse wheel over a handle makes the + band a sixth of an octave narrower or wider, anywhere else it zooms (see above). A right-click on + a handle removes the band. - **Below the curve** are the numbers of the picked band: *Type*, `Hz`, `dB`, `Q` and *Slope*. A row the type does nothing with is greyed out. - **Types:** *Peaking*, *Low shelf*, *High shelf*, *Low cut* (a high-pass), *High cut* (a low-pass), *Band-pass* and *Notch*. *Slope* (12, 24 or 48 dB/oct) is there for the cuts, the band-pass and the notch, as on the [Filter](#filter). A shelf has no Q. - **Ranges:** frequency 20 to 20000 Hz, gain -24 to +24 dB, Q 0.1 to 30. -- **One undo step** for each drag, each scrub of a field, each wheel notch, each added or removed - band. +- **One undo step** for each drag, each scrub of a field, each wheel notch on a handle, each added + or removed band. - **What is heard:** each band is one `BiquadFilterNode` per voice, or 2 or 4 for a steeper slope. A peak or a shelf at 0 dB is left out. The curve is worked out with the formulas Web Audio uses, at 48 kHz. In front of the bands and behind them every voice and every bus has a tap, a gain of 1 that does nothing to the sound. Only while the tab is seen do the taps of that node feed its analysers. A bypassed EQ keeps its taps. -- The bands are saved on the node as a list (`bands`). They have no input, so a parameter of the +- The bands are saved on the node as a list (`bands`), the zoom as a number (`range`). They have no input, so a parameter of the Input or an Envelope cannot move them. Bypass and `wet` work as on every effect. ### Compressor and Limiter