On Sat, Jun 12, 2010 at 3:14 PM, Gabriel M. Beddingfield <gabrbedd@gmail.com> wrote:


On Sat, 12 Jun 2010, Jeremy wrote:

Can you tell me where I might find some documentation on the external UI
extension?  When I followed that link, I followed the URI in the header file
to

#define LV2_EXTERNAL_UI_URI "http://lv2plug.in/ns/extensions/ui#external"

The header is also the documentation, as is the DSSI-like universal "wrapper" example.


If that is the *internal* UI extension, and seperate from the *external* UI
extension, is there some other wiki page about the external UI extension?

Also, what is the difference?  I understand the concept of an external UI,
which is a seperate window launched by the plugin host which controls the
plugin inputs, but I don't really understand what an internal UI would be.
Wouldn't that just be the generic GUI generated by the host?

The difference:

How does the UI and the plugin communicate?

   Internal: Via LV2 Event messages.
   External: Via any inter-process communication system
             you can figure out... often OSC.

Who does the UI communicate with?

   Internal: The LV2 host application.
   External: The plugin via the IPC mechanism.

Who does the plugin communicate with?

   Internal: The LV2 host application.
   External: Both the LV2 host application and
             anyone connected to it's IPC channel.

Who is responsible for drawing the GUI components?

   Internal: The LV2 host application.
   External: An external process is spawned and
             is responsible for all I/O.

Hope this helps!

-gabriel

Thanks, that helps a lot.

Now that I understand things better, I think I realize that using an internal UI would be more what I want.  If there is already a system in place for communicating basic input controls, I don't see why I should reinvent it simply to use Qt widgets.  However, the fact that I was referred to using external_ui seems to imply that an internal Qt Gui is not possible.  The fact that ui:GtkGUI exists and ui:QtGUI does not also seems to indicate so.

This mailing list post says "If you want to write a Qt GUI, make a URI for a Qt UI type, and
implement it just as the Gtk ones do."
Since I can't find any URI for Qt GUIs, does this mean that it hasn't been made yet?  Or have things changed since that post?
Jeremy