26 #ifndef LVTK_LV2_INSTANCE_ACCESS_HPP
27 #define LVTK_LV2_INSTANCE_ACCESS_HPP
29 #include <lv2/lv2plug.in/ns/ext/instance-access/instance-access.h>
31 #include <lvtk/private/types.hpp>
41 template<
bool Required = true>
44 template<
class Derived>
45 struct I : Extension<Required>
49 p_plugin_instance(NULL)
59 hmap[LV2_INSTANCE_ACCESS_URI] =
65 handle_feature(LV2UI_Handle instance,
FeatureData data)
67 Derived* derived =
reinterpret_cast<Derived*
>(instance);
70 mixin->p_plugin_instance =
71 reinterpret_cast<LV2_Handle
>(data);
73 mixin->m_ok = (mixin->p_plugin_instance != NULL);
84 std::clog <<
" [InstanceAccess] Validation "
85 << (this->m_ok ?
"succeeded" :
"failed")
98 return p_plugin_instance;
102 LV2_Handle p_plugin_instance;