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
