X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Froute_params_ui.cc;h=5c709d80bfebeb9ab944042d8cfb89be1bf1b816;hb=6001b8d28dd764bada8b9198a5f91e0a2f5251f6;hp=8d125a566d81fb07574e176b5cc98e45894c3051;hpb=c69ef10067cbdde5fc87ff676097aa4ffe406f2c;p=ardour.git diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc index 8d125a566d..5c709d80bf 100644 --- a/gtk2_ardour/route_params_ui.cc +++ b/gtk2_ardour/route_params_ui.cc @@ -18,36 +18,39 @@ */ #include +#define __STDC_FORMAT_MACROS +#include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "ardour/ardour.h" +#include "ardour/audio_diskstream.h" +#include "ardour/audio_track.h" +#include "ardour/plugin.h" +#include "ardour/plugin_insert.h" +#include "ardour/plugin_manager.h" +#include "ardour/port_insert.h" +#include "ardour/return.h" +#include "ardour/route.h" +#include "ardour/send.h" +#include "ardour/session.h" +#include "ardour/session.h" +#include "ardour/session_route.h" -#include "route_params_ui.h" +#include "ardour_ui.h" +#include "gui_thread.h" +#include "io_selector.h" #include "keyboard.h" #include "mixer_strip.h" #include "plugin_selector.h" -#include "ardour_ui.h" #include "plugin_ui.h" -#include "io_selector.h" +#include "return_ui.h" +#include "route_params_ui.h" #include "send_ui.h" #include "utils.h" -#include "gui_thread.h" #include "i18n.h" @@ -59,20 +62,24 @@ using namespace sigc; RouteParams_UI::RouteParams_UI () : ArdourDialog ("track/bus inspector"), + latency_apply_button (Stock::APPLY), track_menu(0) + { - pre_redirect_box = 0; - post_redirect_box = 0; + pre_insert_box = 0; + post_insert_box = 0; _input_iosel = 0; _output_iosel = 0; _active_pre_view = 0; _active_post_view = 0; - + latency_widget = 0; + using namespace Notebook_Helpers; input_frame.set_shadow_type(Gtk::SHADOW_NONE); output_frame.set_shadow_type(Gtk::SHADOW_NONE); - + latency_frame.set_shadow_type (Gtk::SHADOW_NONE); + notebook.set_show_tabs (true); notebook.set_show_border (true); notebook.set_name ("RouteParamNotebook"); @@ -82,7 +89,7 @@ RouteParams_UI::RouteParams_UI () // setup the treeview route_display.set_model(route_display_model); - route_display.append_column(_("Tracks/Buses"), route_display_columns.text); + route_display.append_column(_("Tracks/Busses"), route_display_columns.text); route_display.set_name(X_("RouteParamsListDisplay")); route_display.get_selection()->set_mode(Gtk::SELECTION_SINGLE); // default route_display.set_reorderable(false); @@ -93,7 +100,6 @@ RouteParams_UI::RouteParams_UI () route_select_scroller.add(route_display); route_select_scroller.set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); - route_select_frame.set_name("RouteSelectBaseFrame"); route_select_frame.set_shadow_type (Gtk::SHADOW_IN); route_select_frame.add(route_select_scroller); @@ -104,12 +110,17 @@ RouteParams_UI::RouteParams_UI () notebook.pages().push_back (TabElem (output_frame, _("Outputs"))); notebook.pages().push_back (TabElem (pre_redir_hpane, _("Pre-fader Redirects"))); notebook.pages().push_back (TabElem (post_redir_hpane, _("Post-fader Redirects"))); + notebook.pages().push_back (TabElem (latency_frame, _("Latency"))); notebook.set_name ("InspectorNotebook"); title_label.set_name ("RouteParamsTitleLabel"); update_title(); + latency_packer.set_spacing (18); + latency_button_box.pack_start (latency_apply_button); + delay_label.set_alignment (0, 0.5); + // changeable area route_param_frame.set_name("RouteParamsBaseFrame"); route_param_frame.set_shadow_type (Gtk::SHADOW_IN); @@ -117,7 +128,6 @@ RouteParams_UI::RouteParams_UI () route_hpacker.pack_start (notebook, true, true); - route_vpacker.pack_start (title_label, false, false); route_vpacker.pack_start (route_hpacker, true, true); @@ -143,6 +153,7 @@ RouteParams_UI::RouteParams_UI () title += _("Track/Bus Inspector"); set_title (title.get_string()); + // events route_display.get_selection()->signal_changed().connect(mem_fun(*this, &RouteParams_UI::route_selected)); route_display.get_column(0)->signal_clicked().connect(mem_fun(*this, &RouteParams_UI::show_track_menu)); @@ -162,14 +173,14 @@ RouteParams_UI::~RouteParams_UI () } void -RouteParams_UI::add_routes (Session::RouteList& routes) +RouteParams_UI::add_routes (RouteList& routes) { ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::add_routes), routes)); - for (Session::RouteList::iterator x = routes.begin(); x != routes.end(); ++x) { + for (RouteList::iterator x = routes.begin(); x != routes.end(); ++x) { boost::shared_ptr route = (*x); - if (route->hidden()) { + if (route->is_hidden()) { return; } @@ -179,16 +190,16 @@ RouteParams_UI::add_routes (Session::RouteList& routes) //route_select_list.rows().back().select (); - route->name_changed.connect (bind (mem_fun(*this, &RouteParams_UI::route_name_changed), route)); + route->NameChanged.connect (bind (mem_fun(*this, &RouteParams_UI::route_name_changed), route)); route->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::route_removed), route)); } } void -RouteParams_UI::route_name_changed (void *src, boost::shared_ptr route) +RouteParams_UI::route_name_changed (boost::shared_ptr route) { - ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::route_name_changed), src, route)); + ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::route_name_changed), route)); bool found = false ; TreeModel::Children rows = route_display_model->children(); @@ -212,24 +223,27 @@ RouteParams_UI::route_name_changed (void *src, boost::shared_ptr route) } void -RouteParams_UI::setup_redirect_boxes() +RouteParams_UI::setup_processor_boxes() { if (session && _route) { // just in case... shouldn't need this - cleanup_redirect_boxes(); + cleanup_processor_boxes(); // construct new redirect boxes - pre_redirect_box = new RedirectBox(PreFader, *session, _route, *_plugin_selector, _rr_selection); - post_redirect_box = new RedirectBox(PostFader, *session, _route, *_plugin_selector, _rr_selection); + pre_insert_box = new ProcessorBox(PreFader, *session, *_plugin_selector, _rr_selection, 0); + post_insert_box = new ProcessorBox(PostFader, *session, *_plugin_selector, _rr_selection, 0); + + pre_insert_box->set_route (_route); + post_insert_box->set_route (_route); - pre_redir_hpane.pack1 (*pre_redirect_box); - post_redir_hpane.pack1 (*post_redirect_box); + pre_redir_hpane.pack1 (*pre_insert_box); + post_redir_hpane.pack1 (*post_insert_box); - pre_redirect_box->RedirectSelected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PreFader)); - pre_redirect_box->RedirectUnselected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PreFader)); - post_redirect_box->RedirectSelected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PostFader)); - post_redirect_box->RedirectUnselected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PostFader)); + pre_insert_box->ProcessorSelected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PreFader)); + pre_insert_box->ProcessorUnselected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PreFader)); + post_insert_box->ProcessorSelected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PostFader)); + post_insert_box->ProcessorUnselected.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_selected), PostFader)); pre_redir_hpane.show_all(); post_redir_hpane.show_all(); @@ -238,36 +252,85 @@ RouteParams_UI::setup_redirect_boxes() } void -RouteParams_UI::cleanup_redirect_boxes() +RouteParams_UI::cleanup_processor_boxes() { - if (pre_redirect_box) { - pre_redir_hpane.remove(*pre_redirect_box); - delete pre_redirect_box; - pre_redirect_box = 0; + if (pre_insert_box) { + pre_redir_hpane.remove(*pre_insert_box); + delete pre_insert_box; + pre_insert_box = 0; } - if (post_redirect_box) { - post_redir_hpane.remove(*post_redirect_box); - delete post_redirect_box; - post_redirect_box = 0; + if (post_insert_box) { + post_redir_hpane.remove(*post_insert_box); + delete post_insert_box; + post_insert_box = 0; } } +void +RouteParams_UI::refresh_latency () +{ + if (latency_widget) { + latency_widget->refresh(); + + char buf[128]; + snprintf (buf, sizeof (buf), _("Playback delay: %u samples"), _route->initial_delay()); + delay_label.set_text (buf); + } +} + +void +RouteParams_UI::cleanup_latency_frame () +{ + if (latency_widget) { + latency_frame.remove (); + latency_packer.remove (*latency_widget); + latency_packer.remove (latency_button_box); + latency_packer.remove (delay_label); + delete latency_widget; + latency_widget = 0; + latency_conn.disconnect (); + delay_conn.disconnect (); + latency_apply_conn.disconnect (); + } +} + +void +RouteParams_UI::setup_latency_frame () +{ + latency_widget = new LatencyGUI (*(_route.get()), session->frame_rate(), session->engine().frames_per_cycle()); + + char buf[128]; + snprintf (buf, sizeof (buf), _("Playback delay: %u samples"), _route->initial_delay()); + delay_label.set_text (buf); + + latency_packer.pack_start (*latency_widget, false, false); + latency_packer.pack_start (latency_button_box, false, false); + latency_packer.pack_start (delay_label); + + latency_apply_conn = latency_apply_button.signal_clicked().connect (mem_fun (*latency_widget, &LatencyGUI::finish)); + latency_conn = _route->signal_latency_changed.connect (mem_fun (*this, &RouteParams_UI::refresh_latency)); + delay_conn = _route->initial_delay_changed.connect (mem_fun (*this, &RouteParams_UI::refresh_latency)); + + latency_frame.add (latency_packer); + latency_frame.show_all (); +} + void RouteParams_UI::setup_io_frames() { cleanup_io_frames(); // input - _input_iosel = new IOSelector (*session, _route, true); - _input_iosel->redisplay (); - input_frame.add (*_input_iosel); + _input_iosel = new IOSelector (*session, _route, false); + _input_iosel->setup (); + input_frame.add (*_input_iosel); input_frame.show_all(); // output - _output_iosel = new IOSelector (*session, _route, false); - _output_iosel->redisplay (); - output_frame.add (*_output_iosel); + _output_iosel = new IOSelector (*session, _route, true); + _output_iosel->setup (); + output_frame.add (*_output_iosel); output_frame.show_all(); } @@ -294,9 +357,9 @@ void RouteParams_UI::cleanup_pre_view (bool stopupdate) { if (_active_pre_view) { - LadspaPluginUI * plugui = 0; + GenericPluginUI * plugui = 0; - if (stopupdate && (plugui = dynamic_cast(_active_pre_view)) != 0) { + if (stopupdate && (plugui = dynamic_cast(_active_pre_view)) != 0) { plugui->stop_updating (0); } @@ -311,9 +374,9 @@ void RouteParams_UI::cleanup_post_view (bool stopupdate) { if (_active_post_view) { - LadspaPluginUI * plugui = 0; + GenericPluginUI * plugui = 0; - if (stopupdate && (plugui = dynamic_cast(_active_post_view)) != 0) { + if (stopupdate && (plugui = dynamic_cast(_active_post_view)) != 0) { plugui->stop_updating (0); } _post_plugin_conn.disconnect(); @@ -345,11 +408,11 @@ RouteParams_UI::route_removed (boost::shared_ptr route) cleanup_io_frames(); cleanup_pre_view(); cleanup_post_view(); - cleanup_redirect_boxes(); + cleanup_processor_boxes(); _route.reset ((Route*) 0); - _pre_redirect.reset ((Redirect*) 0); - _post_redirect.reset ((Redirect*) 0); + _pre_processor.reset ((Processor*) 0); + _post_processor.reset ((Processor*) 0); update_title(); } } @@ -362,7 +425,7 @@ RouteParams_UI::set_session (Session *sess) route_display_model->clear(); if (session) { - boost::shared_ptr r = session->get_routes(); + boost::shared_ptr r = session->get_routes(); add_routes (*r); session->GoingAway.connect (mem_fun(*this, &ArdourDialog::session_gone)); session->RouteAdded.connect (mem_fun(*this, &RouteParams_UI::add_routes)); @@ -387,11 +450,12 @@ RouteParams_UI::session_gone () cleanup_io_frames(); cleanup_pre_view(); cleanup_post_view(); - cleanup_redirect_boxes(); + cleanup_processor_boxes(); + cleanup_latency_frame (); _route.reset ((Route*) 0); - _pre_redirect.reset ((Redirect*) 0); - _post_redirect.reset ((Redirect*) 0); + _pre_processor.reset ((Processor*) 0); + _post_processor.reset ((Processor*) 0); update_title(); ArdourDialog::session_gone(); @@ -403,6 +467,7 @@ RouteParams_UI::route_selected() { Glib::RefPtr selection = route_display.get_selection(); TreeModel::iterator iter = selection->get_selected(); // only used with Gtk::SELECTION_SINGLE + if(iter) { //If anything is selected boost::shared_ptr route = (*iter)[route_display_columns.route] ; @@ -416,10 +481,11 @@ RouteParams_UI::route_selected() if (_route) { _route_conn.disconnect(); _route_ds_conn.disconnect(); - cleanup_redirect_boxes(); + cleanup_processor_boxes(); cleanup_pre_view(); cleanup_post_view(); cleanup_io_frames(); + cleanup_latency_frame (); } // update the other panes with the correct info @@ -427,14 +493,16 @@ RouteParams_UI::route_selected() //update_routeinfo (route); setup_io_frames(); - setup_redirect_boxes(); + setup_processor_boxes(); + setup_latency_frame (); // bind to redirects changed event for this route - _route_conn = route->redirects_changed.connect (mem_fun(*this, &RouteParams_UI::redirects_changed)); + _route_conn = route->processors_changed.connect (mem_fun(*this, &RouteParams_UI::processors_changed)); track_input_label.set_text (_route->name()); update_title(); + } else { // no selection if (_route) { @@ -444,63 +512,31 @@ RouteParams_UI::route_selected() cleanup_io_frames(); cleanup_pre_view(); cleanup_post_view(); - cleanup_redirect_boxes(); + cleanup_processor_boxes(); + cleanup_latency_frame (); _route.reset ((Route*) 0); - _pre_redirect.reset ((Redirect*) 0); - _post_redirect.reset ((Redirect *) 0); + _pre_processor.reset ((Processor*) 0); + _post_processor.reset ((Processor *) 0); track_input_label.set_text(_("NO TRACK")); update_title(); } } } -//void -//RouteParams_UI::route_unselected (gint row, gint col, GdkEvent *ev) -//{ -// if (_route) { -// _route_conn.disconnect(); - - // remove from view -// cleanup_io_frames(); -// cleanup_pre_view(); -// cleanup_post_view(); -// cleanup_redirect_boxes(); - -// _route.reset ((Route*)0); -// _pre_redirect = 0; -// _post_redirect = 0; -// track_input_label.set_text(_("NO TRACK")); -// update_title(); -// } -//} - void -RouteParams_UI::redirects_changed (void *src) - +RouteParams_UI::processors_changed () { - ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::redirects_changed), src)); - -// pre_redirect_list.freeze (); -// pre_redirect_list.clear (); -// post_redirect_list.freeze (); -// post_redirect_list.clear (); -// if (_route) { -// _route->foreach_redirect (this, &RouteParams_UI::add_redirect_to_display); -// } -// pre_redirect_list.thaw (); -// post_redirect_list.thaw (); - + ENSURE_GUI_THREAD(mem_fun(*this, &RouteParams_UI::processors_changed)); cleanup_pre_view(); cleanup_post_view(); - _pre_redirect.reset ((Redirect*) 0); - _post_redirect.reset ((Redirect*) 0); + _pre_processor.reset ((Processor*) 0); + _post_processor.reset ((Processor*) 0); + //update_title(); } - - void RouteParams_UI::show_track_menu() { @@ -516,101 +552,120 @@ RouteParams_UI::show_track_menu() track_menu->popup (1, gtk_get_current_event_time()); } - - void -RouteParams_UI::redirect_selected (boost::shared_ptr redirect, ARDOUR::Placement place) +RouteParams_UI::redirect_selected (boost::shared_ptr insert, ARDOUR::Placement place) { - boost::shared_ptr insert; - - if ((place == PreFader && _pre_redirect == redirect) - || (place == PostFader && _post_redirect == redirect)){ + if ((place == PreFader && _pre_processor == insert) + || (place == PostFader && _post_processor == insert)){ return; } - if ((insert = boost::dynamic_pointer_cast (redirect)) == 0) { + boost::shared_ptr send; + boost::shared_ptr retrn; + boost::shared_ptr plugin_insert; + boost::shared_ptr port_insert; + + if ((send = boost::dynamic_pointer_cast (insert)) != 0) { - boost::shared_ptr send; - - if ((send = boost::dynamic_pointer_cast (redirect)) != 0) { + SendUI *send_ui = new SendUI (send, *session); - /* its a send */ + if (place == PreFader) { + cleanup_pre_view(); + _pre_plugin_conn = send->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_pre_view = send_ui; + + pre_redir_hpane.add2 (*_active_pre_view); + pre_redir_hpane.show_all(); + } else { + cleanup_post_view(); + _post_plugin_conn = send->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_post_view = send_ui; + + post_redir_hpane.add2 (*_active_post_view); + post_redir_hpane.show_all(); + } - SendUI *send_ui = new SendUI (send, *session); + } else if ((retrn = boost::dynamic_pointer_cast (insert)) != 0) { - if (place == PreFader) { - cleanup_pre_view(); - _pre_plugin_conn = send->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), redirect)); - _active_pre_view = send_ui; - - pre_redir_hpane.add2 (*_active_pre_view); - pre_redir_hpane.show_all(); - } - else { - cleanup_post_view(); - _post_plugin_conn = send->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), redirect)); - _active_post_view = send_ui; - - post_redir_hpane.add2 (*_active_post_view); - post_redir_hpane.show_all(); - } + ReturnUI *return_ui = new ReturnUI (retrn, *session); + + if (place == PreFader) { + cleanup_pre_view(); + _pre_plugin_conn = retrn->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_pre_view = return_ui; + + pre_redir_hpane.add2 (*_active_pre_view); + pre_redir_hpane.show_all(); + } else { + cleanup_post_view(); + _post_plugin_conn = retrn->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_post_view = return_ui; + + post_redir_hpane.add2 (*_active_post_view); + post_redir_hpane.show_all(); } - } else { - /* its an insert, though we don't know what kind yet. */ + } else if ((plugin_insert = boost::dynamic_pointer_cast (insert)) != 0) { - boost::shared_ptr plugin_insert; - boost::shared_ptr port_insert; - - if ((plugin_insert = boost::dynamic_pointer_cast (insert)) != 0) { - - LadspaPluginUI *plugin_ui = new LadspaPluginUI (plugin_insert, true); - - if (place == PreFader) { - cleanup_pre_view(); - _pre_plugin_conn = plugin_insert->plugin()->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::plugin_going_away), PreFader)); - plugin_ui->start_updating (0); - _active_pre_view = plugin_ui; - pre_redir_hpane.pack2 (*_active_pre_view); - pre_redir_hpane.show_all(); - } - else { - cleanup_post_view(); - _post_plugin_conn = plugin_insert->plugin()->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::plugin_going_away), PostFader)); - plugin_ui->start_updating (0); - _active_post_view = plugin_ui; - post_redir_hpane.pack2 (*_active_post_view); - post_redir_hpane.show_all(); - } - - } else if ((port_insert = boost::dynamic_pointer_cast (insert)) != 0) { - - PortInsertUI *portinsert_ui = new PortInsertUI (*session, port_insert); - - if (place == PreFader) { - cleanup_pre_view(); - _pre_plugin_conn = port_insert->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), redirect)); - _active_pre_view = portinsert_ui; - pre_redir_hpane.pack2 (*_active_pre_view); - portinsert_ui->redisplay(); - pre_redir_hpane.show_all(); - } - else { - cleanup_post_view(); - _post_plugin_conn = port_insert->GoingAway.connect (bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), redirect)); - _active_post_view = portinsert_ui; - post_redir_hpane.pack2 (*_active_post_view); - portinsert_ui->redisplay(); - post_redir_hpane.show_all(); - } + GenericPluginUI *plugin_ui = new GenericPluginUI (plugin_insert, true); + + if (place == PreFader) { + cleanup_pre_view(); + _pre_plugin_conn = plugin_insert->plugin()->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::plugin_going_away), + PreFader)); + plugin_ui->start_updating (0); + _active_pre_view = plugin_ui; + pre_redir_hpane.pack2 (*_active_pre_view); + pre_redir_hpane.show_all(); + } else { + cleanup_post_view(); + _post_plugin_conn = plugin_insert->plugin()->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::plugin_going_away), + PostFader)); + plugin_ui->start_updating (0); + _active_post_view = plugin_ui; + post_redir_hpane.pack2 (*_active_post_view); + post_redir_hpane.show_all(); } + + } else if ((port_insert = boost::dynamic_pointer_cast (insert)) != 0) { + + PortInsertUI *portinsert_ui = new PortInsertUI (*session, port_insert); + if (place == PreFader) { + cleanup_pre_view(); + _pre_plugin_conn = port_insert->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_pre_view = portinsert_ui; + pre_redir_hpane.pack2 (*_active_pre_view); + portinsert_ui->redisplay(); + pre_redir_hpane.show_all(); + } else { + cleanup_post_view(); + _post_plugin_conn = port_insert->GoingAway.connect (bind ( + mem_fun(*this, &RouteParams_UI::redirect_going_away), + insert)); + _active_post_view = portinsert_ui; + post_redir_hpane.pack2 (*_active_post_view); + portinsert_ui->redisplay(); + post_redir_hpane.show_all(); + } } - + if (place == PreFader) { - _pre_redirect = redirect; + _pre_processor = insert; } else { - _post_redirect = redirect; + _post_processor = insert; } update_title(); @@ -626,28 +681,28 @@ RouteParams_UI::plugin_going_away (Placement place) if (place == PreFader) { cleanup_pre_view (false); - _pre_redirect.reset ((Redirect*) 0); + _pre_processor.reset ((Processor*) 0); } else { cleanup_post_view (false); - _post_redirect.reset ((Redirect*) 0); + _post_processor.reset ((Processor*) 0); } } void -RouteParams_UI::redirect_going_away (boost::shared_ptr redirect) +RouteParams_UI::redirect_going_away (boost::shared_ptr insert) { - ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), redirect)); + ENSURE_GUI_THREAD(bind (mem_fun(*this, &RouteParams_UI::redirect_going_away), insert)); printf ("redirect going away\n"); // delete the current view without calling finish - if (redirect == _pre_redirect) { + if (insert == _pre_processor) { cleanup_pre_view (false); - _pre_redirect.reset ((Redirect*) 0); - } else if (redirect == _post_redirect) { + _pre_processor.reset ((Processor*) 0); + } else if (insert == _post_processor) { cleanup_post_view (false); - _post_redirect.reset ((Redirect*) 0); + _post_processor.reset ((Processor*) 0); } } @@ -673,7 +728,7 @@ RouteParams_UI::update_title () // } title_label.set_text(_route->name()); - + title += _route->name(); set_title(title.get_string()); @@ -685,7 +740,6 @@ RouteParams_UI::update_title () } } - void RouteParams_UI::start_updating () {