remove debug output
[ardour.git] / gtk2_ardour / selection.cc
index 395ceda1696ad95aa00b814d292bca6bb473653f..146d9a65c50f9c2da169a66bdc44b8a7988e0aac 100644 (file)
@@ -119,7 +119,6 @@ Selection::clear_objects ()
        clear_playlists ();
        clear_midi_notes ();
        clear_midi_regions ();
-       clear_markers ();
 }
 
 void
@@ -346,13 +345,13 @@ Selection::toggle (framepos_t start, framepos_t end)
 
        /* XXX this implementation is incorrect */
 
-       time.push_back (AudioRange (start, end, next_time_id++));
+       time.push_back (AudioRange (start, end, ++next_time_id));
        time.consolidate ();
        time.sort (cmp);
 
        TimeChanged ();
 
-       return next_time_id - 1;
+       return next_time_id;
 }
 
 void
@@ -522,13 +521,28 @@ Selection::add (framepos_t start, framepos_t end)
 
        /* XXX this implementation is incorrect */
 
-       time.push_back (AudioRange (start, end, next_time_id++));
+       time.push_back (AudioRange (start, end, ++next_time_id));
        time.consolidate ();
        time.sort (cmp);
 
        TimeChanged ();
 
-       return next_time_id - 1;
+       return next_time_id;
+}
+
+void
+Selection::move_time (framecnt_t distance)
+{
+       if (distance == 0) {
+               return;
+       }
+
+       for (list<AudioRange>::iterator i = time.begin(); i != time.end(); ++i) {
+               (*i).start += distance;
+               (*i).end += distance;
+       }
+
+       TimeChanged ();
 }
 
 void
@@ -844,7 +858,7 @@ Selection::set (framepos_t start, framepos_t end)
        }
 
        if (time.empty()) {
-               time.push_back (AudioRange (start, end, next_time_id++));
+               time.push_back (AudioRange (start, end, ++next_time_id));
        } else {
                /* reuse the first entry, and remove all the rest */
 
@@ -880,7 +894,7 @@ Selection::set_preserving_all_ranges (framepos_t start, framepos_t end)
        }
 
        if (time.empty ()) {
-               time.push_back (AudioRange (start, end, next_time_id++));
+               time.push_back (AudioRange (start, end, ++next_time_id));
        } else {
                time.sort (AudioRangeComparator ());
                time.front().start = start;
@@ -1115,7 +1129,7 @@ void
 Selection::set (Marker* m)
 {
        clear_time ();  //enforce region/object exclusivity
-       clear_objects();
+       markers.clear ();
 
        add (m);
 }
@@ -1123,8 +1137,6 @@ Selection::set (Marker* m)
 void
 Selection::toggle (Marker* m)
 {
-       clear_time ();  //enforce region/object exclusivity
-
        MarkerSelection::iterator i;
 
        if ((i = find (markers.begin(), markers.end(), m)) == markers.end()) {