Ardour  9.0-pre0-822-g12e3bc5c20
LV2PluginUI Class Reference

#include <lv2_plugin_ui.h>

Inheritance diagram for LV2PluginUI:
[legend]

Public Member Functions

 LV2PluginUI (std::shared_ptr< ARDOUR::PlugInsertBase >, std::shared_ptr< ARDOUR::LV2Plugin >)
 
 ~LV2PluginUI ()
 
gint get_preferred_height ()
 
gint get_preferred_width ()
 
bool resizable ()
 
bool start_updating (GdkEventAny *)
 
bool stop_updating (GdkEventAny *)
 
bool is_external () const
 
bool is_external_visible () const
 
int package (Gtk::Window &)
 
void grab_focus ()
 
- Public Member Functions inherited from PlugUIBase
 PlugUIBase (std::shared_ptr< ARDOUR::PlugInsertBase >)
 
virtual ~PlugUIBase ()
 
virtual void activate ()
 
virtual void deactivate ()
 
void update_preset_list ()
 
void update_preset ()
 
void latency_button_clicked ()
 
void tailtime_button_clicked ()
 
virtual void forward_key_event (GdkEventKey *)
 
virtual bool non_gtk_gui () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Private Types

typedef std::shared_ptr< ARDOUR::AutomationControlControllableRef
 
typedef std::set< uint32_t > Updates
 

Private Member Functions

void control_changed (uint32_t)
 
void set_path_property (int, const ARDOUR::ParameterDescriptor &, Gtk::FileChooserDialog *)
 
void update_timeout ()
 
void lv2ui_instantiate (const std::string &title)
 
void lv2ui_free ()
 
void parameter_update (uint32_t, float)
 
bool configure_handler (GdkEventConfigure *)
 
void save_plugin_setting ()
 
void output_update ()
 
void queue_port_update ()
 
bool is_update_wanted (uint32_t index)
 
virtual bool on_window_show (const std::string &title)
 
virtual void on_window_hide ()
 

Static Private Member Functions

static void on_external_ui_closed (void *controller)
 
static void write_from_ui (void *controller, uint32_t port_index, uint32_t buffer_size, uint32_t format, const void *buffer)
 
static void write_to_ui (void *controller, uint32_t port_index, uint32_t buffer_size, uint32_t format, const void *buffer)
 
static uint32_t port_index (void *controller, const char *symbol)
 
static void touch (void *controller, uint32_t port_index, bool grabbed)
 

Private Attributes

std::shared_ptr< ARDOUR::PlugInsertBase_pib
 
std::shared_ptr< ARDOUR::LV2Plugin_lv2
 
std::vector< uint32_t > _output_ports
 
sigc::connection _screen_update_connection
 
sigc::connection _message_update_connection
 
Gtk::Widget * _gui_widget
 
Gtk::HBox _ardour_buttons_box
 
float * _values_last_sent_to_ui
 
std::vector< ControllableRef_controllables
 
struct lv2_external_ui_host _external_ui_host
 
LV2_Feature _external_ui_feature
 
LV2_Feature _external_kxui_feature
 
struct lv2_external_ui_external_ui_ptr
 
LV2_Feature _parent_feature
 
void * _inst
 
Updates _updates
 
std::set< uint32_t > active_parameter_requests
 

Additional Inherited Members

- Public Attributes inherited from PlugUIBase
sigc::signal< void, bool > KeyboardFocused
 
- Protected Member Functions inherited from PlugUIBase
void add_common_widgets (Gtk::HBox *, bool with_focus=true)
 
void set_latency_label ()
 
void set_tailtime_label ()
 
virtual void preset_selected (ARDOUR::Plugin::PresetRecord preset)
 
void add_plugin_setting ()
 
void save_plugin_setting ()
 
void delete_plugin_setting ()
 
void reset_plugin_parameters ()
 
void browse_presets ()
 
void manage_pins ()
 
bool focus_toggled (GdkEventButton *)
 
bool bypass_button_release (GdkEventButton *)
 
void toggle_description ()
 
void toggle_plugin_analysis ()
 
void toggle_cpuload_display ()
 
void processor_active_changed (std::weak_ptr< ARDOUR::Processor > p)
 
void plugin_going_away ()
 
void automation_state_changed ()
 
void preset_added_or_removed ()
 
void update_preset_modified ()
 
bool has_descriptive_presets () const
 
- Protected Attributes inherited from PlugUIBase
std::shared_ptr< ARDOUR::PlugInsertBase_pib
 
