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. 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. - Steve
