X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fredirect_box.h;h=88fbd5924d700fa8db53a5332ec38e47f6838841;hb=1315ee3dff1e4966ab28bd47e81b5f003cac6e40;hp=ead3b0dfb814dbfd4391671649184c39f877f800;hpb=41bc62b35b8194fd607aa2541e2057abd680078a;p=ardour.git diff --git a/gtk2_ardour/redirect_box.h b/gtk2_ardour/redirect_box.h index ead3b0dfb8..88fbd5924d 100644 --- a/gtk2_ardour/redirect_box.h +++ b/gtk2_ardour/redirect_box.h @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #ifndef __ardour_gtk_redirect_box__ @@ -49,19 +48,20 @@ class MotionController; class PluginSelector; +class PluginUIWindow; class RouteRedirectSelection; namespace ARDOUR { + class Connection; + class Insert; + class Plugin; + class PluginInsert; + class PortInsert; class Route; class Send; - class Insert; class Session; - class PortInsert; - class Connection; - class Plugin; } - class RedirectBox : public Gtk::HBox { public: @@ -91,12 +91,15 @@ class RedirectBox : public Gtk::HBox boost::shared_ptr _route; ARDOUR::Session & _session; bool _owner_is_mixer; + bool ab_direction; ARDOUR::Placement _placement; PluginSelector & _plugin_selector; RouteRedirectSelection & _rr_selection; - + + void route_going_away (); + struct ModelColumns : public Gtk::TreeModel::ColumnRecord { ModelColumns () { add (text); @@ -139,7 +142,7 @@ class RedirectBox : public Gtk::HBox void show_redirect_menu (gint arg); void choose_send (); - void send_io_finished (IOSelector::Result, boost::shared_ptr, IOSelectorWindow*); + void send_io_finished (IOSelector::Result, boost::weak_ptr, IOSelectorWindow*); void choose_insert (); void choose_plugin (); void insert_plugin_chosen (boost::shared_ptr); @@ -148,18 +151,14 @@ class RedirectBox : public Gtk::HBox bool ignore_delete; bool redirect_button_press_event (GdkEventButton *); + bool redirect_button_release_event (GdkEventButton *); void redisplay_redirects (void* src); void add_redirect_to_display (boost::shared_ptr); void row_deleted (const Gtk::TreeModel::Path& path); - void show_redirect_name (void*, boost::shared_ptr); - - /* these are handlers for Redirect signals, so they take Redirect* - directly, rather than shared_ptr - */ - - void show_redirect_active (ARDOUR::Redirect*, void *); - - string redirect_name (boost::shared_ptr); + void show_redirect_active_r (ARDOUR::Redirect*, void *, boost::weak_ptr); + void show_redirect_active (boost::weak_ptr); + void show_redirect_name (void* src, boost::weak_ptr); + string redirect_name (boost::weak_ptr); void remove_redirect_gui (boost::shared_ptr); @@ -172,10 +171,13 @@ class RedirectBox : public Gtk::HBox void redirect_drag_begin (GdkDragContext*); void redirect_drag_end (GdkDragContext*); void all_redirects_active(bool state); + void all_plugins_active(bool state); + void ab_plugins (); void cut_redirects (); void copy_redirects (); void paste_redirects (); + void delete_redirects (); void clear_redirects (); void clone_redirects (); void rename_redirects (); @@ -194,9 +196,9 @@ class RedirectBox : public Gtk::HBox void hide_redirect_editor (boost::shared_ptr); void rename_redirect (boost::shared_ptr); - gint idle_delete_redirect (boost::shared_ptr); + gint idle_delete_redirect (boost::weak_ptr); - void wierd_plugin_dialog (ARDOUR::Plugin& p, uint32_t streams, boost::shared_ptr io); + void weird_plugin_dialog (ARDOUR::Plugin& p, uint32_t streams, boost::shared_ptr io); static RedirectBox* _current_redirect_box; static bool enter_box (GdkEventCrossing*, RedirectBox*); @@ -209,6 +211,7 @@ class RedirectBox : public Gtk::HBox static void rb_cut (); static void rb_copy (); static void rb_paste (); + static void rb_delete (); static void rb_rename (); static void rb_select_all (); static void rb_deselect_all (); @@ -217,6 +220,11 @@ class RedirectBox : public Gtk::HBox static void rb_activate_all (); static void rb_deactivate_all (); static void rb_edit (); + static void rb_ab_plugins (); + static void rb_deactivate_plugins (); + + void route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::weak_ptr pi); + std::string generate_redirect_title (boost::shared_ptr pi); }; #endif /* __ardour_gtk_redirect_box__ */