std::shared_ptr< ARDOUR::PluginInsert_pi
 
std::shared_ptr< ARDOUR::Pluginplugin
 
ArdourWidgets::ArdourDropdown _preset_combo
 
Gtk::Label _preset_modified
 
ArdourWidgets::ArdourButton _add_button
 
ArdourWidgets::ArdourButton _save_button
 
ArdourWidgets::ArdourButton _delete_button
 
ArdourWidgets::ArdourButton _preset_browser_button
 
ArdourWidgets::ArdourButton _reset_button
 
ArdourWidgets::ArdourButton _bypass_button
 
ArdourWidgets::ArdourButton _pin_management_button
 
Gtk::EventBox _focus_button
 
Gtk::Expander description_expander
 
Gtk::Expander plugin_analysis_expander
 
Gtk::Expander cpuload_expander
 
ArdourWidgets::ArdourButton _latency_button
 
ArdourWidgets::ArdourButton _tailtime_button
 
ArdourWidgets::ArdourButton automation_manual_all_button
 
ArdourWidgets::ArdourButton automation_play_all_button
 
ArdourWidgets::ArdourButton automation_write_all_button
 
ArdourWidgets::ArdourButton automation_touch_all_button
 
ArdourWidgets::ArdourButton automation_latch_all_button
 
TimeCtlGUIlatency_gui
 
ArdourWindowlatency_dialog
 
TimeCtlGUItailtime_gui
 
ArdourWindowtailtime_dialog
 
PluginEqGuieqgui
 
PluginLoadStatsGuistats_gui
 
PluginPresetsUIpreset_gui
 
ArdourWindowpreset_dialog
 
int _no_load_preset
 
PBD::ScopedConnection death_connection
 
PBD::ScopedConnection active_connection
 
PBD::ScopedConnection preset_added_connection
 
PBD::ScopedConnection preset_removed_connection
 
PBD::ScopedConnectionList control_connections
 

Detailed Description

Definition at line 55 of file lv2_plugin_ui.h.

Member Typedef Documentation

◆ ControllableRef

typedef std::shared_ptr<ARDOUR::AutomationControl> LV2PluginUI::ControllableRef
private

Definition at line 79 of file lv2_plugin_ui.h.

◆ Updates

typedef std::set<uint32_t> LV2PluginUI::Updates
private

Definition at line 102 of file lv2_plugin_ui.h.

Constructor & Destructor Documentation

◆ LV2PluginUI()

LV2PluginUI::LV2PluginUI ( std::shared_ptr< ARDOUR::PlugInsertBase ,
std::shared_ptr< ARDOUR::LV2Plugin  
)

◆ ~LV2PluginUI()

LV2PluginUI::~LV2PluginUI ( )

Member Function Documentation

◆ configure_handler()

bool LV2PluginUI::configure_handler ( GdkEventConfigure *  )
private

◆ control_changed()

void LV2PluginUI::control_changed ( uint32_t  )
private

◆ get_preferred_height()

gint LV2PluginUI::get_preferred_height ( )
virtual

Implements PlugUIBase.

◆ get_preferred_width()

gint LV2PluginUI::get_preferred_width ( )
virtual

Implements PlugUIBase.

◆ grab_focus()

void LV2PluginUI::grab_focus ( )
virtual

Reimplemented from PlugUIBase.

◆ is_external()

bool LV2PluginUI::is_external ( ) const
virtual

Reimplemented from PlugUIBase.

◆ is_external_visible()

bool LV2PluginUI::is_external_visible ( ) const
virtual

Reimplemented from PlugUIBase.

◆ is_update_wanted()

bool LV2PluginUI::is_update_wanted ( uint32_t  index)
private

◆ lv2ui_free()

void LV2PluginUI::lv2ui_free ( )
private

◆ lv2ui_instantiate()

void LV2PluginUI::lv2ui_instantiate ( const std::string &  title)
private

◆ on_external_ui_closed()

static void LV2PluginUI::on_external_ui_closed ( void *  controller)
staticprivate

◆ on_window_hide()

virtual void LV2PluginUI::on_window_hide ( )
privatevirtual

Reimplemented from PlugUIBase.

◆ on_window_show()

virtual bool LV2PluginUI::on_window_show ( const std::string &  title)
privatevirtual

Reimplemented from PlugUIBase.

◆ output_update()

void LV2PluginUI::output_update ( )
private

◆ package()

int LV2PluginUI::package ( Gtk::Window &  )

