diff options
-rw-r--r-- | libs/ardour/region.cc | 4 | ||||
-rw-r--r-- | libs/ardour/source.cc | 13 |
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 |