(^ Mockup design, not actual product)
This was intended to be a MIDI-triggered multiband-sidechain plugin, where each band can have a different curve, attack/release times.
However, the nih-plug
framework is not mature enough and I've run into a lot of issues:
- Text input does not work on Windows (robbert-vdh/nih-plug#154, RustAudio/baseview#192)
- the
"windows_keyboard_workaround"
workaround innih_plug_egui
doesn't fix the issue
- the
- Unable to hide/lock mouse cursor when dragging a knob (robbert-vdh/nih-plug#179)
- CLAP plugin randomly crashes when changing latency (robbert-vdh/nih-plug#177)
- Opening/Closing GUI causes a memory leak and eventually causes out-of-memory (robbert-vdh/nih-plug#173)
(^ Very quick-and-dirty UI for development)
The logic and features are all done, all that's left is the UI.
Recreating the mockup UI is practically impossible in egui, unless I decide to hard-code the locations of each element (But since I'm using a resizable window, hard-coding isn't feasible). The layout system is too inflexible and limited for dynamic layouts like in the mockup.
I could use egui_flex, but it causes a weird flashing effect when resizing the window so I'm still undecided on this.
In the future I might decide to rewrite the entire GUI using Iced instead. TBC.