allow to customize variable i/o plugin inputs
[ardour.git] / libs / ardour / session_state_utils.cc
index be71289a179086d1b67b7c5205221f508164f42f..5d5c9cc8df6eefd605da55d2c7fec17add13c7c4 100644 (file)
 
 #include <glibmm/fileutils.h>
 
+#include <giomm/file.h>
+
+#include "pbd/basename.h"
 #include "pbd/compose.h"
 #include "pbd/error.h"
 #include "pbd/file_utils.h"
-#include "pbd/filesystem.h"
 
 #include "ardour/session_state_utils.h"
 #include "ardour/filename_extensions.h"
@@ -38,32 +40,15 @@ namespace ARDOUR {
 bool
 create_backup_file (const std::string & file_path)
 {
-       if (!Glib::file_test (file_path, Glib::FILE_TEST_EXISTS)) return false;
-
-       std::string backup_path(file_path + backup_suffix);
-
-       try
-       {
-               sys::copy_file (file_path, backup_path);
-       }
-       catch(sys::filesystem_error& ex)
-       {
-               error << string_compose (_("Unable to create a backup copy of file %1 (%2)"),
-                               file_path, ex.what())
-                       << endmsg;
-               return false;
-       }
-       return true;
+       return copy_file (file_path, file_path + backup_suffix);
 }
 
 void
 get_state_files_in_directory (const std::string & directory_path,
                              vector<std::string> & result)
 {
-       Glib::PatternSpec state_file_pattern('*' + string(statefile_suffix));
-
-       find_matching_files_in_directory (directory_path, state_file_pattern,
-                       result);
+       find_files_matching_pattern (result, directory_path,
+                                    '*' + string(statefile_suffix));
 }
 
 vector<string>
@@ -72,7 +57,7 @@ get_file_names_no_extension (const vector<std::string> & file_paths)
        vector<string> result;
 
        std::transform (file_paths.begin(), file_paths.end(),
-                       std::back_inserter(result), sys::basename);
+                       std::back_inserter(result), PBD::basename_nosuffix);
 
        sort (result.begin(), result.end(), std::less<string>());