Parametric EQ: Mini-Kurve im Node #375

Closed
opened 2026-10-09 14:42:27 +02:00 by meleki · 2 comments
Owner

Aus #156, Durchgang 5. Dein Wunsch aus #367 „für die Zukunft nach dieser Umsetzung“.

Herkunft

  • #367: „grafische darstellung im node selbst (eine miniversion vom eq editor)“
  • Abschluss 3870: „Später, wie im Issue vorgesehen: Spektrum und Mini-Kurve im Node.“ Das Spektrum ist #374.

Stand

  • NodeView (src/editor/graph/NodeView.ts) zeichnet heute nur Kasten, Kopf und Port-Zeilen. Kein Node hat einen eigenen Inhalt.
  • Die Kurve des EQ ist schon eine reine Funktion in src/editor/soundfx/eqView.ts, samt der Flächen ober- und unterhalb der 0-dB-Linie (fillShapes, seit dem Fix in #367). Der Node kann sie mitbenutzen.

Vorschlag

  • Unter den Zeilen des Parametric EQ ein Feld in Breite des Nodes und etwa 60 px Höhe. Darin stehen die Summenkurve und ihre Fläche wie im Tab, mit der 0-dB-Linie, ohne Achsenbeschriftung und ohne Griffe.
  • Es frischt sich bei jeder Änderung an den Bändern auf, auch bei Undo und live beim Ziehen im EQ-Tab.
  • Allgemein gebaut: ein optionaler Eintrag im Node-Typ, der Höhe und Zeichnen liefert. Damit können später andere Nodes dasselbe nutzen, etwa Envelope oder Filter.

Offen (mit Vorschlag)

  1. Nur der EQ, oder gleich Filter und Envelope? Vorschlag: Die Schnittstelle wird allgemein gebaut, benutzt wird sie zuerst nur vom EQ.
  2. Ohne Band: ein leeres Feld mit nur der 0-dB-Linie, oder gar kein Feld? Vorschlag: das Feld bleibt, damit der Node beim ersten Band nicht springt.
  3. Klick in die Mini-Kurve: Vorschlag: nichts Eigenes. Ein Doppelklick öffnet wie bisher den EQ-Tab.

Fertig, wenn

  • Unit-Test: Höhe und Kurvenpunkte des Felds folgen den Bändern (Peak +6 dB bei 1 kHz → höchster Punkt an der passenden Stelle). Dazu eine Gegenprobe.
  • Screenshot eines Graphen mit EQ-Node, angesehen.
Aus #156, Durchgang 5. Dein Wunsch aus #367 „für die Zukunft nach dieser Umsetzung“. ## Herkunft - #367: „grafische darstellung im node selbst (eine miniversion vom eq editor)“ - Abschluss 3870: „Später, wie im Issue vorgesehen: Spektrum und Mini-Kurve im Node.“ Das Spektrum ist #374. ## Stand - `NodeView` (`src/editor/graph/NodeView.ts`) zeichnet heute nur Kasten, Kopf und Port-Zeilen. Kein Node hat einen eigenen Inhalt. - Die Kurve des EQ ist schon eine reine Funktion in `src/editor/soundfx/eqView.ts`, samt der Flächen ober- und unterhalb der 0-dB-Linie (`fillShapes`, seit dem Fix in #367). Der Node kann sie mitbenutzen. ## Vorschlag - Unter den Zeilen des *Parametric EQ* ein Feld in Breite des Nodes und etwa 60 px Höhe. Darin stehen die Summenkurve und ihre Fläche wie im Tab, mit der 0-dB-Linie, ohne Achsenbeschriftung und ohne Griffe. - Es frischt sich bei jeder Änderung an den Bändern auf, auch bei Undo und live beim Ziehen im EQ-Tab. - **Allgemein gebaut:** ein optionaler Eintrag im Node-Typ, der Höhe und Zeichnen liefert. Damit können später andere Nodes dasselbe nutzen, etwa Envelope oder Filter. ## Offen (mit Vorschlag) 1. **Nur der EQ, oder gleich Filter und Envelope?** Vorschlag: Die Schnittstelle wird allgemein gebaut, benutzt wird sie zuerst **nur** vom EQ. 2. **Ohne Band:** ein leeres Feld mit nur der 0-dB-Linie, oder gar kein Feld? Vorschlag: **das Feld bleibt**, damit der Node beim ersten Band nicht springt. 3. **Klick in die Mini-Kurve:** Vorschlag: **nichts Eigenes**. Ein Doppelklick öffnet wie bisher den EQ-Tab. ## Fertig, wenn - Unit-Test: Höhe und Kurvenpunkte des Felds folgen den Bändern (Peak +6 dB bei 1 kHz → höchster Punkt an der passenden Stelle). Dazu eine Gegenprobe. - Screenshot eines Graphen mit EQ-Node, angesehen.
meleki added the new label 2026-10-09 14:42:27 +02:00

vorschläge passen

vorschläge passen
admin removed the new label 2026-10-09 14:45:09 +02:00
admin added this to the Development project 2026-10-09 14:45:11 +02:00
admin moved this to Next in Development on 2026-10-09 14:45:13 +02:00
Author
Owner

Umgesetzt in 6873776

Der Parametric EQ zeigt seine Kurve jetzt klein im Node.

  • Das Feld steht unter den Zeilen des Nodes, so breit wie der Node und 60 px hoch. Darin sind die 0-dB-Linie, die Fläche bis zur Kurve und die Summenkurve, auf denselben Achsen wie im Tab: 20 Hz bis 20 kHz, -24 bis +24 dB. Es gibt keine Beschriftung und keine Griffe.
  • Allgemein gebaut (Vorschlag 1): NodeDef.picture liefert eine Höhe und Formen als Punktlisten (Hilfslinie, Fläche, Linie), ohne Pixi. Benutzt wird es bisher nur vom EQ. NodeView zeichnet das Feld und zeichnet es nur neu, wenn sich Größe oder Einstellungen ändern.
  • Ohne Band bleibt das Feld stehen, flach auf der 0-dB-Linie (Vorschlag 2). Der Node springt beim ersten Band also nicht.
  • Ein Doppelklick öffnet wie bisher den EQ-Tab, auch auf dem Feld (Vorschlag 3).
  • Live: Beim Ziehen im EQ-Tab und bei Undo zieht die Kurve im Node mit.
  • Die Achsen der Kurve (frequencyToX, dbToY …), eqCurvePoints und fillShapes liegen jetzt in core/soundfx/parametricEq.ts. Tab und Node rechnen die Summe mit derselben Funktion.

Tests

  • Unit, 3 neu:
    • Ein Peak mit +6 dB bei 1 kHz hat den höchsten Punkt an der Stelle von 1 kHz und auf der Höhe von +6 dB.
    • Ohne Band ist das Feld 60 px hoch und die Kurve flach auf 0 dB.
    • Ein tiefer Schnitt bleibt im Feld.
  • Gegenprobe: Kurve ohne ihre Bänder gezeichnet → 2 der 3 Tests rot.
  • Screenshot angesehen (34-eq-node aus e2e 34): Der Node zeigt die Delle des Bands bei 4 kHz mit -6 dB.
  • Gate auf melektaus-atx: 275 Dateien, 4247 Tests.

Nicht geprüft

  • der Node im Instrument-Tab (derselbe NodeView)
  • die Last bei vielen EQ-Nodes in einem Graphen
## Umgesetzt in `6873776` Der *Parametric EQ* zeigt seine Kurve jetzt klein im Node. - **Das Feld** steht unter den Zeilen des Nodes, so breit wie der Node und 60 px hoch. Darin sind die 0-dB-Linie, die Fläche bis zur Kurve und die Summenkurve, auf denselben Achsen wie im Tab: 20 Hz bis 20 kHz, -24 bis +24 dB. Es gibt keine Beschriftung und keine Griffe. - **Allgemein gebaut** (Vorschlag 1): `NodeDef.picture` liefert eine Höhe und Formen als Punktlisten (Hilfslinie, Fläche, Linie), ohne Pixi. Benutzt wird es bisher nur vom EQ. `NodeView` zeichnet das Feld und zeichnet es nur neu, wenn sich Größe oder Einstellungen ändern. - **Ohne Band** bleibt das Feld stehen, flach auf der 0-dB-Linie (Vorschlag 2). Der Node springt beim ersten Band also nicht. - **Ein Doppelklick** öffnet wie bisher den EQ-Tab, auch auf dem Feld (Vorschlag 3). - **Live:** Beim Ziehen im EQ-Tab und bei Undo zieht die Kurve im Node mit. - Die Achsen der Kurve (`frequencyToX`, `dbToY` …), `eqCurvePoints` und `fillShapes` liegen jetzt in `core/soundfx/parametricEq.ts`. Tab und Node rechnen die Summe mit derselben Funktion. ### Tests - **Unit, 3 neu:** - Ein Peak mit +6 dB bei 1 kHz hat den höchsten Punkt an der Stelle von 1 kHz und auf der Höhe von +6 dB. - Ohne Band ist das Feld 60 px hoch und die Kurve flach auf 0 dB. - Ein tiefer Schnitt bleibt im Feld. - **Gegenprobe:** Kurve ohne ihre Bänder gezeichnet → 2 der 3 Tests rot. - **Screenshot angesehen** (`34-eq-node` aus e2e 34): Der Node zeigt die Delle des Bands bei 4 kHz mit -6 dB. - Gate auf `melektaus-atx`: 275 Dateien, 4247 Tests. ### Nicht geprüft - der Node im Instrument-Tab (derselbe `NodeView`) - die Last bei vielen EQ-Nodes in einem Graphen
admin moved this to Done in Development on 2026-10-09 16:14:41 +02:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: meleki/feuerwerk#375