diff options
author | David Robillard <d@drobilla.net> | 2014-11-17 00:13:53 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-11-17 00:13:53 -0500 |
commit | 85cf4b4dbdaa842f5868ada761c20e5b529dd473 (patch) | |
tree | f60aeb0e8eca219ddeef75fe2b26ec8e63c5896f /gtk2_ardour/automation_time_axis.cc | |
parent | c91b6912604c82e05c341881da9e871878b343b2 (diff) |
Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.
Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
Diffstat (limited to 'gtk2_ardour/automation_time_axis.cc')
-rw-r--r-- | gtk2_ardour/automation_time_axis.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 61c5d28e19..5a6bf5dbbe 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -23,6 +23,7 @@ #include <boost/algorithm/string.hpp> #include <boost/lexical_cast.hpp> +#include "pbd/error.h" #include "pbd/memento_command.h" #include "pbd/stacktrace.h" @@ -876,15 +877,17 @@ AutomationTimeAxisView::lines () const string AutomationTimeAxisView::state_id() const { - if (_control) { + if (_automatable != _route && _control) { return string_compose ("automation %1", _control->id().to_s()); - } else { - assert (_parameter); + } else if (_parameter) { return string_compose ("automation %1 %2/%3/%4", _route->id(), _parameter.type(), _parameter.id(), (int) _parameter.channel()); + } else { + error << "Automation time axis has no state ID" << endmsg; + return ""; } } |