mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-24 07:27:44 +01:00
Implement LV2 request-value UI
* Handle cross-thread request from DSP context * Allow calls without plugin GUI * Implement boolean value requests, show dialog
This commit is contained in:
parent
eadd98efec
commit
532fbc41cb
5 changed files with 124 additions and 46 deletions
|
|
@ -66,6 +66,16 @@ public:
|
|||
int package (Gtk::Window&);
|
||||
void grab_focus ();
|
||||
|
||||
#ifdef HAVE_LV2_1_17_2
|
||||
static LV2UI_Request_Value_Status
|
||||
request_value(void* handle,
|
||||
LV2_URID key,
|
||||
LV2_URID type,
|
||||
const LV2_Feature* const* features);
|
||||
|
||||
static PBD::Signal1<void, LV2PluginUI*> CatchDeletion;
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
||||
void control_changed (uint32_t);
|
||||
|
|
@ -88,6 +98,7 @@ private:
|
|||
#ifdef HAVE_LV2_1_17_2
|
||||
LV2UI_Request_Value _lv2ui_request_value;
|
||||
LV2_Feature _lv2ui_request_feature;
|
||||
std::set<uint32_t> _active_parameter_requests;
|
||||
#endif
|
||||
struct lv2_external_ui* _external_ui_ptr;
|
||||
LV2_Feature _parent_feature;
|
||||
|
|
@ -115,18 +126,14 @@ private:
|
|||
uint32_t port_index,
|
||||
bool grabbed);
|
||||
|
||||
void set_path_property (const uint32_t key, ARDOUR::Variant const&);
|
||||
|
||||
#ifdef HAVE_LV2_1_17_2
|
||||
static LV2UI_Request_Value_Status
|
||||
request_value(void* handle,
|
||||
LV2_URID key,
|
||||
LV2_URID type,
|
||||
const LV2_Feature* const* features);
|
||||
void request_response (int,
|
||||
ARDOUR::ParameterDescriptor const&,
|
||||
Gtk::Widget*);
|
||||
#endif
|
||||
|
||||
void set_path_property (int,
|
||||
const ARDOUR::ParameterDescriptor&,
|
||||
Gtk::FileChooserDialog*);
|
||||
std::set<uint32_t> active_parameter_requests;
|
||||
|
||||
void update_timeout();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue