Make the route group submenu of the RouteTimeAxisView menu apply to the selection.
[ardour.git] / gtk2_ardour / audio_region_view.cc
index 4a5a477a5ceea1319ebe22ba0a3f5729d51c2d28..0dea60b2782c39cdb8e6ba86bf98a4fd6154993b 100644 (file)
@@ -411,11 +411,10 @@ AudioRegionView::region_resized (const PropertyChange& what_changed)
                list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
                
                for (l = feature_lines.begin(); l != feature_lines.end(); ++l) {
-                       if ((*l).first > _region->length()- 1){
-                         (*l).second->hide();
-                       }
-                       else {
-                         (*l).second->show();
+                       if (l->first > _region->length() - 1) {
+                               l->second->hide();
+                       } else {
+                               l->second->show();
                        }
                }
        }
@@ -1336,37 +1335,39 @@ AudioRegionView::set_frame_color ()
        }
 
        TimeAxisViewItem::set_frame_color ();
+        
+        uint32_t wc;
+        uint32_t fc;
 
        if (_selected) {
-               for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
-                       if (_region->muted()) {
-                               (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA);
-                       } else {
-                               (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get();
-                               (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get();
-                       }
-               }
+                wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_SelectedWaveForm.get(), MUTED_ALPHA);
+                fc = ARDOUR_UI::config()->canvasvar_SelectedWaveFormFill.get();
        } else {
                if (_recregion) {
-                       for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
-                               if (_region->muted()) {
-                                       (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA);
-                               } else {
-                                       (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_RecWaveForm.get();
-                                       (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get();
-                               }
-                       }
+                        if (_region->muted()) {
+                                wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_RecWaveForm.get(), MUTED_ALPHA);
+                        } else {
+                                wc = ARDOUR_UI::config()->canvasvar_RecWaveForm.get();
+                                fc = ARDOUR_UI::config()->canvasvar_RecWaveFormFill.get();
+                        }
                } else {
-                       for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
-                               if (_region->muted()) {
-                                       (*w)->property_wave_color() = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA);
-                               } else {
-                                       (*w)->property_wave_color() = ARDOUR_UI::config()->canvasvar_WaveForm.get();
-                                       (*w)->property_fill_color() = ARDOUR_UI::config()->canvasvar_WaveFormFill.get();
-                               }
-                       }
+                        if (_region->muted()) {
+                                wc = UINT_RGBA_CHANGE_A(ARDOUR_UI::config()->canvasvar_WaveForm.get(), MUTED_ALPHA);
+                        } else {
+                                wc = ARDOUR_UI::config()->canvasvar_WaveForm.get();
+                                fc = ARDOUR_UI::config()->canvasvar_WaveFormFill.get();
+                        }
                }
        }
+
+        for (vector<ArdourCanvas::WaveView*>::iterator w = waves.begin(); w != waves.end(); ++w) {
+                if (_region->muted()) {
+                        (*w)->property_wave_color() = wc;
+                } else {
+                        (*w)->property_wave_color() = wc;
+                        (*w)->property_fill_color() = fc;
+                }
+        }
 }
 
 void