#include <lv2gui.hpp>
Inherits Gtk::HBox, and LV2::MixinTree< A, E1, E2, E3, E4, E5, E6, E7, E8, E9 >.
|
void | port_event (uint32_t port, uint32_t buffer_size, uint32_t format, void const *buffer) |
|
void * | controller () |
|
|
void | write (uint32_t port, uint32_t buffer_size, uint32_t format, void const *buffer) |
|
void | write_control (uint32_t port, float value) |
|
LV2::Feature const *const * | features () |
|
char const * | bundle_path () const |
|
template<class Derived, class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
class LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >
This is the base class for a plugin GUI. You should inherit it and override any public member functions you want to provide implementations for. All subclasses must have a constructor with the signature
MyGUI(char const* plugin_uri);
where plugin_uri
is the URI of the plugin that this GUI will control (not the URI for the GUI itself).
You can extend your GUI classes, for example adding support for GUI extensions, by passing GUI mixin classes as template parameters to GUI (second template parameter and onwards).
◆ bundle_path()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
char const* LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::bundle_path |
( |
| ) |
const |
|
inlineprotected |
Get the filesystem path to the bundle that contains this GUI.
◆ controller()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
void* LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::controller |
( |
| ) |
|
|
inline |
Get the controller - a handle on the plugin instance this GUI is controlling. You only need it if you want to handle extensions yourself.
◆ features()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
LV2::Feature const* const* LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::features |
( |
| ) |
|
|
inlineprotected |
Get the feature array that was passed by the host. This may only be valid while the constructor is running.
◆ port_event()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
void LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::port_event |
( |
uint32_t |
port, |
|
|
uint32_t |
buffer_size, |
|
|
uint32_t |
format, |
|
|
void const * |
buffer |
|
) |
| |
|
inline |
Override this if you want your GUI to do something when a control port value changes in the plugin instance.
◆ register_class()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
static int LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::register_class |
( |
char const * |
uri | ) |
|
|
inlinestatic |
Use this template function to register a class as a LV2 GUI.
◆ write()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
void LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::write |
( |
uint32_t |
port, |
|
|
uint32_t |
buffer_size, |
|
|
uint32_t |
format, |
|
|
void const * |
buffer |
|
) |
| |
|
inlineprotected |
Send a chunk of data to a plugin port. The format of the chunk is determined by the port type and the transfer mechanisms used, you should probably use a wrapper function instead such as write_control().
Referenced by LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::write_control().
◆ write_control()
template<class Derived , class Ext1 = End, class Ext2 = End, class Ext3 = End, class Ext4 = End, class Ext5 = End, class Ext6 = End, class Ext7 = End, class Ext8 = End, class Ext9 = End>
void LV2::GUI< Derived, Ext1, Ext2, Ext3, Ext4, Ext5, Ext6, Ext7, Ext8, Ext9 >::write_control |
( |
uint32_t |
port, |
|
|
float |
value |
|
) |
| |
|
inlineprotected |
The documentation for this class was generated from the following file: