Interesting. Any pointers on where/when to help me try and track it down?
@clicksonnil can you help?
experimental Clang UGen code, precompiled for OS X 10.6, SC 3.5 only (though the source should be portable); a draft of putting an LLVM jit compiler inside a SuperCollider UGen. Uses Clang in the background to create LLVM intermediate code for compilation.
I have a tiny thing working using Dear ImGui and written in Haskell, using very basic DSP code. One can feel what you tried to describe, but to make it a full system would be a huge amount of work rs))))))
But itās true, those new immediate GUIs are really what you described. (Those GUIs are made for game debug/dev, not for making regular apps, maybe thatās why it fits audio/live coding, even this sort of smalltalk playfulness).
Interesting, those floating widgets on a ādeskā makes me think of the Bespoke Synth graphical interface. But what is the ādeskā exactly in your story, is that provided by egui by default (for native /desktop applications)? Are there similar GUI libraries for C/C++ ?
Dear ImGui is C++, with bindings to some other languages. I donā t know about egui, I think thatās Rust only. egui is prettier, dear imgui more used behind the scenes by game devs, but they are equivalent in features I think
check the galleries and demos https://www.youtube.com/watch?v=Du--cH01ZWI
Immediate mode GUIs arenāt really a good fit for stuff like IDEs, or more complicated layouts.
Theyāre pretty good for throw away User Interfaces, and I think would probably be a good way to replace the existing GUI toolkit in SuperColliders.
egui is prettier, dear imgui more used behind the scenes by game devs, but they are equivalent in features I think
Iām pretty sure you can make imgui prettier. Itās just the defaults for EGui are a little better (neither are awesome in my opinion). Similar libraries are Nuklear and RayGui (both of which are super simple C libraries - and great for integrating into other languages). Nuklear is I believe a little more advanced that RayGui, though I havenāt used it.
Sure, not IDE, of course. But, for example, in my case on Linux, vscode interrupts the sound. Itās pretty weird. I would not use it in a performance.
This is a positive point to imgui, itās well supported by the industry and well tested: Funding Ā· ocornut/imgui Wiki Ā· GitHub
ImGui is fine if someone has developed good bindings for your environment. Itās kind of a pain to use if they havenāt (due to being a C++ library, ABI, etc).
Obviously if youāre using C++ then itās great - but as someone who loathes the language Iād prefer not to
So far so good in Haskell, but Iām sure it would fit c++ better⦠of courseā¦
Ia it good or bed?
I see an interesting interaction with still a text-based programming, but nothing is forbidden in terms of annotation, GUI, connected graphs, etc All in the same " desk" or workspace.
Good. A more visual max msp?
Itās nice when youāre not tight to a language indeed I think.
Another positive aspect of Imgui is that itās not only free software, but it doesnāt depend on anything. There is no drama about what will happen with qt, for example. And many people just write their own widgets, which others can also use.
Dear Imgui and egui both have text/code editors as widgets (even with syntax colorizing) , but, of course, itās not comparable to popular IDEs. They also have graph editors, which would be idiomatic to node connections, for example.
This falls also in that domain more or less:
https://git.open-music-kontrollers.ch/~hp/synthpod
I donāt see myself programming with anything similar to PD. But the integration with graphics is something I would really much want. I think something like how APL plots their arrays, or jupyter notebooks plot graphs, or even musical scores if you import abjad. Something that doesnāt require one to waste time coding a custom GUI, but something that is part of the workflow.
The server node tree visualization in SC, for example, is very raw. It could provide more, and incorporate annotation by default, for example.
Even for debugging and optimization of short code blocks, it would be useful. For example:
Those Nuklear / egui widgets could as well be small TUI applications in a tmux session maybe. Functioning as a from SC decoupled GUI which communicates with sclang using OSC.
Yes, I thought about creating a small application with its GUI. What did you think, a multi-client setup or just OSC communication with sclang?
multi-client setups need a bit more care, because the state of the server, and possibly other things, needs to be accessible both ways always.
(sorry, maybe this conversation is off-topic and should be moved already )
One client (sclang), one server (scsynth), multiple GUI widgets talking to sclang.
Thatās quite possible, and I believe there wonāt be any relevant penalty regarding latency.

ImGui is fine if someone has developed good bindings for your environment. Itās kind of a pain to use if they havenāt (due to being a C++ library, ABI, etc).
Obviously if youāre using C++ then itās great - but as someone who loathes the language Iād prefer not to
First tests with classical digital filters and Dear ImGui interface, all pure haskell, works fine and dandy.
The sound doesnāt use supercollider, because itās simple enough. But integration with supernova will have to happen of course.
Eventually, that will surpass SuperCollider 4 (thatās actually SC5) with the power of lambda calculus and God, of better yet, Alonzo Church!!