mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-21 06:06:25 +01:00
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
This commit is contained in:
parent
27be517b9f
commit
08768cef90
2 changed files with 12 additions and 1 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -1390,6 +1394,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;
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue