Show a Delay node as a device with its echoes over time #393

Closed
opened 2026-10-10 18:32:14 +02:00 by meleki · 2 comments
Owner

Wunsch des Users (2026-10-10): nach Chip (#386), Envelope (#388), Reverb (#389) und den Ein-Knopf-Geräten (#390, #392) soll auch der Delay-Node ein Gerät mit fester Größe sein.

  • Standardfarbe: hellgrau (Alu wie der Compressor)
  • Visualisierung erwünscht
  • gern eine Animation, die das Intervall der Echos zeigt
Wunsch des Users (2026-10-10): nach Chip (#386), Envelope (#388), Reverb (#389) und den Ein-Knopf-Geräten (#390, #392) soll auch der **Delay**-Node ein Gerät mit fester Größe sein. - Standardfarbe: hellgrau (Alu wie der Compressor) - Visualisierung erwünscht - gern eine Animation, die das Intervall der Echos zeigt
Author
Owner

Erledigt mit d4a45c1, Wiki 2a682ac.

Was gebaut ist

  • Delay als Gerät: Platte 680 × 280 im gebürsteten Alu des Compressors (jetzt als ALUMINIUM exportiert). Eingänge links, out rechts.
  • Schirm „Echoes over time“: links ein weißer Balken für den Klang, danach alle time ein Balken je Echo.
    • Höhe = Lautstärke, gleichmäßig in dB bis −60 dB.
    • Farbe von Warmweiß Richtung Rost, je mehr das Damping die Höhen nimmt. Jede Runde wird etwas dumpfer.
    • Mit Ping-pong wechseln die Balken zwischen oben (L, das erste Echo) und unten (R).
    • Höchstens 24 Balken, darüber steht zum Beispiel „+59“.
    • Texte: unten „EVERY 250 ms“ (bei Beats „EVERY 1/8. · 375 ms AT 120 BPM“) und „ENDS 2 s“, oben „HIGHS 6.6 kHz“, bei Wet 0 „NO ECHOES“.
  • Animation: Ein Lichtstrich läuft in Echtzeit vom Klang bis zum Ende und von vorn, jeder Balken leuchtet beim Überstreichen kurz auf. Die grüne Lampe ECHO blinkt bei jedem Echo, nicht beim Klang selbst.
  • Bedienung: Hebel SYNC (seconds/beats) und PING-PONG, Chromknöpfe Time, Feedback, Damping und Wet. Jede Änderung ist ein Undo-Schritt, verkabelte Werte sind gesperrt, bei Wet 0 ist der Rest blass. Time zeigt bei Beats den Notenwert („1/4“, „1/8.“, „1/8T“), in Sekunden ab 2 s „2 s max“.
  • delayEchoes im Kern zählt die hörbaren Echos, Abklingzeit der Stimme und Schirm nutzen dieselbe Formel. Knob.reformat schreibt die Zahl neu, wenn Sync umschaltet. Test-Hook __gm.delay.panel.

Selbst entschieden

  • Die Animation läuft dauerhaft, solange der Delay im Bild ist (DelayFace.tick liefert true, wie im Particles-Tab). Falls das zu viel Last ist: auf Hover oder auf laufenden Sound beschränken.
  • Bei Beats rechnet der Schirm mit 120 BPM, weil das Tempo der Stimme im Graphen nicht bekannt ist. Deshalb steht „AT 120 BPM“ dabei.
  • Der Schirm wird aus den Einstellungen gerechnet, wie bei Reverb und Envelope, er hört nichts ab.
  • Presets: Der Delay bekommt 4 Spalten. Echo Lead und Bell nutzen ihn.

Fund

Ein Node mit Gerät zeichnet keine Settings-Zeilen mehr. Der Bypass-Check aus #354 hat „Bypass: true“ daraus gelesen. Jetzt prüft er, dass der Node blass ist und nur noch eine Stufe klingt.

Tests

Unit delay-view → 17 Tests grün (neu)
e2e 34 (atx)    → ALL PASSED, 136 Checks (1 neu)
Gate (atx)      → CHECK EXIT 0, 288 Dateien, 4416 Tests
  • Neuer e2e-Check: Größe 680 × 280 zwischen den Ports, 10 Echos mit „ENDS 5 s“, das Licht läuft von selbst weiter, Ping-pong links/rechts, Sync zeigt „1/8“ und „AT 120 BPM“, Time dreht, drei Undos stellen alles wieder her.
  • Gegenprobe: Kommt das erste Ping-pong-Echo rechts statt links, wird genau der Seiten-Test rot.
  • Bilder angesehen: Standard, Ping-pong, Beats mit starkem Damping, 83 Echos bei 50 ms, Wet 0, Preset Echo Lead.

Nicht geprüft:

  • ein verkabelter Delay-Wert im Browser
  • ein Delay im Instrument-Graphen per Maus, und Bell im Bild
  • CI-Lauf zu 3f7eb03 (nicht abgewartet). Im selben Push steht 3f7eb03, der den wackelnden Speicher-Check aus #378 umbaut.
Erledigt mit d4a45c1, Wiki 2a682ac. ## Was gebaut ist - **Delay als Gerät:** Platte 680 × 280 im gebürsteten Alu des Compressors (jetzt als `ALUMINIUM` exportiert). Eingänge links, `out` rechts. - **Schirm „Echoes over time“:** links ein weißer Balken für den Klang, danach alle `time` ein Balken je Echo. - Höhe = Lautstärke, gleichmäßig in dB bis −60 dB. - Farbe von Warmweiß Richtung Rost, je mehr das Damping die Höhen nimmt. Jede Runde wird etwas dumpfer. - Mit Ping-pong wechseln die Balken zwischen oben (L, das erste Echo) und unten (R). - Höchstens 24 Balken, darüber steht zum Beispiel „+59“. - Texte: unten „EVERY 250 ms“ (bei Beats „EVERY 1/8. · 375 ms AT 120 BPM“) und „ENDS 2 s“, oben „HIGHS 6.6 kHz“, bei Wet 0 „NO ECHOES“. - **Animation:** Ein Lichtstrich läuft in Echtzeit vom Klang bis zum Ende und von vorn, jeder Balken leuchtet beim Überstreichen kurz auf. Die grüne Lampe *ECHO* blinkt bei jedem Echo, nicht beim Klang selbst. - **Bedienung:** Hebel *SYNC* (seconds/beats) und *PING-PONG*, Chromknöpfe Time, Feedback, Damping und Wet. Jede Änderung ist ein Undo-Schritt, verkabelte Werte sind gesperrt, bei Wet 0 ist der Rest blass. Time zeigt bei Beats den Notenwert („1/4“, „1/8.“, „1/8T“), in Sekunden ab 2 s „2 s max“. - `delayEchoes` im Kern zählt die hörbaren Echos, Abklingzeit der Stimme und Schirm nutzen dieselbe Formel. `Knob.reformat` schreibt die Zahl neu, wenn Sync umschaltet. Test-Hook `__gm.delay.panel`. ## Selbst entschieden - **Die Animation läuft dauerhaft, solange der Delay im Bild ist** (`DelayFace.tick` liefert `true`, wie im Particles-Tab). Falls das zu viel Last ist: auf Hover oder auf laufenden Sound beschränken. - **Bei Beats rechnet der Schirm mit 120 BPM**, weil das Tempo der Stimme im Graphen nicht bekannt ist. Deshalb steht „AT 120 BPM“ dabei. - **Der Schirm wird aus den Einstellungen gerechnet**, wie bei Reverb und Envelope, er hört nichts ab. - **Presets:** Der Delay bekommt 4 Spalten. *Echo Lead* und *Bell* nutzen ihn. ## Fund Ein Node mit Gerät zeichnet keine Settings-Zeilen mehr. Der Bypass-Check aus #354 hat „Bypass: true“ daraus gelesen. Jetzt prüft er, dass der Node blass ist und nur noch eine Stufe klingt. ## Tests ``` Unit delay-view → 17 Tests grün (neu) e2e 34 (atx) → ALL PASSED, 136 Checks (1 neu) Gate (atx) → CHECK EXIT 0, 288 Dateien, 4416 Tests ``` - Neuer e2e-Check: Größe 680 × 280 zwischen den Ports, 10 Echos mit „ENDS 5 s“, das Licht läuft von selbst weiter, Ping-pong links/rechts, Sync zeigt „1/8“ und „AT 120 BPM“, Time dreht, drei Undos stellen alles wieder her. - Gegenprobe: Kommt das erste Ping-pong-Echo rechts statt links, wird genau der Seiten-Test rot. - Bilder angesehen: Standard, Ping-pong, Beats mit starkem Damping, 83 Echos bei 50 ms, Wet 0, Preset *Echo Lead*. **Nicht geprüft:** - ein verkabelter Delay-Wert im Browser - ein Delay im Instrument-Graphen per Maus, und *Bell* im Bild - CI-Lauf zu 3f7eb03 (nicht abgewartet). Im selben Push steht 3f7eb03, der den wackelnden Speicher-Check aus #378 umbaut.
admin added this to the Development project 2026-10-10 20:05:28 +02:00
admin moved this to Next in Development on 2026-10-10 20:05:46 +02:00
admin moved this to Done in Development on 2026-10-10 20:05:50 +02:00
Author
Owner

Nachtrag: Bitcrusher und Delay sind niedriger, mit 742f240, Wiki c506b7d.

Gerät vorher jetzt Was sich geändert hat
Bitcrusher 680 × 280 680 × 220 Die Knöpfe sitzen 14 höher, die Lücke zur Lampenreihe ist etwa halb so groß. Der Schirm ist 116 statt 176 hoch.
Delay 680 × 280 680 × 224 Die Knopfgruppen beginnen 16 höher, näher an den beiden Hebeln. Der Schirm ist 120 statt 176 hoch.
  • Unten: Die Blende um den Schirm wird jetzt vom unteren Rand aus gerechnet. Sie hat unten denselben Abstand (24) wie seitlich, ihre Unterkante liegt auf einer Höhe mit den Werten unter den Knöpfen.
  • Delay 4 höher als der Bitcrusher: Die Hebel ragen mit ihrer Kugel weiter herunter als die Lampenreihe. Für dieselbe Lücke von 14 braucht der Delay 4 Einheiten mehr.

Tests

Unit crusher-view, delay-view (stein2) → 30 Tests grün
e2e 34 (atx)                           → ALL PASSED, 144 Checks
Gate (atx)                             → CHECK EXIT 0, 293 Dateien, 4495 Tests
  • Bilder angesehen: Bitcrusher in der Standardeinstellung, Delay in der Standardeinstellung und mit Ping-pong. Nichts überlappt.

Nicht geprüft:

  • Bitcrusher bei 1 Bit im niedrigeren Schirm. Die Höhengrenze der Zellen geht mit dem Schirm mit, angesehen habe ich es nicht.
  • der CI-Lauf zu 742f240 (nicht abgewartet)
Nachtrag: Bitcrusher und Delay sind niedriger, mit 742f240, Wiki c506b7d. | Gerät | vorher | jetzt | Was sich geändert hat | |---|---|---|---| | **Bitcrusher** | 680 × 280 | **680 × 220** | Die Knöpfe sitzen 14 höher, die Lücke zur Lampenreihe ist etwa halb so groß. Der Schirm ist 116 statt 176 hoch. | | **Delay** | 680 × 280 | **680 × 224** | Die Knopfgruppen beginnen 16 höher, näher an den beiden Hebeln. Der Schirm ist 120 statt 176 hoch. | - **Unten:** Die Blende um den Schirm wird jetzt vom unteren Rand aus gerechnet. Sie hat unten denselben Abstand (24) wie seitlich, ihre Unterkante liegt auf einer Höhe mit den Werten unter den Knöpfen. - **Delay 4 höher als der Bitcrusher:** Die Hebel ragen mit ihrer Kugel weiter herunter als die Lampenreihe. Für dieselbe Lücke von 14 braucht der Delay 4 Einheiten mehr. ## Tests ``` Unit crusher-view, delay-view (stein2) → 30 Tests grün e2e 34 (atx) → ALL PASSED, 144 Checks Gate (atx) → CHECK EXIT 0, 293 Dateien, 4495 Tests ``` - Bilder angesehen: Bitcrusher in der Standardeinstellung, Delay in der Standardeinstellung und mit Ping-pong. Nichts überlappt. **Nicht geprüft:** - Bitcrusher bei 1 Bit im niedrigeren Schirm. Die Höhengrenze der Zellen geht mit dem Schirm mit, angesehen habe ich es nicht. - der CI-Lauf zu 742f240 (nicht abgewartet)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#393