diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-20 20:52:54 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-20 20:52:54 +0000 |
commit | 9c5bcc0f10d1cc822aab1fa78df8f316008b8cd9 (patch) | |
tree | fdbc23e263c12dac26e94c9ac4517cfb0464c5b1 /libs/ardour/import.cc | |
parent | 6ee23029a338951705c589be6c61ab52099758b6 (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.cc | 10 |
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) */ |