This thread is quite relevant to me because I'm trying to build a modular
synth gui at the moment. My main motivation is that I want a JACK patchbay
that has this type of GUI, but ultimately I would also like to add the
ability to wire LADSPA plugins directly into the network (the difference
between this and your average modular synth app is that the guis for these
plugins will be drawn on top of the plugins' boxes in the network, rather
than in their own windows). Also, I would release the GUI as a gtkmm widget
so that it could be used in other applications.
Anyway, the point of mentioning this here is that what I had originally
envisaged was curved wires drawn over the top of the modules, and each wire
having a control point which can be dragged around to change the curve it
follows (right-clicking would bring up a menu so that the wire can be
deleted, changed colour, etc). I was also toying with the idea of making
ports dockable so that if you drag a module next to another one so the ports
line up they will automatically be connected, making things like chaining
stereo effects much quicker.
However, drawing wires over the top of widgets turns out to be far from easy
in gtkmm, and if people actually prefer the
straight-lines-not-crossing-modules approach it would probably be better to
do it like that, although I'll have to think hard about the routing
algorithm. I'm quite interested in making this GUI as intuitive and
efficient to use as possible, so I'd be really interested to hear people's
thoughts on how such a GUI should look and behave, and what features you'd
like to see.
sorry for the long post,
Nathaniel.
On Wednesday 22 January 2003 2:42 pm, Mike Rawes wrote:
--- Steve Harris <S.W.Harris(a)ecs.soton.ac.uk>
wrote: > On Wed, Jan 22,
2003 at
What would be more helpful is a good routing
algorithm like in one of the
screenshots off the page I posted. The stright lines in pd can make
simple patches real rats nests.
ArtsBuilder (comes with the kde soundserver, aRts) does it quite nicely.
All right angles, and no wires crossing over other UI elements.
Mike