diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-08 19:26:08 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-08 23:35:00 +0200 |
commit | e452ba0fe1f6087c5145625be5a55c2fb60c1f67 (patch) | |
tree | dff29b67067885bcef6f7629b793e1bc8baa89ae /libs/ardour/ardour/lv2_plugin.h | |
parent | 8bc2bf0155740b6f77bbe917285cd13610bdcb81 (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.h | 17 |
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 |