clear_playlists ();
clear_midi_notes ();
clear_midi_regions ();
- clear_markers ();
}
void
/* 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
/* 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
}
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 */
}
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;
Selection::set (Marker* m)
{
clear_time (); //enforce region/object exclusivity
- clear_objects();
+ markers.clear ();
add (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()) {