20 #ifndef __ardour_gtk_processor_box__
21 #define __ardour_gtk_processor_box__
26 #include <boost/function.hpp>
28 #include <gtkmm/box.h>
29 #include <gtkmm/eventbox.h>
30 #include <gtkmm/menu.h>
31 #include <gtkmm/scrolledwindow.h>
59 class MotionController;
84 Gtk::Window*
get (
bool create =
false);
227 set_size_request (-1, 4);
bool processor_button_press_event(GdkEventButton *, ProcessorEntry *)
void set_control_state(XMLNode const *)
void compute_processor_sort_keys()
static void rb_choose_insert()
void add_processor_to_display(boost::weak_ptr< ARDOUR::Processor >)
boost::shared_ptr< ARDOUR::Route > _route
void set_ports(ARDOUR::ChanCount const ports)
bool use_plugins(const SelectedPlugins &)
void object_drop(Gtkmm2ext::DnDVBox< ProcessorEntry > *, ProcessorEntry *, Glib::RefPtr< Gdk::DragContext > const &)
bool one_processor_can_be_edited()
void select_all_plugins()
void show_processor_menu(int)
PBD::ScopedConnection _splitting_connection
std::string name(Width) const
void select_all_inserts()
void processor_going_away()
PBD::ScopedConnection going_away_connection
void all_visible_processors_active(bool state)
PBD::ScopedConnection amp_config_connection
void processors_reordered(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &, int *)
PBD::ScopedConnectionList _mixer_strip_connections
void processor_configuration_changed(const ARDOUR::ChanCount in, const ARDOUR::ChanCount out)
gint idle_delete_processor(boost::weak_ptr< ARDOUR::Processor >)
bool processor_operation(ProcessorOperation)
void processor_active_changed()
void weird_plugin_dialog(ARDOUR::Plugin &p, ARDOUR::Route::ProcessorStreams streams)
static Glib::RefPtr< Gtk::Action > edit_action
bool edit_aux_send(boost::shared_ptr< ARDOUR::Processor >)
boost::shared_ptr< ARDOUR::Processor > _processor_being_created
PluginInsertProcessorEntry(ProcessorBox *, boost::shared_ptr< ARDOUR::PluginInsert >, Width)
PBD::ScopedConnectionList _route_connections
void send_io_finished(IOSelector::Result, boost::weak_ptr< ARDOUR::Processor >, IOSelectorWindow *)
static Glib::RefPtr< Gtk::Action > edit_generic_action
bool is_selectable() const
static void rb_choose_plugin()
Gtk::Menu * build_processor_menu()
static void rb_select_all()
void edit_processor(boost::shared_ptr< ARDOUR::Processor >)
static Glib::RefPtr< Gtk::Action > cut_action
static void rb_choose_aux(boost::weak_ptr< ARDOUR::Route >)
void delete_dragged_processors(const std::list< boost::shared_ptr< ARDOUR::Processor > > &)
void route_processors_changed(ARDOUR::RouteProcessorChange)
ProcessorBox * _processor_box
Gtk::Window * get_generic_editor_window(boost::shared_ptr< ARDOUR::Processor >)
void processor_menu_unmapped()
PBD::ScopedConnection active_connection
void set_selectable(bool s)
void hide_processor_editor(boost::shared_ptr< ARDOUR::Processor >)
void plugin_insert_splitting_changed()
void set_route(boost::shared_ptr< ARDOUR::Route >)
void set_visual_state(Gtkmm2ext::VisualState, bool)
void setup_entry_positions()
void set_enum_width(Width)
ProcessorEntry(ProcessorBox *, boost::shared_ptr< ARDOUR::Processor >, Width)
static void rb_deselect_all()
Gtk::Menu * build_controls_menu()
uint32_t _visible_prefader_processors
void redisplay_processors()
void mixer_strip_delivery_changed(boost::weak_ptr< ARDOUR::Delivery >)
void update_gui_object_state(ProcessorEntry *)
static void rb_clear_pre()
std::string state_id() const
void get_selected_processors(ProcSelection &) const
std::list< XMLNode * > XMLNodeList
void maybe_add_processor_to_ui_list(boost::weak_ptr< ARDOUR::Processor >)
sigc::signal< void, boost::shared_ptr< ARDOUR::Processor > > ProcessorSelected
std::vector< ARDOUR::PluginPtr > SelectedPlugins
Gtk::Menu * processor_menu
void set_position(Position, uint32_t)
XMLNode * entry_gui_object_state(ProcessorEntry *)
void processor_property_changed(const PBD::PropertyChange &)
Gtkmm2ext::PersistentTooltip _slider_persistant_tooltip
boost::function< PluginSelector *()> _get_plugin_selector
boost::weak_ptr< ARDOUR::AutomationControl > _control
ProcessorBox(ARDOUR::Session *, boost::function< PluginSelector *()> get_plugin_selector, RouteProcessorSelection &, MixerStrip *parent, bool owner_is_mixer=false)
void return_io_finished(IOSelector::Result, boost::weak_ptr< ARDOUR::Processor >, IOSelectorWindow *)
static void rb_ab_plugins()
void route_property_changed(const PBD::PropertyChange &)
bool _ignore_ui_adjustment
bool on_expose_event(GdkEventExpose *)
void set_sinks(ARDOUR::ChanCount const sinks)
void set_sources(ARDOUR::ChanCount const sources)
std::vector< boost::shared_ptr< ARDOUR::Processor > > ProcSelection
XMLNode & get_state() const
bool on_expose_event(GdkEventExpose *)
bool processor_can_be_edited(boost::shared_ptr< ARDOUR::Processor >)
boost::shared_ptr< ARDOUR::PluginInsert > _plugin_insert
Gtk::Menu * build_send_options_menu()
ARDOUR::SessionHandlePtr * session_handle()
static void rb_choose_send()
RouteProcessorSelection & _rr_selection
Control(boost::shared_ptr< ARDOUR::AutomationControl >, std::string const &)
PBD::ScopedConnection name_connection
void generic_edit_processor(boost::shared_ptr< ARDOUR::Processor >)
bool leave_notify(GdkEventCrossing *ev)
void toggle_panner_link()
static void rb_clear_post()
virtual void setup_visuals()
void choose_aux(boost::weak_ptr< ARDOUR::Route >)
void paste_processor_state(const XMLNodeList &, boost::shared_ptr< ARDOUR::Processor >)
static Glib::RefPtr< Gtk::Action > rename_action
static ProcessorBox * _current_processor_box
void deselect_all_processors()
std::string generate_processor_title(boost::shared_ptr< ARDOUR::PluginInsert > pi)
class LIBPBD_API Connection
void delete_processors(const ProcSelection &)
void toggle_control_visibility(Control *)
Gtk::Window * get_editor_window(boost::shared_ptr< ARDOUR::Processor >, bool)
void help_count_visible_prefader_processors(boost::weak_ptr< ARDOUR::Processor >, uint32_t *, bool *)
MixerStrip * _parent_strip
bool processor_button_release_event(GdkEventButton *, ProcessorEntry *)
void set_custom_ui_mode(bool use_custom)
void cut_processors(const ProcSelection &)
boost::weak_ptr< ARDOUR::Processor > processor() const
static Glib::RefPtr< Gtk::Action > paste_action
void for_selected_processors(void(ProcessorBox::*pmf)(boost::shared_ptr< ARDOUR::Processor >))
bool no_processor_redisplay
void copy_processors(const ProcSelection &)
PBD::ScopedConnection config_connection
std::list< Control * > _controls
void set_state(const XMLNode &)
Gtk::Adjustment _adjustment
ProcessorWindowProxy * find_window_proxy(boost::shared_ptr< ARDOUR::Processor >) const
static void rb_edit_generic()
void set_processor_ui(boost::shared_ptr< ARDOUR::Processor >, Gtk::Window *)
Gtk::EventBox & action_widget()
boost::weak_ptr< ARDOUR::Processor > _processor
boost::shared_ptr< ARDOUR::Processor > processor() const
static void rb_activate_all()
ARDOUR::ChanCount _sources
PBD::ScopedConnection _connection
void select_all_processors()
void set_splitting(const bool splitting)
void rename_processor(boost::shared_ptr< ARDOUR::Processor >)
void add_state(XMLNode *) const
gint processor_menu_map_handler(GdkEventAny *ev)
static void register_actions()
Gtkmm2ext::DnDVBox< ProcessorEntry > processor_display
std::string state_id() const
Gtk::ScrolledWindow processor_scroller
boost::shared_ptr< ARDOUR::Processor > _processor
RoutingIcon _routing_icon
sigc::signal< void, boost::shared_ptr< ARDOUR::Processor > > ProcessorUnselected
ProcessorWindowProxy(std::string const &, ProcessorBox *, boost::weak_ptr< ARDOUR::Processor >)
void add_control_state(XMLNode *) const
static void rb_deactivate_all()
virtual void hide_things()
bool is_editor_mixer_strip() const
std::string drag_text() const
Gtk::Window * get_processor_ui(boost::shared_ptr< ARDOUR::Processor >) const
Gtk::Menu * build_possible_aux_menu()
void report_failed_reorder()
Gtkmm2ext::HSliderController _slider
void set_state(XMLNode const *)
bool enter_notify(GdkEventCrossing *ev)