diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index 830fd75fdf..3a1029fd73 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -66,6 +66,15 @@ SMFSource::SMFSource (Session& s, const string& path, Source::Flag flags) } /* file is not opened until write */ + + if (flags & Writable) { + return; + } + + if (open(_path)) { + throw failed_constructor (); + } + _open = true; } /** Constructor used for existing internal-to-session files. */