Classes | |
struct | LV2::NoUserResize< Required > |
struct | LV2::FixedSize< Required > |
struct | LV2::Presets< Required > |
struct | LV2::WriteMIDI< Required > |
struct | LV2::URIMap< Required > |
These classes implement extra functionality that you may want to have in your GUI class, just like the @ref pluginmixins "plugin mixins" do for plugin classes. Some of them are template classes with a boolean @c Required parameter - if this is true the GUI will fail to instantiate unless the host supports the extension implemented by that mixin. For example, if you wanted a GUI that wrote a MIDI Note On event to port 3 in the plugin whenever the user clicked a button, you could do it like this:
The function write_midi()
is implemented in LV2::WriteMIDI and thus available in MyGUI
. LV2::WriteMIDI requires that LV2::URIMap is also used (because of the way event types work in LV2) - if you don't add LV2::URIMap as well you will get a compilation error.