summaryrefslogtreecommitdiff
path: root/libs/ardour/import.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-20 20:52:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-20 20:52:54 +0000
commit9c5bcc0f10d1cc822aab1fa78df8f316008b8cd9 (patch)
treefdbc23e263c12dac26e94c9ac4517cfb0464c5b1 /libs/ardour/import.cc
parent6ee23029a338951705c589be6c61ab52099758b6 (diff)
imported sources should be marked as non-writable and non-removable, always
git-svn-id: svn://localhost/ardour2/branches/3.0@12346 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/import.cc')
-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) */