summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_time_axis.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-09 14:48:33 +0200
committerRobin Gareus <robin@gareus.org>2017-06-15 16:06:32 +0200
commitaf6941ac3409167cc7e4eb799035fbcdc9e835dd (patch)
tree027c6de093e8b49d041e1980b40f6feb32f121bd /gtk2_ardour/automation_time_axis.cc
parent5957a4619ae06158dda68f92f346fbb26d7bb724 (diff)
Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV) * move common strip-methods into STAV * Add Automation Lanes to VCA TAV * Allow ATAV without Automatable for VCA Controls
Diffstat (limited to 'gtk2_ardour/automation_time_axis.cc')
-rw-r--r--gtk2_ardour/automation_time_axis.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index ef06068c52..f575cb2a45 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -324,6 +324,9 @@ AutomationTimeAxisView::set_automation_state (AutoState state)
if (_automatable) {
_automatable->set_parameter_automation_state (_parameter, state);
}
+ else if (_control) {
+ _control->set_automation_state (state);
+ }
if (_view) {
_view->set_automation_state (state);
@@ -916,14 +919,14 @@ AutomationTimeAxisView::lines () const
string
AutomationTimeAxisView::state_id() const
{
- if (_automatable != _stripable && _control) {
- return string("automation ") + _control->id().to_s();
- } else if (_parameter) {
+ if (_parameter && _stripable && _automatable == _stripable) {
const string parameter_str = PBD::to_string (_parameter.type()) + "/" +
PBD::to_string (_parameter.id()) + "/" +
PBD::to_string (_parameter.channel ());
return string("automation ") + PBD::to_string(_stripable->id()) + " " + parameter_str;
+ } else if (_automatable != _stripable && _control) {
+ return string("automation ") + _control->id().to_s();
} else {
error << "Automation time axis has no state ID" << endmsg;
return "";