13
0

add Location::set_skip() to allow toggling of skip-functionality for a given Location

This commit is contained in:
Paul Davis 2014-09-19 23:21:17 -04:00
parent 6a971e645d
commit 5c7d6ae004
2 changed files with 13 additions and 0 deletions

View File

@ -85,6 +85,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest
void set_hidden (bool yn, void *src);
void set_cd (bool yn, void *src);
void set_is_range_marker (bool yn, void* src);
void set_skip (bool yn);
bool is_auto_punch () const { return _flags & IsAutoPunch; }
bool is_auto_loop () const { return _flags & IsAutoLoop; }

View File

@ -375,6 +375,17 @@ Location::set_is_range_marker (bool yn, void*)
}
}
void
Location::set_skip (bool yn)
{
if (is_range_marker() && length() > 0) {
if (set_flag_internal (yn, IsSkip)) {
flags_changed (this);
FlagsChanged ();
}
}
}
void
Location::set_auto_punch (bool yn, void*)
{
@ -648,6 +659,7 @@ Locations::Locations (Session& s)
Location::changed.connect_same_thread (*this, boost::bind (&Locations::location_changed, this, _1));
Location::start_changed.connect_same_thread (*this, boost::bind (&Locations::location_changed, this, _1));
Location::end_changed.connect_same_thread (*this, boost::bind (&Locations::location_changed, this, _1));
Location::flags_changed.connect_same_thread (*this, boost::bind (&Locations::location_changed, this, _1));
}
Locations::~Locations ()