summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-06-19 15:06:48 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-06-19 15:06:48 -0400
commit237741d18722252abd4a6a20d3422315481ccffe (patch)
tree38aedcba944593ffcb0fd1f19b194ba7a0d2d2b0 /gtk2_ardour
parent2ebaf2e45a2190ea97826f5c69bb7676e5528e5e (diff)
ensure that all waveviews have ALL their colors set accurately before first render
Avoids occasional bright red zero line drawn because the color(s) had not been reset correctly
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/audio_region_view.cc12
-rw-r--r--gtk2_ardour/audio_region_view.h1
2 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index 38dcc5c386..928902bf42 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -1157,6 +1157,10 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
wave->set_logscaled (Config->get_waveform_scale() == Logarithmic);
+ vector<ArdourCanvas::WaveView*> v;
+ v.push_back (wave);
+ set_some_waveform_colors (v);
+
if (!Config->get_show_waveforms ()) {
wave->hide();
}
@@ -1391,6 +1395,12 @@ AudioRegionView::color_handler ()
void
AudioRegionView::set_waveform_colors ()
{
+ set_some_waveform_colors (waves);
+}
+
+void
+AudioRegionView::set_some_waveform_colors (vector<ArdourCanvas::WaveView*>& waves_to_color)
+{
ArdourCanvas::Color fill;
ArdourCanvas::Color outline;
ArdourCanvas::Color clip = ARDOUR_UI::config()->get_canvasvar_WaveFormClip();
@@ -1435,7 +1445,7 @@ AudioRegionView::set_waveform_colors ()
}
}
- for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
+ for (vector<ArdourCanvas::WaveView*>::iterator w = waves_to_color.begin(); w != waves_to_color.end(); ++w) {
(*w)->set_fill_color (fill);
(*w)->set_outline_color (outline);
(*w)->set_clip_color (clip);
diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h
index 20caea17c1..ffadce0c59 100644
--- a/gtk2_ardour/audio_region_view.h
+++ b/gtk2_ardour/audio_region_view.h
@@ -205,6 +205,7 @@ private:
void parameter_changed (std::string const &);
void setup_waveform_visibility ();
+ void set_some_waveform_colors (std::vector<ArdourCanvas::WaveView*>& waves_to_color);
/** A ScopedConnection for each PeaksReady callback (one per channel). Each member
* may be 0 if no connection exists.