speed up session load (display updates)

This commit is contained in:
Robin Gareus 2014-09-06 12:52:29 +02:00
parent 8bc872614e
commit 3a75fab244
5 changed files with 12 additions and 4 deletions

View File

@ -553,9 +553,12 @@ ARDOUR_UI::post_engine ()
Glib::signal_timeout().connect_seconds (sigc::mem_fun(*this, &ARDOUR_UI::update_wall_clock), 1);
#endif
Config->ParameterChanged.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context());
boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1));
Config->map_parameters (pc);
{
DisplaySuspender ds;
Config->ParameterChanged.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context());
boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1));
Config->map_parameters (pc);
}
}
ARDOUR_UI::~ARDOUR_UI ()

View File

@ -72,6 +72,7 @@ ARDOUR_UI::we_have_dependents ()
void
ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s)
{
DisplaySuspender ds;
BootMessage (_("Setup Editor"));
editor->set_session (s);
BootMessage (_("Setup Mixer"));

View File

@ -893,6 +893,7 @@ void
Editor::show_window ()
{
if (!is_visible ()) {
DisplaySuspender ds;
show_all ();
/* XXX: this is a bit unfortunate; it would probably

View File

@ -494,9 +494,10 @@ EditorRoutes::show_menu ()
void
EditorRoutes::redisplay ()
{
if (_no_redisplay || !_session || _session->deletion_in_progress()) {
if (_no_redisplay || !_session || _session->deletion_in_progress() || _redisplaying) {
return;
}
_redisplaying = true; // tv->show_at() below causes recursive redisplay via handle_gui_changes()
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
@ -545,6 +546,7 @@ EditorRoutes::redisplay ()
*/
_editor->vertical_adjustment.set_value (_editor->_full_canvas_height - _editor->_visible_canvas_height);
}
_redisplaying = false;
}
void

View File

@ -151,6 +151,7 @@ private:
bool _ignore_reorder;
bool _no_redisplay;
bool _redisplaying;
bool _adding_routes;
bool _route_deletion_in_progress;