A pattern for one song had to be made in the Assets panel first and
dragged in, and then stood in every picker of the project. Now a
right-click on an empty spot of a track makes one the song keeps to
itself, on top of the embedded assets of the first part.
- Create pattern lays an item from the grid line before the spot,
a bar long, and opens the pattern in its tab. Pattern, item and
name are one undo step. The name is "Pattern 1", 2, … per song.
- It plays the instrument of the track's pattern item that starts
last before the spot, else of the first one after it. An item's
own pick counts before its pattern's.
- An embedded pattern runs on the song's clock. It takes the tempo
and the meter of the song, and a change on the song moves it along
in the same undo step (`AssetPropertyCommand`).
- Its rows Tempo, Beats per bar, Beat and Bus are hidden, as the
song decides them. Length, grid, instrument and sound FX stay.
- A copy that comes to a song (Embed a copy, a paste from another
song) takes that song's clock. Made a project asset, it keeps the
values it had.
- `CreateAssetCommand` takes an owner. `embeddedCopy` takes the song
now, not its id.
- The cleanup of e2e 65 also takes what the song keeps.
Tests:
- Unit embedded: 18 green (5 new), 6 counter-checks each red
- Unit take, song, pattern and the asset commands: green
- e2e 65 (melektaus-atx): ALL PASSED, 49 checks (2 new)
- Gate (melektaus-atx): CHECK EXIT 0, 269 files, 4172 tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>