summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/region.cc4
-rw-r--r--libs/ardour/source.cc13
2 files changed, 11 insertions, 6 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc
index bf01238fb4..516adb6ee5 100644
--- a/libs/ardour/region.cc
+++ b/libs/ardour/region.cc
@@ -1284,6 +1284,10 @@ Region::_set_state (const XMLNode& node, int /*version*/, PropertyChange& what_c
}
}
+ // saved property is invalid, region-transients are not saved
+ if (_transients.size() == 0){
+ _valid_transients = false;
+ }
return 0;
}
diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc
index f6c591a5b1..29093035c2 100644
--- a/libs/ardour/source.cc
+++ b/libs/ardour/source.cc
@@ -173,15 +173,16 @@ Source::has_been_analysed() const
void
Source::set_been_analysed (bool yn)
{
- {
+ if (yn) {
+ if (0 == load_transients (get_transients_path())) {
+ yn = false;
+ }
+ }
+ if (yn != _analysed); {
Glib::Threads::Mutex::Lock lm (_analysis_lock);
_analysed = yn;
}
-
- if (yn) {
- load_transients (get_transients_path());
- AnalysisChanged(); // EMIT SIGNAL
- }
+ AnalysisChanged(); // EMIT SIGNAL
}
int