#include "canvas/line.h"
#include "canvas/text.h"
#include "canvas/debug.h"
+#include "canvas/utils.h"
#include "streamview.h"
#include "audio_region_view.h"
setup_waveform_shape ();
setup_waveform_scale ();
- frame_handle_start->raise_to_top ();
- frame_handle_end->raise_to_top ();
+ if (frame_handle_start) {
+ frame_handle_start->raise_to_top ();
+ }
+ if (frame_handle_end) {
+ frame_handle_end->raise_to_top ();
+ }
/* XXX sync mark drag? */
}
if (_recregion) {
wave->set_outline_color (_region->muted() ? UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->get_canvasvar_RecWaveForm(), MUTED_ALPHA) : ARDOUR_UI::config()->get_canvasvar_RecWaveForm());
+
+
+
wave->set_fill_color (ARDOUR_UI::config()->get_canvasvar_RecWaveFormFill());
} 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->set_fill_color (ARDOUR_UI::config()->get_canvasvar_WaveFormFill());
+
+ /* 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);
+
+ /* 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);
}
wave->set_clip_color (ARDOUR_UI::config()->get_canvasvar_WaveFormClip());
wave->set_zero_color (ARDOUR_UI::config()->get_canvasvar_ZeroLine());
- // CAIROCANVAS
- // wave->property_zero_line() = true;
+ wave->set_show_zero_line (true);
switch (Config->get_waveform_shape()) {
case Rectified:
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)
{
}
editor->present ();
- editor->set_position (Gtk::WIN_POS_MOUSE);
editor->show_all();
}