imported sources should be marked as non-writable and non-removable, always
authorPaul Davis <paul@linuxaudiosystems.com>
Sun, 20 May 2012 20:52:54 +0000 (20:52 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Sun, 20 May 2012 20:52:54 +0000 (20:52 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@12346 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/import.cc

index 67ed6da941c2e683042cb5d4304b9a9154262eba..21a15bdea1d7d0d7172a37a353c0fe88f682702b 100644 (file)
@@ -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) */