return -1;
}
- if (((is_auto_punch() || is_auto_loop()) && s >= _end) || s > _end) {
+ if (((is_auto_punch() || is_auto_loop()) && s >= _end) || (!is_mark() && s > _end)) {
return -1;
}
int
Location::set (nframes64_t start, nframes64_t end)
{
- set_start (start);
- set_end (end);
+ int const s = set_start (start);
+ int const e = set_end (end);
+
+ return (s == 0 && e == 0) ? 0 : -1;
}
int
void
Locations::add (Location *loc, bool make_current)
{
+ assert (loc);
+
{
Glib::Mutex::Lock lm (lock);
locations.push_back (loc);