Describe faint clips and the embedded assets a song shares (#357)

- Sounds: the clip area shrinks with the wave when zoomed out, a click
  beside the picked clip picks the sound, and the clips not picked lie
  faint over the wave.
- Songs: an embedded sound, pattern or sound FX is shared by the places
  of its song and goes with the last one. A paste into another song
  makes one copy. The picks offer what the song keeps.
- Development: 1898 checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adminandClaude Opus 5.5 committed 2026-10-08 21:13:57 +02:00
1 parent f340ff662b
commit 5ee39ade18
3 files changed
+29 -20

No files matched your search

+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 # 1897 editor checks, screenshots in /tmp/gm-e2e-*.png
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1898 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
+20 -15
@@ -222,18 +222,22 @@ names of the inputs show once recording has been allowed, and the browser keeps
A sound, a pattern or a sound FX can belong to one song instead of the project (#355). A take is
one. It is edited like any other: a double-click on its item opens it in its tab, where its
[clips](Sounds#clips) are made and cut as always, and the tab's title has the song's name in front
of its own. But it has no row in the Assets panel, no picker offers it (not the inspector, not a
node), and its name only has to be free within the song. Only the *Sound* row of its own item
offers it and its clips, under a line after the project's sounds.
of its own. But it has no row in the Assets panel, no picker outside its song offers it (not a
node, not another song), and its name only has to be free within the song. Within the song the
picks offer it under a line after the project's assets: the *Sound* row of an item the song's
sounds and their clips, the *Pattern* row its patterns, every sound FX pick its sound FX.
- **One user.** An embedded asset is used by exactly one place of its song: an item, a track or the
song itself. A split, `Ctrl+D` and a paste give every new item a copy of its own, so setting one
half of a split take to another clip leaves the other half as it was. A copy gets copies of the
clips, and an item on a clip plays the same clip of its copy. The audio file is not copied:
files are stored by their content.
- **It goes with its user.** Deleting the item, its track or the song deletes the embedded asset
in the same undo step. A copied item keeps it in the clipboard, so a paste after the delete brings
it back. *Duplicate* on the song copies everything it keeps to itself.
- **Shared within the song (#357).** The places of a song share what it keeps: the song itself,
its tracks and its items. A split and `Ctrl+D` leave both items on the same take, so the four
clips of one take serve four items, and a cut made in the Sound tab is heard on every item
playing that clip. To bend one item alone, *Make project asset* and *Embed a copy* still make a
copy.
- **A paste into another song** gives that song a copy, one for all the items naming it. A copy
gets copies of the clips, and an item on a clip plays the same clip of its copy. The audio file
is not copied: files are stored by their content.
- **It goes with its last user.** Once no item, track or the song names it any more, the embedded
asset is deleted in the same undo step. A copied item keeps it in the clipboard, so a paste after
the delete brings it back. *Duplicate* on the song copies everything it keeps to itself.
- A click on its name in the inspector lights up its song in the Assets panel.
- In the Sound tab of an embedded sound the rows *Loop* and *Bus* are left out: in a song an item
repeats its sound as long as it is, and the track decides where it goes.
@@ -258,8 +262,9 @@ song) and an item for it, one undo step, and opens it in the Pattern tab.
### A sound FX of its own
Every pick of a sound FX in a song ends with a few entries for one that only that place has: the
**Sound FX** row of the song, of a track and of an item, and the menu of a track's **FX** button.
Every pick of a sound FX in a song ends with the sound FX the song keeps, with the mark in front,
and a few entries to make one: the **Sound FX** row of the song, of a track and of an item, and
the menu of a track's **FX** button. Picking one the song keeps lets this place share it.
- **Create sound FX** makes *Sound FX 1*, 2 … (numbered per song) with its Input wired to its
Output, so it lets the sound through until something is put in between. The place picks it and
@@ -268,8 +273,8 @@ Every pick of a sound FX in a song ends with a few entries for one that only tha
under the same name, to bend without touching the original.
- While the place names its own, the menu shows it with the mark in front and offers **Edit sound
FX** (opens it, as a double-click on its name in the inspector does) and **Make project asset**.
- Picking anything else, *None* or another sound FX, lets it go in the same undo step. That holds
for the song's own row too.
- Picking anything else, *None* or another sound FX, lets it go. If this place was the last one
naming it, it goes in the same undo step. That holds for the song's own row too.
## Playing one in a game
+8 -4
@@ -78,9 +78,12 @@ counts in it — `length`, the rounds of a song item and their waveform, a Sampl
Pitch.
- **Drag in the strip** to make a new clip from where you pressed. It is picked right away.
- **Click a band** to pick its clip, **click beside the bands** to pick the sound again. The
picked clip's band is lit, and its stretch stands between **two handles** in the wave. What lies
outside is darker. With no clip picked the whole file is bright and has no handles.
- **Click a band** to pick its clip, **click beside the bands** to pick the sound again. A
**click in the wave beside the picked clip** picks the sound too. The picked clip's band is lit,
and its stretch stands between **two handles** in the wave. What lies outside is darker. With no
clip picked the whole file is bright and has no handles.
- **The other clips** stay faint in the wave, a pale tint with a thin edge over their stretch, so
you see where they lie while you work on one.
- **Drag a handle** to move that edge of the picked clip. **Drag anywhere else** in the wave to
span it anew from where you pressed. With no clip picked, a drag in the wave makes a new clip, as
in the strip. One drag is one undo step, the two edges together. An edge cannot pass the other.
@@ -106,7 +109,8 @@ Pitch.
- Left of the wave stands a **level scale** in dB, a mark every 6 dB (#357). The **wheel over the
scale** zooms the wave's height, from a quarter to 16 times: zoomed out, a full-scale wave leaves
room above and below it; zoomed in, quiet stretches get tall enough to see, and what is louder
stops at the edge. The fade ramps grow with the wave. **Fit** brings back the whole file at its
stops at the edge. The fade ramps grow with the wave. Zoomed out, the bright file, the picked
clip and its handles shrink with it to the height of a full-scale wave. **Fit** brings back the whole file at its
full height.
- A stereo file shows **one** wave, the loudest of its channels; it plays in stereo.
- The header's readout says how long the picked clip is, and of how long a file.