24 #ifndef __ardour_gtk_processor_box__
25 #define __ardour_gtk_processor_box__
69 class MotionController;
96 std::weak_ptr<ARDOUR::Processor>
processor ()
const {
359 static double pin_x_pos (uint32_t,
double, uint32_t, uint32_t,
bool);
360 static void draw_connection (cairo_t*,
double,
double,
double,
double,
bool,
bool dashed =
false);
361 static void draw_gnd (cairo_t*,
double,
double,
double,
bool);
std::list< std::shared_ptr< Processor > > ProcessorList
PluginInsertProcessorEntry(ProcessorBox *, std::shared_ptr< ARDOUR::PluginInsert >, Width)
std::shared_ptr< ARDOUR::PluginInsert > _plugin_insert
PBD::ScopedConnectionList _iomap_connection
ARDOUR::SessionHandlePtr * session_handle()
std::weak_ptr< ARDOUR::Processor > _processor
void processor_going_away()
PluginPinWindowProxy(std::string const &, std::weak_ptr< ARDOUR::Processor >)
Gtk::Window * get(bool create=false)
PBD::ScopedConnection going_away_connection
ProcessorSelection & _p_selection
static Glib::RefPtr< Gtk::Action > edit_action
void maybe_add_processor_pin_mgr(std::weak_ptr< ARDOUR::Processor >)
void add_processor_to_display(std::weak_ptr< ARDOUR::Processor >)
static void rb_choose_aux(std::weak_ptr< ARDOUR::Route >)
ProcessorBox(ARDOUR::Session *, std::function< PluginSelector *()> get_plugin_selector, ProcessorSelection &, MixerStrip *parent, bool owner_is_mixer=false)
static Glib::RefPtr< Gtk::Action > cut_action
gint processor_menu_map_handler(GdkEventAny *ev)
void send_io_finished(IOSelector::Result, std::weak_ptr< ARDOUR::Processor >, IOSelectorWindow *)
void redisplay_processors()
static void rb_ab_plugins()
void route_property_changed(const PBD::PropertyChange &)
static Glib::RefPtr< Gtk::ActionGroup > processor_box_actions
static void rb_choose_send()
bool no_processor_redisplay
bool processor_button_release_event(GdkEventButton *, ProcessorEntry *)
sigc::signal< void, std::shared_ptr< ARDOUR::Processor > > ProcessorUnselected
void clear_processors(ARDOUR::Placement)
static void rb_select_all()
static void rb_clear_pre()
void compute_processor_sort_keys()
std::function< PluginSelector *()> _get_plugin_selector
static ProcSelection current_processor_selection()
bool enter_notify(GdkEventCrossing *ev)
void edit_processor(std::shared_ptr< ARDOUR::Processor >)
void manage_pins(std::shared_ptr< ARDOUR::Processor >)
bool surrsend_selected() const
PBD::ScopedConnectionList _route_connections
void processors_reordered(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &, int *)
void copy_processors(const ProcSelection &)
void plugin_drop(Gtk::SelectionData const &, ProcessorEntry *position, Glib::RefPtr< Gdk::DragContext > const &context)
static Glib::RefPtr< Gtk::Action > delete_action
void maybe_add_processor_to_ui_list(std::weak_ptr< ARDOUR::Processor >)
void show_processor_menu(int)
XMLNode * entry_gui_object_state(ProcessorEntry *)
Gtk::Menu * processor_menu
static void rb_deactivate_all()
void object_drop(Gtkmm2ext::DnDVBox< ProcessorEntry > *, ProcessorEntry *, Glib::RefPtr< Gdk::DragContext > const &)
void setup_entry_positions()
static void rb_clear_post()
void toggle_custom_loudness_pos()
void select_all_processors()
static void rb_edit_generic()
static Glib::RefPtr< Gtk::Action > copy_action
void selection_added(ProcessorEntry &)
Gtk::Window * get_editor_window(std::shared_ptr< ARDOUR::Processor >, bool)
bool channelstrip_selected() const
bool use_plugins(const SelectedPlugins &)
static Glib::RefPtr< Gtk::Action > paste_action
bool processor_can_be_edited(std::shared_ptr< ARDOUR::Processor >)
bool leave_notify(GdkEventCrossing *ev)
static void rb_manage_pins()
PBD::ScopedConnection amp_config_connection
sigc::signal< void, std::shared_ptr< ARDOUR::Processor > > ProcessorSelected
void for_selected_processors(void(ProcessorBox::*pmf)(std::shared_ptr< ARDOUR::Processor >))
Gtk::Menu * build_possible_listener_menu()
Gtk::Menu * build_possible_remove_listener_menu()
void select_all_inserts()
gint idle_delete_processor(std::weak_ptr< ARDOUR::Processor >)
ProcessorBox(ProcessorBox const &)
void rename_processor(std::shared_ptr< ARDOUR::Processor >)
void all_visible_processors_active(bool state)
static ProcessorBox * _current_processor_box
static Glib::RefPtr< Gtk::Action > disk_io_action
void get_selected_processors(ProcSelection &) const
static void rb_choose_insert()
bool is_editor_mixer_strip() const
Gtkmm2ext::DnDVBox< ProcessorEntry > processor_display
std::vector< std::shared_ptr< ARDOUR::Processor > > ProcSelection
void cut_processors(const ProcSelection &)
void setup_routing_feeds()
bool stub_processor_selected() const
void update_gui_object_state(ProcessorEntry *, bool emit=false)
static void rb_choose_plugin()
void _drop_plugin(Gtk::SelectionData const &, ARDOUR::Route::ProcessorList &)
void generic_edit_processor(std::shared_ptr< ARDOUR::Processor >)
Gtk::Menu * build_processor_menu()
void processor_menu_unmapped()
void paste_processor_state(const XMLNodeList &, std::shared_ptr< ARDOUR::Processor >)
static void register_actions()
static void load_bindings()
void deselect_all_processors()
static Gtkmm2ext::Bindings * bindings
bool one_processor_can_be_edited()
static void rb_set_disk_io_position(ARDOUR::DiskIOPoint)
static void rb_toggle_custom_loudness_pos()
void delete_processors(const ProcSelection &)
static Glib::RefPtr< Gtk::Action > backspace_action
void delete_dragged_processors(const std::list< std::shared_ptr< ARDOUR::Processor > > &)
bool drag_refuse(Gtkmm2ext::DnDVBox< ProcessorEntry > *, ProcessorEntry *)
void weird_plugin_dialog(ARDOUR::Plugin &p, ARDOUR::Route::ProcessorStreams streams)
void choose_aux(std::weak_ptr< ARDOUR::Route >)
static Glib::RefPtr< Gtk::Action > manage_pins_action
static void rb_remove_aux(std::weak_ptr< ARDOUR::Route >)
void set_processor_ui(std::shared_ptr< ARDOUR::Processor >, Gtk::Window *)
std::shared_ptr< ARDOUR::Processor > _processor_being_created
void _drop_plugin_preset(Gtk::SelectionData const &, ARDOUR::Route::ProcessorList &)
void remove_aux(std::weak_ptr< ARDOUR::Route >)
void mixer_strip_delivery_changed(std::weak_ptr< ARDOUR::Delivery >)
PBD::ScopedConnectionList _mixer_strip_connections
static void rb_deselect_all()
Gtk::Menu * build_possible_aux_menu()
void set_disk_io_position(ARDOUR::DiskIOPoint)
void hide_processor_editor(std::shared_ptr< ARDOUR::Processor >)
void report_failed_reorder()
static Glib::RefPtr< Gtk::Action > edit_generic_action
static void rb_activate_all()
void return_io_finished(IOSelector::Result, std::weak_ptr< ARDOUR::Processor >, IOSelectorWindow *)
std::string generate_processor_title(std::shared_ptr< ARDOUR::PluginInsert > pi)
std::shared_ptr< ARDOUR::Processor > find_drop_position(ProcessorEntry *position)
void paste_processors(std::shared_ptr< ARDOUR::Processor > before)
MixerStrip * _parent_strip
Gtk::ScrolledWindow processor_scroller
void set_route(std::shared_ptr< ARDOUR::Route >)
Gtk::Window * get_generic_editor_window(std::shared_ptr< ARDOUR::Processor >)
bool processor_operation(ProcessorOperation)
bool edit_aux_send(std::shared_ptr< ARDOUR::Processor >)
Gtk::Window * get_processor_ui(std::shared_ptr< ARDOUR::Processor >) const
static bool show_all_processors
void select_all_plugins()
static Glib::RefPtr< Gtk::Action > rename_action
static bool _ignore_rb_change
std::shared_ptr< ARDOUR::Route > _route
void route_processors_changed(ARDOUR::RouteProcessorChange)
ProcessorWindowProxy * find_window_proxy(std::shared_ptr< ARDOUR::Processor >) const
bool processor_button_press_event(GdkEventButton *, ProcessorEntry *)
void button_clicked_event(GdkEventButton *)
ArdourWidgets::ArdourButton _button
void set_state(XMLNode const *)
bool _ignore_ui_adjustment
void control_automation_state_changed()
ArdourWidgets::HSliderController _slider
PBD::ScopedConnectionList _connections
Gtkmm2ext::PersistentTooltip _slider_persistant_tooltip
Control(ProcessorEntry &, std::shared_ptr< ARDOUR::AutomationControl >, std::string const &)
void add_state(XMLNode *) const
bool button_released(GdkEventButton *)
std::weak_ptr< ARDOUR::AutomationControl > _control
Gtk::Adjustment _adjustment
std::string state_id() const
virtual uint32_t render_inline(cairo_t *, uint32_t width)
LuaPluginDisplay(ProcessorEntry &, std::shared_ptr< ARDOUR::LuaProc >, uint32_t max_height=80)
luabridge::LuaRef * _lua_render_inline
std::shared_ptr< ARDOUR::LuaProc > _luaproc
void update_height_alloc(uint32_t inline_height)
bool on_button_press_event(GdkEventButton *ev)
This is a default handler for the signal signal_button_press_event().
void display_frame(cairo_t *cr, double w, double h)
const uint32_t _given_max_height
void on_size_request(Gtk::Requisition *req)
This is a default handler for the signal signal_size_request().
PluginInlineDisplay(ProcessorEntry &, std::shared_ptr< ARDOUR::Plugin >, uint32_t max_height=80)
bool on_expose_event(GdkEventExpose *)
This is a default handler for the signal signal_expose_event().
void set_ports(ARDOUR::ChanCount const ports)
static void draw_thru_src(cairo_t *, double, double, double, bool)
ARDOUR::ChanMapping _in_map
void expose_input_map(cairo_t *, const double, const double)
ARDOUR::ChanMapping _i_in_map
void copy_state(const RoutingIcon &other)
ARDOUR::ChanMapping _f_thru_map
bool on_expose_event(GdkEventExpose *)
This is a default handler for the signal signal_expose_event().
void set(const ARDOUR::ChanCount &, const ARDOUR::ChanCount &, const ARDOUR::ChanCount &, const ARDOUR::ChanCount &, const ARDOUR::ChanMapping &, const ARDOUR::ChanMapping &, const ARDOUR::ChanMapping &)
void expose_coalesced_input_map(cairo_t *, const double, const double)
void set_terminal(bool b)
static void draw_gnd(cairo_t *, double, double, double, bool)
static void draw_connection(cairo_t *, double, double, double, double, bool, bool dashed=false)
static void draw_thru_sink(cairo_t *, double, double, double, bool)
ARDOUR::ChanMapping _f_out_map
ARDOUR::ChanCount _i_sinks
bool can_coalesce() const
static double pin_x_pos(uint32_t, double, uint32_t, uint32_t, bool)
static void draw_sidechain(cairo_t *, double, double, double, bool)
void set_fed_by(const ARDOUR::ChanCount &, const ARDOUR::ChanCount &, const ARDOUR::ChanMapping &, const ARDOUR::ChanMapping &)
void expose_output_map(cairo_t *, const double, const double)
ARDOUR::ChanCount _f_sources
RoutingIcon(bool inputrouting=true)
ARDOUR::ChanMapping _i_thru_map
bool out_identity() const
ARDOUR::ChanCount _sources
void set_feeding(const ARDOUR::ChanCount &, const ARDOUR::ChanCount &, const ARDOUR::ChanMapping &, const ARDOUR::ChanMapping &)
ARDOUR::ChanMapping _thru_map
ARDOUR::ChanMapping _out_map
Gtk::Menu * build_presets_menu()
void led_clicked(GdkEventButton *)
std::shared_ptr< ARDOUR::Processor > processor() const
void plugin_preset_delete()
void plugin_preset_selected(ARDOUR::Plugin::PresetRecord)
bool _ignore_preset_select
void toggle_allow_feedback()
Gtk::Menu * build_controls_menu()
std::list< Control * > _controls
void toggle_inline_display_visibility()
RoutingIcon output_routing_icon
std::string drag_text() const
std::string name(Width) const
PBD::ScopedConnection name_connection
void processor_configuration_changed(const ARDOUR::ChanCount in, const ARDOUR::ChanCount out)
PluginDisplay * _plugin_display
PBD::ScopedConnection active_connection
bool unknown_processor() const
bool drag_data_get(Glib::RefPtr< Gdk::DragContext > const, Gtk::SelectionData &)
ArdourWidgets::ArdourButton _button
void set_enum_width(Width)
ARDOUR::PluginPresetPtr _plugin_preset_pointer
void set_selectable(bool s)
void toggle_control_visibility(Control *)
PBD::ScopedConnection config_connection
void processor_property_changed(const PBD::PropertyChange &)
void add_control_state(XMLNode *) const
void set_position(ProcessorPosition, uint32_t)
void set_control_state(XMLNode const *)
bool can_copy_state(Gtkmm2ext::DnDVBoxChild *) const
void set_visual_state(Gtkmm2ext::VisualState, bool)
bool is_selectable() const
std::shared_ptr< ARDOUR::Processor > _processor
Gtk::Menu * build_send_options_menu()
std::string state_id() const
Gtk::EventBox & action_widget()
void processor_active_changed()
ProcessorPosition _position
virtual void hide_things()
ProcessorEntry(ProcessorBox *, std::shared_ptr< ARDOUR::Processor >, Width)
virtual void setup_visuals()
void toggle_panner_link()
std::weak_ptr< ARDOUR::Processor > _processor
ProcessorBox * _processor_box
ProcessorWindowProxy(std::string const &, ProcessorBox *, std::weak_ptr< ARDOUR::Processor >)
bool fully_visible() const
sigc::connection _drop_window_connection
int set_state(const XMLNode &, int)
void set_custom_ui_mode(bool use_custom)
XMLNode & get_state() const
Gtk::Window * get(bool create=false)
ARDOUR::SessionHandlePtr * session_handle()
void processor_going_away()
PBD::ScopedConnectionList gui_connections
PBD::ScopedConnection going_away_connection
sigc::connection _unmap_connection
std::weak_ptr< ARDOUR::Processor > processor() const
void show_the_right_window(bool show_not_toggle=false)
std::shared_ptr< PluginPreset > PluginPresetPtr
std::vector< ARDOUR::PluginPtr > SelectedPlugins
std::vector< XMLNode * > XMLNodeList