◆ parameter_update()

void LV2PluginUI::parameter_update ( uint32_t  ,
float   
)
private

◆ port_index()

static uint32_t LV2PluginUI::port_index ( void *  controller,
const char *  symbol 
)
staticprivate

◆ queue_port_update()

void LV2PluginUI::queue_port_update ( )
private

◆ resizable()

bool LV2PluginUI::resizable ( )
virtual

Reimplemented from PlugUIBase.

◆ save_plugin_setting()

void LV2PluginUI::save_plugin_setting ( )
private

◆ set_path_property()

void LV2PluginUI::set_path_property ( int  ,
const ARDOUR::ParameterDescriptor ,
Gtk::FileChooserDialog *   
)
private

◆ start_updating()

bool LV2PluginUI::start_updating ( GdkEventAny *  )
virtual

Implements PlugUIBase.

◆ stop_updating()

bool LV2PluginUI::stop_updating ( GdkEventAny *  )
virtual

Implements PlugUIBase.

◆ touch()

static void LV2PluginUI::touch ( void *  controller,
uint32_t  port_index,
bool  grabbed 
)
staticprivate

◆ update_timeout()

void LV2PluginUI::update_timeout ( )
private

◆ write_from_ui()

static void LV2PluginUI::write_from_ui ( void *  controller,
uint32_t  port_index,
uint32_t  buffer_size,
uint32_t  format,
const void *  buffer 
)
staticprivate

◆ write_to_ui()

static void LV2PluginUI::write_to_ui ( void *  controller,
uint32_t  port_index,
uint32_t  buffer_size,
uint32_t  format,
const void *  buffer 
)
staticprivate

Member Data Documentation

◆ _ardour_buttons_box

Gtk::HBox LV2PluginUI::_ardour_buttons_box
private

a box containing the focus, bypa s, delete, save / add preset buttons etc.

Definition at line 88 of file lv2_plugin_ui.h.

◆ _controllables

std::vector<ControllableRef> LV2PluginUI::_controllables
private

Definition at line 90 of file lv2_plugin_ui.h.

◆ _external_kxui_feature

LV2_Feature LV2PluginUI::_external_kxui_feature
private

Definition at line 93 of file lv2_plugin_ui.h.

◆ _external_ui_feature

LV2_Feature LV2PluginUI::_external_ui_feature
private

Definition at line 92 of file lv2_plugin_ui.h.

◆ _external_ui_host

struct lv2_external_ui_host LV2PluginUI::_external_ui_host
private

Definition at line 90 of file lv2_plugin_ui.h.

◆ _external_ui_ptr

struct lv2_external_ui* LV2PluginUI::_external_ui_ptr
private

Definition at line 98 of file lv2_plugin_ui.h.

◆ _gui_widget

Gtk::Widget* LV2PluginUI::_gui_widget
private

Definition at line 86 of file lv2_plugin_ui.h.

◆ _inst

void* LV2PluginUI::_inst
private

Definition at line 100 of file lv2_plugin_ui.h.

◆ _lv2

std::shared_ptr<ARDOUR::LV2Plugin> LV2PluginUI::_lv2
private

Definition at line 82 of file lv2_plugin_ui.h.

◆ _message_update_connection

sigc::connection LV2PluginUI::_message_update_connection
private

Definition at line 85 of file lv2_plugin_ui.h.

◆ _output_ports

std::vector<uint32_t> LV2PluginUI::_output_ports
private

Definition at line 83 of file lv2_plugin_ui.h.

◆ _parent_feature

LV2_Feature LV2PluginUI::_parent_feature
private

Definition at line 99 of file lv2_plugin_ui.h.

◆ _pib

std::shared_ptr<ARDOUR::PlugInsertBase> LV2PluginUI::_pib
private

Definition at line 81 of file lv2_plugin_ui.h.

◆ _screen_update_connection

sigc::connection LV2PluginUI::_screen_update_connection
private

Definition at line 84 of file lv2_plugin_ui.h.

◆ _updates

Updates LV2PluginUI::_updates
private

Definition at line 103 of file lv2_plugin_ui.h.

◆ _values_last_sent_to_ui

float* LV2PluginUI::_values_last_sent_to_ui
private

Definition at line 89 of file lv2_plugin_ui.h.

◆ active_parameter_requests

std::set<uint32_t> LV2PluginUI::active_parameter_requests
private

Definition at line 136 of file lv2_plugin_ui.h.


The documentation for this class was generated from the following file: