make waveforms centered when height hits NAME_HIGHLIGHT_THRESHOLD
[ardour.git] / gtk2_ardour / selection.cc
index 82e8bbb682905adbd706ae5812b47644645e33f6..2e4ed8a1176caba4287e60b7d9f78199ba21ac8c 100644 (file)
@@ -33,6 +33,7 @@
 #include "i18n.h"
 
 using namespace ARDOUR;
+using namespace PBD;
 using namespace sigc;
 
 struct AudioRangeComparator {
@@ -199,18 +200,29 @@ Selection::toggle (AudioRegionView* r)
 {
        AudioRegionSelection::iterator i;
 
-       cerr << "about to toggle a regionview\n";
-
        if ((i = find (audio_regions.begin(), audio_regions.end(), r)) == audio_regions.end()) {
                audio_regions.add (r);
-               cerr << "\tadded\n";
        } else {
                audio_regions.erase (i);
-               cerr << "\tremoved\n";
        }
 
        RegionsChanged ();
-       cerr << "done\n";
+}
+
+void
+Selection::toggle (vector<AudioRegionView*>& r)
+{
+       AudioRegionSelection::iterator i;
+
+       for (vector<AudioRegionView*>::iterator x = r.begin(); x != r.end(); ++x) {
+               if ((i = find (audio_regions.begin(), audio_regions.end(), (*x))) == audio_regions.end()) {
+                       audio_regions.add ((*x));
+               } else {
+                       audio_regions.erase (i);
+               }
+       }
+
+       RegionsChanged ();
 }
 
 long
@@ -651,6 +663,6 @@ Selection::add (vector<AutomationSelectable*>& autos)
                points.push_back (**i);
                delete *i;
        }
-       
+
        PointsChanged ();
 }