Hello everyone
I wanted to start this topic to perhaps open up a discussion about NdefGui and the other JITLib gui classes and their future.
I’ve opened a number of issues regarding especially the NdefGui class and I think some of the discussion is of a more general character and should perhaps happen here.
First of all: I love the JITLib gui’s, especially the NdefGui.
I use it all the time and I love it. I think it is a brilliant feature for newcomers to SC as well as experienced users who want to tweak parameters and mess around. That’s why I think it’s really important to have a look at how these classes may be improved because they are very important in my opinion but unfortunately also are in need of a modernization.
Below I will leave a list of relevant issues. But to sum up: The main problem for me is that the guis are very difficult to see and use on HiDPI screens which is becoming more and more the standard it seems.
As well as that, they aren’t “responsive” - what I mean by this is that they don’t resize/stretch properly when you pull the corners of the window. There’s also a number of problems with overflow detection making it difficult to use for Ndef’s with many parameters and text labels truncating the text to make the parameter even harder to read. A small additional thing is the labels of the buttons - some of which are full (like “pause”) and others abbreviations (like “CLR”), IMO it should be one or the other to make it more consistent.
Instead of patching all of these issues individually would it perhaps be time to have a more general look at these guis and revamp them?
I would suggest using LineLayout classes to organize the elements of the GUI and make the parameters’ sliders and buttons into “vanilla” sliders and buttons and using a more neutral color scheme that’s easier on the eyes.
And if we were to rewrite/redesign these gui’s are there any features that they don’t currently have that would be worth having? Or features that are currently there that perhaps could be removed?
My dream is for this discussion to lead to one or more pull requests to fix the outstanding issues and improve everything.
What do you all think ?
Relevant issues
These are some of the relevant issues, let me know if I’m missing anything
- NdefGui (EnvirGui) ignores local specs from NamedControls · Issue #5515 · supercollider/supercollider · GitHub
- NdefParamGui not detecting overflow (and thus not showing scrollbar in Ndef's gui) · Issue #5517 · supercollider/supercollider · GitHub
- NdefGui not resizing vertically · Issue #4956 · supercollider/supercollider · GitHub
- NdefGui text size problems: Too small + gets truncated on long names · Issue #4955 · supercollider/supercollider · GitHub
- [FR] Improve Spec.guess' guessing capabilities and remove hardcoded defaults · Issue #5516 · supercollider/supercollider · GitHub
- NdefGui is in need of some love · Issue #4952 · supercollider/supercollider · GitHub
- NdefGui has strange default specs · Issue #4957 · supercollider/supercollider · GitHub