From 9e18119c86a24f38e4958c4258b42f031d5828ff Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 8 Jul 2014 12:25:36 -0400 Subject: [PATCH] when merging external source files into session folder, if a collision occurs, use the original file suffix in conjunction with md5 hash --- libs/ardour/session.cc | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 9d5ae13f85..6303eb7c7c 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -36,17 +36,17 @@ #include +#include "pbd/basename.h" +#include "pbd/boost_debug.h" +#include "pbd/convert.h" #include "pbd/convert.h" #include "pbd/error.h" -#include "pbd/boost_debug.h" -#include "pbd/stl_delete.h" -#include "pbd/basename.h" -#include "pbd/stacktrace.h" #include "pbd/file_utils.h" -#include "pbd/convert.h" #include "pbd/md5.h" -#include "pbd/unwind.h" #include "pbd/search_path.h" +#include "pbd/stacktrace.h" +#include "pbd/stl_delete.h" +#include "pbd/unwind.h" #include "ardour/amp.h" #include "ardour/analyser.h" @@ -3886,8 +3886,13 @@ Session::new_audio_source_path_for_embedded (const std::string& path) md5.digestString (path.c_str()); md5.writeToString (); base = md5.digestChars; + + string ext = get_suffix (path); - /* XXX base needs suffix from path */ + if (!ext.empty()) { + base += '.'; + base += ext; + } newpath = Glib::build_filename (sdir.sound_path(), base);