summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorColin Fletcher <colin.m.fletcher@googlemail.com>2018-09-13 14:05:47 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-09-13 14:05:47 -0400
commit9321f46c453b3df226f0abc8ced6415e1d3e842d (patch)
treef906186ba378d6bae64a43f994e1659bd45ba478 /libs/ardour/ardour
parent556cf7a21520c4b1bda14bce96ecc9919a946c9d (diff)
Implement new Enclosed region equivalence mode
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/rc_configuration_vars.h2
-rw-r--r--libs/ardour/ardour/region.h3
-rw-r--r--libs/ardour/ardour/types.h6
-rw-r--r--libs/ardour/ardour/types_convert.h1
4 files changed, 10 insertions, 2 deletions
diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h
index 681c51a32c..b7ee95e9e5 100644
--- a/libs/ardour/ardour/rc_configuration_vars.h
+++ b/libs/ardour/ardour/rc_configuration_vars.h
@@ -212,7 +212,7 @@ CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture",
CONFIG_VARIABLE (bool, save_history, "save-history", true)
CONFIG_VARIABLE (int32_t, saved_history_depth, "save-history-depth", 20)
CONFIG_VARIABLE (int32_t, history_depth, "history-depth", 20)
-CONFIG_VARIABLE (bool, use_overlap_equivalency, "use-overlap-equivalency", false)
+CONFIG_VARIABLE (RegionEquivalence, region_equivalence, "region-equivalence", Enclosed)
CONFIG_VARIABLE (bool, periodic_safety_backups, "periodic-safety-backups", true)
CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-backup-interval", 120)
CONFIG_VARIABLE (float, automation_interval_msecs, "automation-interval-msecs", 30)
diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h
index b536aa16a9..5d0413beb8 100644
--- a/libs/ardour/ardour/region.h
+++ b/libs/ardour/ardour/region.h
@@ -201,9 +201,10 @@ public:
return Evoral::coverage (first_sample(), last_sample(), start, end);
}
- bool equivalent (boost::shared_ptr<const Region>) const;
+ bool exact_equivalent (boost::shared_ptr<const Region>) const;
bool size_equivalent (boost::shared_ptr<const Region>) const;
bool overlap_equivalent (boost::shared_ptr<const Region>) const;
+ bool enclosed_equivalent (boost::shared_ptr<const Region>) const;
bool region_list_equivalent (boost::shared_ptr<const Region>) const;
bool source_equivalent (boost::shared_ptr<const Region>) const;
bool any_source_equivalent (boost::shared_ptr<const Region>) const;
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index f835a5ff07..366e303186 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -605,6 +605,12 @@ namespace ARDOUR {
class Bundle;
typedef std::vector<boost::shared_ptr<Bundle> > BundleList;
+ enum RegionEquivalence {
+ Exact,
+ Enclosed,
+ Overlap
+ };
+
enum WaveformScale {
Linear,
Logarithmic
diff --git a/libs/ardour/ardour/types_convert.h b/libs/ardour/ardour/types_convert.h
index 8317614989..dcdc49fae3 100644
--- a/libs/ardour/ardour/types_convert.h
+++ b/libs/ardour/ardour/types_convert.h
@@ -68,6 +68,7 @@ DEFINE_ENUM_CONVERT(ARDOUR::PluginType)
DEFINE_ENUM_CONVERT(ARDOUR::AlignStyle)
DEFINE_ENUM_CONVERT(ARDOUR::AlignChoice)
+DEFINE_ENUM_CONVERT(ARDOUR::RegionEquivalence)
DEFINE_ENUM_CONVERT(ARDOUR::WaveformScale)
DEFINE_ENUM_CONVERT(ARDOUR::WaveformShape)
DEFINE_ENUM_CONVERT(ARDOUR::VUMeterStandard)