diff options
Diffstat (limited to 'gtk2_ardour/automation_time_axis.cc')
-rw-r--r-- | gtk2_ardour/automation_time_axis.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 69653c9c99..0da3a38fdc 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -163,6 +163,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, boost::shared_ptr<Ro /* make sure labels etc. are correct */ automation_state_changed (); + ColorChanged.connect (mem_fun (*this, &AutomationTimeAxisView::color_handler)); } AutomationTimeAxisView::~AutomationTimeAxisView () @@ -788,6 +789,42 @@ AutomationTimeAxisView::exited () } void +AutomationTimeAxisView::set_colors () { + + for( list<GhostRegion *>::iterator i=ghosts.begin(); i != ghosts.end(); i++ ) { + (*i)->set_colors(); + } + + for( vector<AutomationLine *>::iterator i=lines.begin(); i != lines.end(); i++ ) { + (*i)->set_colors(); + } + +} + +void +AutomationTimeAxisView::color_handler (ColorID id, uint32_t val) { + + switch (id) { + case cGhostTrackWave: + case cGhostTrackWaveClip: + case cGhostTrackZeroLine: + + case cControlPoint: + case cControlPointFill: + case cControlPointOutline: + case cAutomationLine: + set_colors (); + + break; + + default: + break; + } +} + + + +void AutomationTimeAxisView::set_state (const XMLNode& node) { TimeAxisView::set_state (node); |