NdefGui
is another option but it does require a bit of “retooling” if you only use bare synths, not proxies, e.g.
(d = SynthDef(\beep, {
var out = \out.ir(0), amp = \amp.kr(0.5), freq = \freq.kr(440);
Out.ar(out, amp * SinOsc.ar(freq).dup);
}).add;)
n = NodeProxy.audio(s, 2).source_(d);
// also .source_(\beep) works too
n.gui;
There’s also ProxyMixer
based on that, but it’s a bit more “heavywheight”, although it does have some advantages over NdefGui, chiefly ProxyMeter
overlay.
Instr
from cruciallib also comes with a gui (InstrGui
), but that code base is less well maintained.
Note that there are some “philosophical differences” between VarGui
and the Jitlib guis (NdefGui etc.), chiefly that the former wants to be a controller and the latter are mostly geared as views. Bascially, when you start a VarGui it will immediately “change stuff” in the object it controls, to make it match its VarGui-control settings, whereas the jitlib guis generally don’t do that, but rather update themselves on startup with the underlying object’s state/parameters. See this discussion.