[gmpi] Re: GUI Look & Feel (OT)

  • From: Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 16 Apr 2003 14:09:51 -0400

[ ***** WARNING: Massively Off Topic content ***** 
 
  i am replying to this on-list only i believe that the original
  message contains incorrect information.

]

>there is definitly a common demonitator for a user interface. There is
>always an equivalent of a window handle on each platform that we have worked
>on:
>
>1) Windows - HWND
>2) Mac - WindowRef
>3) XWindows - Widget
>
>The host provides this and the plugin can do with it whatever it wants. It
>just has to install its event handlers for that window. Based on that you
>can develop UI kits that allows easy porting between platforms.

with the utmost respect (because i know you guys have your stuff
running on all 3 platforms), this is just wrong. on 2 counts.

a "widget" is not part of the Xlib specification. its a term developed
by various toolkits layered on top of Xlib, starting with Xaw (the
athena widgets, the original toolkit for XWindow). what the term
"widget" means varies from toolkit to toolkit. in particular, and this
is critical, in some toolkits, a widget may or may not have its own
underlying window (ie. it may update itself on the screen by drawing
on the window of its parent, or its parent's parent, etc.). that is,
having a widget doesn't mean you have anything on which its possible
to draw graphics.

the equivalent of an HWND/WindowRef in XWindow is an XWindow. its not
a particularly useful basis for implementing stuff that is going to
integrate with host applications, because host applications use higher
level toolkits than Xlib, with good reason: it would be a nightmare to
write a host application in Xlib or even in something like
vstgui. most of the toolkits don't provide very good interfaces for
adding "foreign" windows to the event loop handler. it can be done,
its just not pretty and its not something most people would want to
work with. they might if its the only choice they have.

to explain it a different way, my host is written using GTK+. its not
going to work well with a plugin GUI written using anything except
GTK+, even though the underlying abstraction provided by Xlib is
common to both. this is true for all existing XWindow toolkits,
including but not limited to Xaw, Motif, GTK+ and Qt. 

you could, of course, have an implementation of vstgui using one of
these toolkits (or even plain Xlib). thats great for the plugins that
use vstgui, and for the hosts that use the chosen toolkit. for
everyone else, its not going to work (well).

you windows/macos folk, or you folk who feel its OK to just lay down
the law and say "use our toolkit", you don't know how easy you have it :)

--p



----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: