add JAG to author list
[ardour.git] / gtk2_ardour / audio_region_view.cc
index 2bc45ddaca17329a246ef568fc40e158196f44c8..20310c4f4f21a45185641e38aea6454e313fe8ac 100644 (file)
@@ -176,7 +176,6 @@ AudioRegionView::init (Gdk::Color& basic_color, bool wfd)
        fade_out_shape->property_fill_color_rgba() = fade_color;
        fade_out_shape->set_data ("regionview", this);
 
-
        {
                uint32_t r,g,b,a;
                UINT_TO_RGBA(fill_color,&r,&g,&b,&a);
@@ -199,6 +198,10 @@ AudioRegionView::init (Gdk::Color& basic_color, bool wfd)
                fade_out_handle->set_data ("regionview", this);
        }
 
+       if (!Config->get_show_region_fades()) {
+               set_fade_visibility (false);
+       }
+
        string foo = _region->name();
        foo += ':';
        foo += "gain";
@@ -392,8 +395,10 @@ AudioRegionView::reset_width_dependent_items (double pixel_width)
                                fade_in_handle->hide();
                                fade_out_handle->hide();
                        } else {
-                               fade_in_handle->show();
-                               fade_out_handle->show();
+                               if (Config->get_show_region_fades()) {
+                                       fade_in_handle->show();
+                                       fade_out_handle->show();
+                               }
                        }
                }
        }
@@ -427,9 +432,6 @@ AudioRegionView::set_height (gdouble height)
        height -= 2;
        TimeAxisViewItem::set_height (height);
        
-       
-       _height = height;
-
        for (uint32_t n=0; n < wcnt; ++n) {
                gdouble ht;
 
@@ -453,15 +455,12 @@ AudioRegionView::set_height (gdouble height)
                                gain_line->show ();
                        }
                }
-               gain_line->set_height ((uint32_t) rint (height - NAME_HIGHLIGHT_SIZE));
+               gain_line->set_height ((uint32_t) rint (height - NAME_HIGHLIGHT_SIZE - 2));
        }
 
        manage_zero_line ();
        reset_fade_shapes ();
-       
-       if (name_text) {
-               name_text->raise_to_top();
-       }
+
 }
 
 void
@@ -533,7 +532,9 @@ AudioRegionView::reset_fade_in_shape_width (nframes_t width)
                return;
        }
 
-       fade_in_shape->show();
+       if (Config->get_show_region_fades()) {
+               fade_in_shape->show();
+       }
 
        float curve[npoints];
        audio_region()->fade_in().get_vector (0, audio_region()->fade_in().back()->when, curve, npoints);
@@ -619,7 +620,9 @@ AudioRegionView::reset_fade_out_shape_width (nframes_t width)
                return;
        } 
        
-       fade_out_shape->show();
+       if (Config->get_show_region_fades()) {
+               fade_out_shape->show();
+       }
 
        float curve[npoints];
        audio_region()->fade_out().get_vector (0, audio_region()->fade_out().back()->when, curve, npoints);
@@ -1006,25 +1009,25 @@ AudioRegionView::set_flags (XMLNode* node)
        XMLProperty *prop;
 
        if ((prop = node->property ("waveform-visible")) != 0) {
-               if (prop->value() == "yes") {
+               if (string_is_affirmative (prop->value())) {
                        _flags |= WaveformVisible;
                }
        }
 
        if ((prop = node->property ("envelope-visible")) != 0) {
-               if (prop->value() == "yes") {
+               if (string_is_affirmative (prop->value())) {
                        _flags |= EnvelopeVisible;
                }
        }
 
        if ((prop = node->property ("waveform-rectified")) != 0) {
-               if (prop->value() == "yes") {
+               if (string_is_affirmative (prop->value())) {
                        _flags |= WaveformRectified;
                }
        }
 
        if ((prop = node->property ("waveform-logscaled")) != 0) {
-               if (prop->value() == "yes") {
+               if (string_is_affirmative (prop->value())) {
                        _flags |= WaveformLogScaled;
                }
        }
@@ -1266,3 +1269,34 @@ AudioRegionView::set_frame_color ()
        }
 }
 
+void
+AudioRegionView::set_fade_visibility (bool yn)
+{
+       if (yn) {
+               if (fade_in_shape) {
+                       fade_in_shape->show();
+               }
+               if (fade_out_shape) {
+                       fade_out_shape->show ();
+               } 
+               if (fade_in_handle) {
+                       fade_in_handle->show ();
+               } 
+               if (fade_out_handle) {
+                       fade_out_handle->show ();
+               }
+       } else {
+               if (fade_in_shape) {
+                       fade_in_shape->hide();
+               }
+               if (fade_out_shape) {
+                       fade_out_shape->hide ();
+               } 
+               if (fade_in_handle) {
+                       fade_in_handle->hide ();
+               } 
+               if (fade_out_handle) {
+                       fade_out_handle->hide ();
+               }
+       }
+}