Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
Suil makes it possible to load a UI of any toolkit in a host using any other toolkit (assuming the toolkits are both supported by Suil). Hosts do not need to build against or link to foreign toolkit libraries to use UIs written with that toolkit (Suil performs its magic at runtime using dynamically loaded modules). The API is designed such that hosts do not need to explicitly support particular toolkits whatsoever – if Suil supports a particular toolkit, then all hosts that use Suil will support that toolkit “for free”.
Suil currently supports Gtk 2 and Qt 4, i.e. with Suil a Gtk program can embed a Qt plugin UI without depending on Qt, and a Qt program can embed a Gtk plugin UI without depending on Gtk. I (David Robillard) would be happy to work with plugin authors to add support for new toolkits, please contact me if you’re interested in writing a plugin UI using a toolkit that is not yet supported in the LV2 ecosystem.
Changes in v0.6.12:
- Bugfix for key events for X11 in Gtk without using a troublesome event filter
- Bugfix for crash when a broken UI returns a NULL descriptor
- Bugfix compilation on BSD
Changes in v0.6.10:
- Bugfix for crash in x11_in_gtk2 when event_filter fires before widget is realized
- Use libgtk-x11-2.0.so.0 (with .0 suffix) by default which is available on systems without the dev package
- Update to waf 1.7.8 and autowaf r90 (install docs to versioneddirectory)
Changes in v0.6.6:
- BugFix for embedding Gtk in Qt as a child widget (support reparenting)
- Support for wrapping native Windows UIs in Gtk2
- Gracefully handle UIs with no port_event method
- Replace host provided features that match Suil implemented features
- Disable timestamps in HTML documentation for reproducible build
Changes in v0.6.0:
- Use path variables in pkgconfig files
- Add support for embedding X11 UIs (ui:X11UI)
- Support new LV2 UI features automatically if provided by host