summaryrefslogtreecommitdiff
path: root/libs/ardour/location.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-09-19 23:21:17 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-09-19 23:21:31 -0400
commit5c7d6ae004356ce4be61c6cc65b9b445c03a0fd4 (patch)
tree0907b65931e57e81732755df3dc1ee93406ec521 /libs/ardour/location.cc
parent6a971e645dba4458e0f82ee82dba409fe0a64d41 (diff)
add Location::set_skip() to allow toggling of skip-functionality for a given Location
Diffstat (limited to 'libs/ardour/location.cc')
-rw-r--r--libs/ardour/location.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc
index 94afad679d..df65c5b341 100644
--- a/libs/ardour/location.cc
+++ b/libs/ardour/location.cc
@@ -376,6 +376,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*)
{
if (is_mark() || _start == _end) {
@@ -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 ()