summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_region_view.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-06-21 13:17:37 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-06-21 13:17:37 -0400
commit1c74a3ab2da2de7b4e0df177d76cdb5cc695c7bd (patch)
tree7fd1e7eb697b8fdf66f4288174e1b0f7c3ad24da /gtk2_ardour/audio_region_view.cc
parent68779e0c0a89dab028dbc9662278c8ee0be13c84 (diff)
waveform drawing improvements
* handle logscaled and rectified * put dark tips in right places * improve color selection algorithm
Diffstat (limited to 'gtk2_ardour/audio_region_view.cc')
-rw-r--r--gtk2_ardour/audio_region_view.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index 6ee30ea912..47aebb765f 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -1194,13 +1194,21 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
} else {
wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_WaveForm(), MUTED_ALPHA) : ARDOUR_UI::config()->get_canvasvar_WaveForm());
+ /* wave color is a saturated, whiter version of the frame's
+ * fill color
+ */
+
ArdourCanvas::Color c = frame->fill_color ();
double h, s, v;
ArdourCanvas::color_to_hsv (c, h, s, v);
- v *= 0.5;
- c = ArdourCanvas::hsv_to_color (h, s, v, 1.0);
- //wave->set_fill_color (ARDOUR_UI::config()->get_canvasvar_WaveFormFill());
+ /* full saturate */
+ s = 1.0;
+ /* head towards white */
+ v = min (1.0, v * 3.0);
+
+ c = ArdourCanvas::hsv_to_color (h, s, v, _region->muted() ? MUTED_ALPHA : 1.0);
+
wave->set_fill_color (c);
}
@@ -1343,12 +1351,9 @@ AudioRegionView::setup_waveform_shape ()
void
AudioRegionView::setup_waveform_scale ()
{
- for (vector<WaveView *>::iterator wave = waves.begin(); wave != waves.end() ; ++wave) {
- (*wave)->set_logscaled (Config->get_waveform_scale() == Logarithmic);
- }
+ WaveView::set_global_logscaled (Config->get_waveform_scale() == Logarithmic);
}
-
GhostRegion*
AudioRegionView::add_ghost (TimeAxisView& tv)
{