MCP: Instrument-Presets anwenden #432

Closed
opened 2026-10-18 19:38:38 +02:00 by meleki · 1 comment
Owner

Aus #429, Nachbetrachtung nach Etappe 5d („was am MCP noch fehlt“). Punkt 2 von 6.

Anlass

Für die Musik aus dem 5d-Test hat der Agent zwei Instrumente Node für Node gebaut: Chip, Envelope und Delay für Lead, Acid für Bass. Im Instrument-Tab ist das ein Klick auf Preset, etwa Echo Lead oder Acid Bass.

Stand heute (im Code nachgesehen)

  • src/core/instrument/chipPresets.ts hat 16 Instrument-Presets (TONE_PRESETS, von Square Lead bis Drum Kit) und 7 Effekt-Presets nach sfxr (EFFECT_PRESETS: Pickup, Laser, Explosion, …).
  • Der Tab wendet eines mit ReplaceGraphCommand(asset, chipPresetGraph(preset)) an (InstrumentEditor.applyPreset). Der Agent kommt an keins heran.
  • Die Presets nehmen alle Noten an (LOWEST_NOTE bis HIGHEST_NOTE). Damit fällt auch die Falle mit dem Notenbereich C4 bis B4 weg, die in 5d den Bass stumm gemacht hat.

Vorschlag

  • Neuer Command apply_preset (Bereich music) mit asset (ein Instrument) und preset als Liste der Werte. Ersetzt den Graph wie im Tab, ein Undo-Schritt, die Meldung nennt das Preset.
  • Die Beschreibung sagt, dass ein Effekt-Preset bei jedem Aufruf neu gewürfelt wird, ein Instrument-Preset immer gleich aussieht und der bisherige Graph ersetzt wird.
  • Die Anweisungen an den Agenten nennen das Preset als schnellsten Weg zu einem Instrument, das klingt.
Aus #429, Nachbetrachtung nach Etappe 5d („was am MCP noch fehlt“). Punkt 2 von 6. ## Anlass Für die Musik aus dem 5d-Test hat der Agent zwei Instrumente Node für Node gebaut: Chip, Envelope und Delay für *Lead*, Acid für *Bass*. Im Instrument-Tab ist das ein Klick auf *Preset*, etwa *Echo Lead* oder *Acid Bass*. ## Stand heute (im Code nachgesehen) - `src/core/instrument/chipPresets.ts` hat 16 Instrument-Presets (`TONE_PRESETS`, von *Square Lead* bis *Drum Kit*) und 7 Effekt-Presets nach sfxr (`EFFECT_PRESETS`: Pickup, Laser, Explosion, …). - Der Tab wendet eines mit `ReplaceGraphCommand(asset, chipPresetGraph(preset))` an (`InstrumentEditor.applyPreset`). Der Agent kommt an keins heran. - Die Presets nehmen alle Noten an (`LOWEST_NOTE` bis `HIGHEST_NOTE`). Damit fällt auch die Falle mit dem Notenbereich C4 bis B4 weg, die in 5d den Bass stumm gemacht hat. ## Vorschlag - **Neuer Command `apply_preset`** (Bereich *music*) mit `asset` (ein Instrument) und `preset` als Liste der Werte. Ersetzt den Graph wie im Tab, ein Undo-Schritt, die Meldung nennt das Preset. - Die Beschreibung sagt, dass ein Effekt-Preset bei jedem Aufruf neu gewürfelt wird, ein Instrument-Preset immer gleich aussieht und der bisherige Graph ersetzt wird. - Die Anweisungen an den Agenten nennen das Preset als schnellsten Weg zu einem Instrument, das klingt.
admin added this to the Development project 2026-10-18 19:38:51 +02:00
admin moved this to Next in Development on 2026-10-18 19:39:00 +02:00
Author
Owner

Umgesetzt in 24cd9fd.

  • Neuer Command apply_preset: setzt eines der 16 Instrument-Presets oder 7 sfxr-Presets, wie das Preset-Menü im Instrument-Tab, als ein Undo-Schritt.
  • Die Presets nehmen alle Noten an. Die Falle mit dem Notenbereich C4 bis B4 eines neuen Notes-Nodes fällt damit weg.
  • Die Bereichsbeschreibung music im Katalog und die Anweisungen im Relay nennen den Weg.

Live in MCP Test Project: Bass hat Acid Bass bekommen, lint_graph danach überall 0, per Undo zurück auf den alten Graph.

Tests

  • agent-files (neu, 4 Tests) mit den übrigen Agent- und Relay-Tests: 130/130
  • 8 Gegenproben, alle kompilieren, alle rot
  • e2e 71 (atx): 26/26, neu 71g9 (hochgeladener Sound wird gelistet und als Asset angelegt, ein Preset füllt ein Instrument)
  • Gate (atx): CHECK EXIT 0, 326 Dateien, 5021 Tests

Commit 24cd9fd (gemeinsam für #431, #432, #433), Wiki c098520 (MCP).

Umgesetzt in `24cd9fd`. - Neuer Command **`apply_preset`**: setzt eines der 16 Instrument-Presets oder 7 sfxr-Presets, wie das *Preset*-Menü im Instrument-Tab, als ein Undo-Schritt. - Die Presets nehmen alle Noten an. Die Falle mit dem Notenbereich C4 bis B4 eines neuen *Notes*-Nodes fällt damit weg. - Die Bereichsbeschreibung *music* im Katalog und die Anweisungen im Relay nennen den Weg. **Live** in *MCP Test Project*: *Bass* hat *Acid Bass* bekommen, `lint_graph` danach überall 0, per Undo zurück auf den alten Graph. **Tests** - `agent-files` (neu, 4 Tests) mit den übrigen Agent- und Relay-Tests: 130/130 - 8 Gegenproben, alle kompilieren, alle rot - e2e 71 (atx): 26/26, neu 71g9 (hochgeladener Sound wird gelistet und als Asset angelegt, ein Preset füllt ein Instrument) - Gate (atx): `CHECK EXIT 0`, 326 Dateien, 5021 Tests Commit `24cd9fd` (gemeinsam für #431, #432, #433), Wiki `c098520` (*MCP*).
admin moved this to Done in Development on 2026-10-18 20:07:10 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#432