summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/lv2_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/lv2_plugin.h')
-rw-r--r--libs/ardour/ardour/lv2_plugin.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h
index b17de51928..d4b6ca819f 100644
--- a/libs/ardour/ardour/lv2_plugin.h
+++ b/libs/ardour/ardour/lv2_plugin.h
@@ -277,9 +277,23 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
Glib::Threads::Mutex _work_mutex;
#ifdef LV2_EXTENDED
+ static void queue_draw (LV2_Inline_Display_Handle);
+ static void midnam_update (LV2_Midnam_Handle);
+ static void bankpatch_notify (LV2_BankPatch_Handle, uint8_t, uint32_t, uint8_t);
+
const LV2_Inline_Display_Interface* _display_interface;
bool _inline_display_in_gui;
- const LV2_Midnam_Interface* _midname_interface;
+ const LV2_Midnam_Interface* _midname_interface;
+
+ uint32_t _bankpatch[16];
+ bool seen_bankpatch;
+ bool knows_bank_patch () { return seen_bankpatch; }
+ uint32_t bank_patch (uint8_t chn) {
+ assert (chn < 16);
+ if (chn > 15) return UINT32_MAX;
+ return _bankpatch[chn];
+ }
+
#endif
typedef struct {
@@ -297,6 +311,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
#ifdef LV2_EXTENDED
LV2_Feature _queue_draw_feature;
LV2_Feature _midnam_feature;
+ LV2_Feature _bankpatch_feature;
#endif
// Options passed to plugin