Ardour  9.0-pre0-822-g12e3bc5c20
GenericPluginUI Class Reference

#include <plugin_ui.h>

Inheritance diagram for GenericPluginUI:
[legend]

Classes

struct  ControlUI
 
struct  MeterInfo
 

Public Member Functions

 GenericPluginUI (std::shared_ptr< ARDOUR::PlugInsertBase > plug, bool scrollable=false, bool ctrls_only=false)
 
 ~GenericPluginUI ()
 
gint get_preferred_height ()
 
gint get_preferred_width ()
 
bool empty () const
 
bool start_updating (GdkEventAny *)
 
bool stop_updating (GdkEventAny *)
 
- Public Member Functions inherited from PlugUIBase
 PlugUIBase (std::shared_ptr< ARDOUR::PlugInsertBase >)
 
virtual ~PlugUIBase ()
 
virtual bool resizable ()
 
virtual bool is_external () const
 
virtual bool is_external_visible () const
 
virtual void activate ()
 
virtual void deactivate ()
 
void update_preset_list ()
 
void update_preset ()
 
void latency_button_clicked ()
 
void tailtime_button_clicked ()
 
virtual bool on_window_show (const std::string &)
 
virtual void on_window_hide ()
 
virtual void forward_key_event (GdkEventKey *)
 
virtual void grab_focus ()
 
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::map< uint32_t, Gtk::FileChooserButton * > FilePathControls
 

Private Member Functions

void set_short_autostate (ControlUI *cui, bool value)
 
void output_update ()
 
void build ()
 
void automatic_layout (const std::vector< ControlUI * > &control_uis)
 
ControlUIbuild_control_ui (const Evoral::Parameter &param, const ARDOUR::ParameterDescriptor &desc, std::shared_ptr< ARDOUR::AutomationControl > mcontrol, float value, bool is_input)
 
void ui_parameter_changed (ControlUI *cui)
 
void update_control_display (ControlUI *cui)
 
void update_input_displays ()
 
void control_combo_changed (ControlUI *cui, float value)
 
bool astate_button_event (GdkEventButton *ev, ControlUI *)
 
void automation_state_changed (ControlUI *)
 
void set_automation_state (ARDOUR::AutoState state, ControlUI *cui)
 
void set_all_automation (ARDOUR::AutoState state)
 
void knob_size_request (Gtk::Requisition *req, ControlUI *cui)
 
void set_path_property (const ARDOUR::ParameterDescriptor &desc, Gtk::FileChooserButton *widget)
 
void path_property_changed (uint32_t key, const ARDOUR::Variant &value)
 
void scroller_size_request (Gtk::Requisition *)
 
void note_on_event_handler (int, int)
 
void note_off_event_handler (int)
 
void toggle_pianokeyboard ()
 
void build_midi_table ()
 
void midi_refill_patches ()
 
void midi_bank_patch_change (uint8_t chn)
 
void midi_bank_patch_select (uint8_t chn, uint32_t bankpgm)
 

Private Attributes

Gtk::VBox main_contents
 
Gtk::VBox settings_box
 
Gtk::HBox hpacker
 
Gtk::Menu * automation_menu
 
gint prefheight
 
bool is_scrollable
 
bool want_ctrl_only
 
bool _empty
 
std::vector< ControlUI * > input_controls
 
std::vector< ControlUI * > input_controls_with_automation
 
std::vector< ControlUI * > output_controls
 
sigc::connection screen_update_connection
 
FilePathControls _filepath_controls
 
Gtk::ScrolledWindow scroller
 
Gtk::Expander _plugin_pianokeyboard_expander
 
APianoKeyboard_piano
 
Gtk::VBox _pianobox
 
Gtk::SpinButton _piano_velocity
 
Gtk::SpinButton _piano_channel
 
std::vector< ArdourWidgets::ArdourDropdown * > midi_pgmsel
 
PBD::ScopedConnectionList midi_connections
 
std::map< uint32_t, std::string > pgm_names
 

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 218 of file plugin_ui.h.

Member Typedef Documentation

◆ FilePathControls

typedef std::map<uint32_t, Gtk::FileChooserButton*> GenericPluginUI::FilePathControls
private

Definition at line 322 of file plugin_ui.h.

Constructor & Destructor Documentation

◆ GenericPluginUI()

GenericPluginUI::GenericPluginUI ( std::shared_ptr< ARDOUR::PlugInsertBase plug,
bool  scrollable = false,
bool  ctrls_only = false 
)

◆ ~GenericPluginUI()

GenericPluginUI::~GenericPluginUI ( )

Member Function Documentation

◆ astate_button_event()

bool GenericPluginUI::astate_button_event ( GdkEventButton *  ev,
ControlUI  
)
private

◆ automatic_layout()

void GenericPluginUI::automatic_layout ( const std::vector< ControlUI * > &  control_uis)
private

◆ automation_state_changed()

void GenericPluginUI::automation_state_changed ( ControlUI )
private

◆ build()

void GenericPluginUI::build ( )
private

◆ build_control_ui()

ControlUI* GenericPluginUI::build_control_ui ( const Evoral::Parameter param,
const ARDOUR::ParameterDescriptor desc,
std::shared_ptr< ARDOUR::AutomationControl mcontrol,
float  value,
bool  is_input 
)
private

◆ build_midi_table()

void GenericPluginUI::build_midi_table ( )
private

◆ control_combo_changed()

void GenericPluginUI::control_combo_changed ( ControlUI cui,
float  value 
)
private

◆ empty()

bool GenericPluginUI::empty ( ) const
inline

Definition at line 226 of file plugin_ui.h.

◆ get_preferred_height()

gint GenericPluginUI::get_preferred_height ( )
inlinevirtual

