diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 2d26cb73b4..dd0cbc6d2f 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3606,8 +3606,10 @@ Session::create_midi_source_by_stealing_name (boost::shared_ptr track) /* MIDI files are small, just put them in the first location of the session source search path. */ + vector dirs; - const string path = Glib::build_filename (source_search_path (DataType::MIDI).front(), name); + split (source_search_path(DataType::MIDI), dirs, ':'); + const string path = Glib::build_filename (dirs.front(), name); return boost::dynamic_pointer_cast ( SourceFactory::createWritable ( diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index caaa71d39d..e32c14acb3 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -153,7 +153,12 @@ SMFSource::SMFSource (Session& s, const XMLNode& node, bool must_exist) path for MIDI files, which is assumed to be the correct "main" location. */ - std::vector sdirs = s.source_search_path (DataType::MIDI); + std::vector sdirs; + split (s.source_search_path (DataType::MIDI), sdirs, ':'); + if (sdirs.empty()) { + fatal << _("Empty MIDI source search path!") << endmsg; + /*NOTREACHED*/ + } _path = Glib::build_filename (sdirs.front(), _path); /* This might be important, too */ _file_is_new = true;