From 1a661a61925b9ff59947be28ad4be95527079ea1 Mon Sep 17 00:00:00 2001
From: David Robillard
- @prefix ui: <http://lv2plug.in/ns/ext/ui#> .
- <http://my.pluginui> a ui-gtk:GtkUI ;
- lv2:appliesTo <http://my.plugin> ;
- ui:binary <myui.so> .
+ @prefix ui: <http://lv2plug.in/ns/ext/ui#> .
+ @prefix ui-gtk: <http://lv2plug.in/ns/ext/ui-gtk#> .
+ <http://example.org/my-ui> a ui-gtk:GtkUI ;
+ lv2:appliesTo <http://example.org/my-plugin> ;
+ ui:binary <my-ui.so> .
-where <http://my.plugin> is the URI of the plugin,
-<http://my.pluginui> is
-the URI of the plugin UI and <myui.so> is the relative URI
-to the shared
-object file. While it is possible to have the plugin UI and the plugin in
-the same shared object file it is probably a good idea to keep them
-separate so that hosts that don't want UIs don't have to load the UI code.
-
http://example.org/my-plugin
is the URI of the plugin,
+http://example.org/my-ui
is the URI of the plugin UI and
+my-ui.so
is the relative URI to the shared object file. While it
+is possible to have the plugin UI and the plugin in the same shared object file
+it is probably a good idea to keep them separate so that hosts that don't want
+UIs don't have to load the UI code.
A UI MUST specify its class in the RDF data and the class MUST be a proper -subclass of ui:UI, in this case ui-gtk:GtkUI. The class defines what type the UI -is, e.g. what graphics toolkit it uses. There are no UI classes defined in -this extension, those are specified separately (and anyone can define their -own). -
+subclass of ui:UI, in this case ui-gtk:GtkUI. The class defines what type the +UI is, e.g. what graphics toolkit it uses. There are no UI classes defined in +this extension, those are specified separately (and anyone can define their +own).It's entirely possible to have multiple UIs for the same plugin, or to have -the UI for a plugin in a different bundle from the actual plugin - this -way people other than the plugin author can write plugin UIs independently -without editing the original plugin bundle. It is also possible to have one -UI that works with several different plugins. -
+the UI for a plugin in a different bundle from the actual plugin - this way +people other than the plugin author can write plugin UIs independently without +editing the original plugin bundle. It is also possible to have one UI that +works with several different plugins.UIs should also be written in such a way that the host may load several instances of an UI, or different UIs, and use them with the same plugin -instance. -
+instance.Note that the process that loads the shared object file containing the UI -code and the process that loads the shared object file containing the -actual plugin implementation do not have to be the same. There are many -valid reasons for having the plugin and the UI in different processes, or -even on different machines. This means that you can not use singletons -and global variables and expect them to refer to the same objects in the -UI and the actual plugin. The function callback interface defined in the -header lv2_ui.h is all you can expect to work. -
+code and the process that loads the shared object file containing the actual +plugin implementation do not have to be the same. There are many valid reasons +for having the plugin and the UI in different processes, or even on different +machines. This means that you can not use singletons and global +variables and expect them to refer to the same objects in the UI and the actual +plugin. The function callback interface defined in the header ui.h is all you +can expect to work. """. ############## -- cgit v1.2.1