summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_routes.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-29 02:52:56 +0200
committerRobin Gareus <robin@gareus.org>2014-06-29 02:52:56 +0200
commitc52cb37bf2abc7f8e6912f59c79af060e60f4640 (patch)
tree472fc7e96edeb45f28f0190765882825f220216a /gtk2_ardour/editor_routes.cc
parent77216ac468d4ffe9ba044a9be377d7d2a7fa27b4 (diff)
suspend route redisplay for (rec-en, solo, mute and monitor) batch changes
Diffstat (limited to 'gtk2_ardour/editor_routes.cc')
-rw-r--r--gtk2_ardour/editor_routes.cc39
1 files changed, 9 insertions, 30 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 605f90486c..025633b090 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -562,15 +562,8 @@ EditorRoutes::row_deleted (Gtk::TreeModel::Path const &)
DEBUG_TRACE (DEBUG::OrderKeys, "editor routes treeview row deleted\n");
- if (_route_deletion_in_progress) {
- suspend_redisplay ();
- }
-
+ DisplaySuspender ds;
sync_order_keys_from_treeview ();
-
- if (_route_deletion_in_progress) {
- resume_redisplay ();
- }
}
void
@@ -591,6 +584,7 @@ EditorRoutes::visible_changed (std::string const & path)
return;
}
+ DisplaySuspender ds;
TreeIter iter;
if ((iter = _model->get_iter (path))) {
@@ -639,7 +633,7 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
_editor->selection->tracks.clear();
}
- suspend_redisplay ();
+ DisplaySuspender ds;
_display.set_model (Glib::RefPtr<ListStore>());
@@ -708,7 +702,6 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
update_input_active_display ();
update_active_display ();
- resume_redisplay ();
_display.set_model (_model);
/* now update route order keys from the treeview/track display order */
@@ -803,7 +796,7 @@ EditorRoutes::update_visibility ()
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds ();
for (i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView *tv = (*i)[_columns.tv];
@@ -814,8 +807,6 @@ EditorRoutes::update_visibility ()
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -1033,7 +1024,7 @@ EditorRoutes::hide_all_tracks (bool /*with_select*/)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1046,8 +1037,6 @@ EditorRoutes::hide_all_tracks (bool /*with_select*/)
row[_columns.visible] = false;
}
-
- resume_redisplay ();
}
void
@@ -1056,7 +1045,7 @@ EditorRoutes::set_all_tracks_visibility (bool yn)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1075,8 +1064,6 @@ EditorRoutes::set_all_tracks_visibility (bool yn)
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -1085,7 +1072,7 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
TreeModel::Children rows = _model->children();
TreeModel::Children::iterator i;
- suspend_redisplay ();
+ DisplaySuspender ds;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -1137,8 +1124,6 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
*/
sync_order_keys_from_treeview ();
-
- resume_redisplay ();
}
void
@@ -1383,11 +1368,10 @@ struct EditorOrderRouteSorter {
void
EditorRoutes::initial_display ()
{
- suspend_redisplay ();
+ DisplaySuspender ds;
_model->clear ();
if (!_session) {
- resume_redisplay ();
return;
}
@@ -1414,8 +1398,6 @@ EditorRoutes::initial_display ()
_editor->add_routes (r);
}
-
- resume_redisplay ();
}
void
@@ -1724,14 +1706,11 @@ EditorRoutes::show_tracks_with_regions_at_playhead ()
}
}
- suspend_redisplay ();
+ DisplaySuspender ds;
TreeModel::Children rows = _model->children ();
for (TreeModel::Children::iterator i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView* tv = (*i)[_columns.tv];
(*i)[_columns.visible] = (show.find (tv) != show.end());
}
-
- resume_redisplay ();
}
-