mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-03 12:19:33 +01:00
do NOT mark imported MIDI files as un-writable - all MIDI files are subject to rewriting at any time
git-svn-id: svn://localhost/ardour2/branches/3.0@13046 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
f97da74cf7
commit
539b94490f
3 changed files with 20 additions and 2 deletions
|
|
@ -52,7 +52,8 @@ public:
|
|||
|
||||
int move_to_trash (const std::string& trash_dir_name);
|
||||
void mark_take (const std::string& id);
|
||||
void mark_immutable ();
|
||||
void mark_immutable ();
|
||||
void mark_immutable_except_write();
|
||||
void mark_nonremovable ();
|
||||
|
||||
const std::string& take_id () const { return _take_id; }
|
||||
|
|
|
|||
|
|
@ -554,6 +554,15 @@ FileSource::mark_immutable ()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
FileSource::mark_immutable_except_write ()
|
||||
{
|
||||
/* destructive sources stay writable, and their other flags don't change. */
|
||||
if (!(_flags & Destructive)) {
|
||||
_flags = Flag (_flags & ~(Removable|RemovableIfEmpty|RemoveAtDestroy|CanRename));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
FileSource::mark_nonremovable ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -582,7 +582,15 @@ Session::import_files (ImportStatus& status)
|
|||
|
||||
boost::shared_ptr<FileSource> fs = boost::dynamic_pointer_cast<FileSource>(*x);
|
||||
if (fs) {
|
||||
fs->mark_immutable ();
|
||||
/* Only audio files should be marked as
|
||||
immutable - we may need to rewrite MIDI
|
||||
files at any time.
|
||||
*/
|
||||
if (boost::dynamic_pointer_cast<AudioFileSource> (fs)) {
|
||||
fs->mark_immutable ();
|
||||
} else {
|
||||
fs->mark_immutable_except_write ();
|
||||
}
|
||||
fs->mark_nonremovable ();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue