summaryrefslogtreecommitdiff
path: root/gtk2_ardour/redirect_box.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/redirect_box.h')
-rw-r--r--gtk2_ardour/redirect_box.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/gtk2_ardour/redirect_box.h b/gtk2_ardour/redirect_box.h
index 27ba950899..7ab7d03cac 100644
--- a/gtk2_ardour/redirect_box.h
+++ b/gtk2_ardour/redirect_box.h
@@ -97,7 +97,9 @@ class RedirectBox : public Gtk::HBox
PluginSelector & _plugin_selector;
RouteRedirectSelection & _rr_selection;
-
+
+ void route_going_away ();
+
struct ModelColumns : public Gtk::TreeModel::ColumnRecord {
ModelColumns () {
add (text);
@@ -140,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<ARDOUR::Redirect>, IOSelectorWindow*);
+ void send_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Redirect>, IOSelectorWindow*);
void choose_insert ();
void choose_plugin ();
void insert_plugin_chosen (boost::shared_ptr<ARDOUR::Plugin>);
@@ -149,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<ARDOUR::Redirect>);
void row_deleted (const Gtk::TreeModel::Path& path);
- void show_redirect_name (void*, boost::shared_ptr<ARDOUR::Redirect>);
-
- /* these are handlers for Redirect signals, so they take Redirect*
- directly, rather than shared_ptr<Redirect>
- */
-
- void show_redirect_active (ARDOUR::Redirect*, void *);
-
- string redirect_name (boost::shared_ptr<ARDOUR::Redirect>);
+ void show_redirect_active_r (ARDOUR::Redirect*, void *, boost::weak_ptr<ARDOUR::Redirect>);
+ void show_redirect_active (boost::weak_ptr<ARDOUR::Redirect>);
+ void show_redirect_name (void* src, boost::weak_ptr<ARDOUR::Redirect>);
+ string redirect_name (boost::weak_ptr<ARDOUR::Redirect>);
void remove_redirect_gui (boost::shared_ptr<ARDOUR::Redirect>);
@@ -195,7 +193,7 @@ class RedirectBox : public Gtk::HBox
void hide_redirect_editor (boost::shared_ptr<ARDOUR::Redirect>);
void rename_redirect (boost::shared_ptr<ARDOUR::Redirect>);
- gint idle_delete_redirect (boost::shared_ptr<ARDOUR::Redirect>);
+ gint idle_delete_redirect (boost::weak_ptr<ARDOUR::Redirect>);
void wierd_plugin_dialog (ARDOUR::Plugin& p, uint32_t streams, boost::shared_ptr<ARDOUR::IO> io);
@@ -219,7 +217,7 @@ class RedirectBox : public Gtk::HBox
static void rb_deactivate_all ();
static void rb_edit ();
- void route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::shared_ptr<ARDOUR::PluginInsert> pi);
+ void route_name_changed (void* src, PluginUIWindow* plugin_ui, boost::weak_ptr<ARDOUR::PluginInsert> pi);
std::string generate_redirect_title (boost::shared_ptr<ARDOUR::PluginInsert> pi);
};