summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/lv2_plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-08 19:26:08 +0200
committerRobin Gareus <robin@gareus.org>2017-09-08 23:35:00 +0200
commite452ba0fe1f6087c5145625be5a55c2fb60c1f67 (patch)
treedff29b67067885bcef6f7629b793e1bc8baa89ae /libs/ardour/ardour/lv2_plugin.h
parent8bc2bf0155740b6f77bbe917285cd13610bdcb81 (diff)
Add LV2 extension to notify host about midi-bank/pgm state.
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