16#include "lv2/instance-access/instance-access.h"
20 const LilvNode *node, LilvInstance *pInstance, wxWindow *pParent
22 , mpHandler{ pHandler }
23 , mOk{ InitializeFeatures(node, pInstance, pParent) }
28 LilvInstance *pInstance, wxWindow *pParent)
32 ? lilv_instance_get_descriptor(pInstance)->extension_data
39 pInstance ? lilv_instance_get_handle(pInstance) :
nullptr);
40 AddFeature(LV2_UI__parent, pParent ? pParent->GetHandle() :
nullptr);
45 int width,
int height)
56 SuilController controller,
const char *port_symbol)
62 uint32_t port_index, uint32_t buffer_size, uint32_t protocol,
65 return static_cast<UIHandler *
>(controller)
constexpr WithBase_t WithBase
Extends one (immutable) feature list (whose lifetime contains this one's)
void AddFeature(const char *uri, const void *data)
bool ValidateFeatures(const LilvNode *subject)
#define LV2_EXTERNAL_UI_DEPRECATED_URI
#define LV2_EXTERNAL_UI__Host
Abstraction of host services that a plug-ins native UI needs.
static uint32_t suil_port_index(SuilController controller, const char *port_symbol)
bool InitializeFeatures(const LilvNode *node, LilvInstance *pInstance, wxWindow *pParent)
const LV2UI_Resize mUIResizeFeature
static int ui_resize(LV2UI_Feature_Handle handle, int width, int height)
static void suil_port_write(SuilController controller, uint32_t port_index, uint32_t buffer_size, uint32_t protocol, const void *buffer)
const LV2_External_UI_Host mExternalUIHost
static void ui_closed(LV2UI_Controller controller)
LV2UIFeaturesList(const LV2WrapperFeaturesList &baseFeatures, UIHandler *pHandler, const LilvNode *node, LilvInstance *pInstance=nullptr, wxWindow *pParent=nullptr)
LV2_Extension_Data_Feature mExtensionDataFeature