summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/import.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc
index 67ed6da941..21a15bdea1 100644
--- a/libs/ardour/import.cc
+++ b/libs/ardour/import.cc
@@ -564,6 +564,7 @@ Session::import_audiofiles (ImportStatus& status)
/* flush the final length(s) to the header(s) */
for (Sources::iterator x = all_new_sources.begin(); x != all_new_sources.end(); ) {
+
if ((afs = boost::dynamic_pointer_cast<AudioFileSource>(*x)) != 0) {
afs->update_header((*x)->natural_position(), *now, xnow);
afs->done_with_peakfile_writes ();
@@ -574,6 +575,15 @@ Session::import_audiofiles (ImportStatus& status)
Analyser::queue_source_for_analysis (boost::static_pointer_cast<Source>(*x), false);
}
}
+
+ /* imported, copied files cannot be written or removed
+ */
+
+ boost::shared_ptr<FileSource> fs = boost::dynamic_pointer_cast<FileSource>(*x);
+ if (fs) {
+ fs->mark_immutable ();
+ fs->mark_nonremovable ();
+ }
/* don't create tracks for empty MIDI sources (channels) */