16#include "lv2/instance-access/instance-access.h"
21 const LilvNode *node, LilvInstance *pInstance, wxWindow *pParent
23 , mpHandler{ pHandler }
24 , mOk{ InitializeFeatures(node, pInstance, pParent) }
29 LilvInstance *pInstance, wxWindow *pParent)
33 ? lilv_instance_get_descriptor(pInstance)->extension_data
40 pInstance ? lilv_instance_get_handle(pInstance) :
nullptr);
41 AddFeature(LV2_UI__parent, pParent ? pParent->GetHandle() :
nullptr);
46 int width,
int height)
57 SuilController controller,
const char *port_symbol)
63 uint32_t port_index, uint32_t buffer_size, uint32_t protocol,
66 return static_cast<UIHandler *
>(controller)
75 nullptr, lilv_plugin_get_uri(&plug)
constexpr WithBase_t WithBase
static LV2InstanceFeaturesList::ValidatePlugin::Scope scope
Extends one (immutable) feature list (whose lifetime contains this one's)
void AddFeature(const char *uri, const void *data)
typename GlobalVariable< ValidatePlugin, const std::function< std::remove_pointer_t< decltype(DefaultFunction)> >, Default, Options... >::Scope Scope
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