Describe the Sample device and its waveform (#400)
- Instruments: what the gold device shows and how its parts are set. - Architecture: SamplePanel, SampleFace and sampleView. - Development: 1976 editor checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
0ea28c52be
commit
5c47555710
3 files changed
+29
-1
No files matched your search
@@ -453,6 +453,10 @@ src/editor/soundfx/ SoundFxEditor (#311: the graph, a sound to try it on, Pla
|
||||
CrusherPanel + CrusherFace + crusherView (#399: the Bitcrusher as a device,
|
||||
a sine sent through the node's own `Crusher` and drawn in cells of its steps
|
||||
and holds, and the bits it keeps, worked out apart from the drawing),
|
||||
SamplePanel + SampleFace + sampleView (#400: the Sample as a device, the
|
||||
waveform of its sound or clip from the library's peaks, cut into what is
|
||||
played once, looped, played after the note and never heard, worked out
|
||||
apart from the drawing),
|
||||
nodeParamDrag (a knob's drag as one undo step, for the tab and the
|
||||
node, several settings at once since #389), nodeTabs (which nodes open a tab of
|
||||
their own)
|
||||
|
||||
+1
-1
@@ -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 # 1975 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1976 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
|
||||
|
||||
+24
@@ -44,6 +44,30 @@ stopped any more: a drone in a game is a *Loop* played by `Play note` with `dura
|
||||
it until a `Stop sound`. A Sample saved with the former **Mode** and **Loop** is loaded as one of
|
||||
these: *Gate* or *One-shot* without Loop stays what it was, either with Loop becomes *Loop*.
|
||||
|
||||
**The Sample is a device** (#400), a compact 480x280 graph units, a plate in polished gold.
|
||||
`trigger` is on the left, `out` on the right, and everything is set right in the graph:
|
||||
|
||||
- the **sound** is picked from the button beside the name, sounds and their [clips](Sounds#clips)
|
||||
alike, as in the inspector;
|
||||
- a screen, **Waveform**, draws the sound or clip across its whole length, mirrored about the
|
||||
middle, as loud as its volume plays it. Seconds run along the bottom, the length (and the volume,
|
||||
where it is not 1) stands on the bezel. What becomes of each part has a colour of its own: gold
|
||||
is played once, the **loop** is pale gold on a lit band between two lines, what *Loop, then
|
||||
release* plays once the note is let go is amber (*After the note*), and what a *Loop* never gets
|
||||
to is dark. Under the glass it says how it plays (`LOOPS 500 ms TO 900 ms WHILE HELD`) and at
|
||||
what pitch (`AS IT IS AT C4`, or `AS IT IS ON EVERY NOTE` without *Follow note*). The loop is
|
||||
drawn as both ways of playing hold it: an end of 0 or past the sound is the end of the sound, a
|
||||
start not before the end loops all of it. Without a sound the screen says why: *No sound
|
||||
picked*, *That sound is gone*, *The sound has no file*, *Loading* or *Cannot load*;
|
||||
- a button for each **Play**, *Gate*, *One-shot*, *Loop* and *Loop+rel*, two by two;
|
||||
- **Root** as a chrome knob that reads as a note (C4), and **Follow note** as a lever beside it
|
||||
(*Follow*). A drag is one undo step, a double-click goes back to C4;
|
||||
- **Start** above **End** of the loop as fields in seconds, typed in or scrubbed sideways.
|
||||
|
||||
Settings that do nothing as things stand are grey, as in the rows they replace: the root without
|
||||
*Follow note*, the loop's ends without a loop. Nothing on it moves by itself. A new instrument
|
||||
places its Output past the device.
|
||||
|
||||
**Triggers.** The outputs of a Notes node that say "this note" are of their own kind, a
|
||||
**trigger**, drawn in lime. A trigger goes only into the `trigger` input of a source — nothing of a
|
||||
behavior can get in, and it fits nothing else. A `trigger` input takes any number of edges, and
|
||||
|
||||
Reference in new issue
Block a user