On Sat, 17 Jan 2004 10:52:18 +0000, Steve Harris wrote
On Fri, Jan 16, 2004 at 10:49:48 +0100, Marcus
Andersson wrote:
Hi,
IMHO, think less about GTK and more about designing a language that can
be used to describe the GUI of a modular synthesizer. Why not for
example use XML or LISP or some other notation not being C. Then use
C+GTK to implement the new language.
Features to consider for the language:
* A widget set particularly designed for synthesizers.
* A way to construct modules from widgets.
* Cable and port types/coloring.
* Canvas grid that modules snap to.
* How user events are sent to the backend.
* How backend events update the GUI.
* Reusability of widget declarations.
Yes, yes, yes. Personally I would be very temped to do the rendering
with OpenGL, you have to do a bit more work yourself, but if you
start with something like GTK you will do a lot of overrinding and
defining your own behaviours anyway.
A system like this for describing plugin GUIs using XML, PNGs and OpenGL
(but extensible in C + OpenGL) is on my list of future projects, but
wether it will ever get to the top is another matter. The general
lack of interest in linux UIs, and lack of skilled graphic designers
with time to spare is a bit of a problem.
I don't know it, and it's not opengl, but would something based on XUL work?
They've probably done most of the hard work already.
One potential problem with OpenGL is that people
without working hardware
acceleration will find it sluggish, I havent experimented to find
out how bad it will be. For hardware accelerated systems the
reduction in CPU load and memory bandwidth is impressive, and
significant for DSP heavy systems. It has other fringe benfits too,
like cheap but nice looking UI zooming and thumbnailing and
platform independence.
I'm currently working on an opengl user interface for a game I'm writing. Once
you get a scenegraph set up (so child widgets inherit parent transforms etc)
it's not too hard to get something working.
Large applications like houdini use opengl based interfaces to great effect:
http://www.linuxjournal.com/modules/NS-lj-issues/issue66/3522f3.gif
dave
.................................
www.pawfal.org/nebogeo