Implements PlugUIBase.

Definition at line 224 of file plugin_ui.h.

◆ get_preferred_width()

gint GenericPluginUI::get_preferred_width ( )
inlinevirtual

Implements PlugUIBase.

Definition at line 225 of file plugin_ui.h.

◆ knob_size_request()

void GenericPluginUI::knob_size_request ( Gtk::Requisition *  req,
ControlUI cui 
)
private

◆ midi_bank_patch_change()

void GenericPluginUI::midi_bank_patch_change ( uint8_t  chn)
private

◆ midi_bank_patch_select()

void GenericPluginUI::midi_bank_patch_select ( uint8_t  chn,
uint32_t  bankpgm 
)
private

◆ midi_refill_patches()

void GenericPluginUI::midi_refill_patches ( )
private

◆ note_off_event_handler()

void GenericPluginUI::note_off_event_handler ( int  )
private

◆ note_on_event_handler()

void GenericPluginUI::note_on_event_handler ( int  ,
int   
)
private

◆ output_update()

void GenericPluginUI::output_update ( )
private

◆ path_property_changed()

void GenericPluginUI::path_property_changed ( uint32_t  key,
const ARDOUR::Variant value 
)
private

◆ scroller_size_request()

void GenericPluginUI::scroller_size_request ( Gtk::Requisition *  )
private

◆ set_all_automation()

void GenericPluginUI::set_all_automation ( ARDOUR::AutoState  state)
private

◆ set_automation_state()

void GenericPluginUI::set_automation_state ( ARDOUR::AutoState  state,
ControlUI cui 
)
private

◆ set_path_property()

void GenericPluginUI::set_path_property ( const ARDOUR::ParameterDescriptor desc,
Gtk::FileChooserButton *  widget 
)
private

◆ set_short_autostate()

void GenericPluginUI::set_short_autostate ( ControlUI cui,
bool  value 
)
private

◆ start_updating()

bool GenericPluginUI::start_updating ( GdkEventAny *  )
virtual

Implements PlugUIBase.

◆ stop_updating()

bool GenericPluginUI::stop_updating ( GdkEventAny *  )
virtual

Implements PlugUIBase.

◆ toggle_pianokeyboard()

void GenericPluginUI::toggle_pianokeyboard ( )
private

◆ ui_parameter_changed()

void GenericPluginUI::ui_parameter_changed ( ControlUI cui)
private

◆ update_control_display()

void GenericPluginUI::update_control_display ( ControlUI cui)
private

◆ update_input_displays()

void GenericPluginUI::update_input_displays ( )
private

Member Data Documentation

◆ _empty

bool GenericPluginUI::_empty
private

Definition at line 240 of file plugin_ui.h.

◆ _filepath_controls

FilePathControls GenericPluginUI::_filepath_controls
private

Definition at line 323 of file plugin_ui.h.

◆ _piano

APianoKeyboard* GenericPluginUI::_piano
private

Definition at line 332 of file plugin_ui.h.

◆ _piano_channel

Gtk::SpinButton GenericPluginUI::_piano_channel
private

Definition at line 335 of file plugin_ui.h.

◆ _piano_velocity

Gtk::SpinButton GenericPluginUI::_piano_velocity
private

Definition at line 334 of file plugin_ui.h.

◆ _pianobox

Gtk::VBox GenericPluginUI::_pianobox
private

Definition at line 333 of file plugin_ui.h.

◆ _plugin_pianokeyboard_expander

Gtk::Expander GenericPluginUI::_plugin_pianokeyboard_expander
private

Definition at line 331 of file plugin_ui.h.

◆ automation_menu

Gtk::Menu* GenericPluginUI::automation_menu
private

Definition at line 235 of file plugin_ui.h.

◆ hpacker

Gtk::HBox GenericPluginUI::hpacker
private

Definition at line 234 of file plugin_ui.h.

◆ input_controls

std::vector<ControlUI*> GenericPluginUI::input_controls
private

Definition at line 293 of file plugin_ui.h.

◆ input_controls_with_automation

std::vector<ControlUI*> GenericPluginUI::input_controls_with_automation
private

Definition at line 294 of file plugin_ui.h.

◆ is_scrollable

bool GenericPluginUI::is_scrollable
private

Definition at line 238 of file plugin_ui.h.

◆ main_contents

Gtk::VBox GenericPluginUI::main_contents
private

Definition at line 232 of file plugin_ui.h.

◆ midi_connections

PBD::ScopedConnectionList GenericPluginUI::midi_connections
private

Definition at line 346 of file plugin_ui.h.

◆ midi_pgmsel

std::vector<ArdourWidgets::ArdourDropdown*> GenericPluginUI::midi_pgmsel
private

Definition at line 345 of file plugin_ui.h.

◆ output_controls

std::vector<ControlUI*> GenericPluginUI::output_controls
private

Definition at line 295 of file plugin_ui.h.

◆ pgm_names

std::map<uint32_t, std::string> GenericPluginUI::pgm_names
private

Definition at line 347 of file plugin_ui.h.

◆ prefheight

gint GenericPluginUI::prefheight
private

Definition at line 237 of file plugin_ui.h.

◆ screen_update_connection

sigc::connection GenericPluginUI::screen_update_connection
private

Definition at line 297 of file plugin_ui.h.

◆ scroller

Gtk::ScrolledWindow GenericPluginUI::scroller
private

Definition at line 329 of file plugin_ui.h.

◆ settings_box

Gtk::VBox GenericPluginUI::settings_box
private

Definition at line 233 of file plugin_ui.h.

◆ want_ctrl_only

bool GenericPluginUI::want_ctrl_only
private

Definition at line 239 of file plugin_ui.h.


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