summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_time_axis.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-07-13 17:13:30 +0000
committerCarl Hetherington <carl@carlh.net>2011-07-13 17:13:30 +0000
commit80972784e348aa51522e562b3d6b250745c489f0 (patch)
tree4d3fd6d92adea6a5e06e5ca9e2e516b960044d3e /gtk2_ardour/midi_time_axis.cc
parentf6a50adf42b40291d7b62d7e08348f5bfb8cc4ac (diff)
Fix non visibility of previously-visible MIDI automation
tracks on session reload. git-svn-id: svn://localhost/ardour2/branches/3.0@9863 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r--gtk2_ardour/midi_time_axis.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 8ebe40c864..0adb02725f 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -230,6 +230,22 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
_percussion_mode_item->set_active (_note_mode == Percussive);
}
}
+
+ /* Look for any GUI object state nodes that represent automation children that should exist, and create
+ * the children.
+ */
+
+ GUIObjectState& gui_state = gui_object_state ();
+ for (GUIObjectState::StringPropertyMap::const_iterator i = gui_state.begin(); i != gui_state.end(); ++i) {
+ PBD::ID route_id;
+ bool has_parameter;
+ Evoral::Parameter parameter (0, 0, 0);
+
+ bool const p = AutomationTimeAxisView::parse_state_id (i->first, route_id, has_parameter, parameter);
+ if (p && route_id == _route->id () && has_parameter) {
+ create_automation_child (parameter, string_is_affirmative (gui_object_state().get_string (i->first, X_("visible"))));
+ }
+ }
}
void