restore excess calls to sync-order stuff (for now); allow MIDI controllers to use...
[ardour.git] / libs / ardour / ardour / session_state_utils.h
index 170dffe17c7ea77604a74b47d50d40a159c7e84d..de58d3eff062d3a0bb54ba6a9ade3a7f2eef0c40 100644 (file)
@@ -1,5 +1,5 @@
 /*
-       Copyright (C) 2007 Tim Mayberry 
+       Copyright (C) 2007 Tim Mayberry
 
        This program is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
 #ifndef ARDOUR_SESSION_STATE_UTILS_INCLUDED
 #define ARDOUR_SESSION_STATE_UTILS_INCLUDED
 
-#include <pbd/filesystem.h>
+#include <vector>
+#include <string>
 
-namespace ARDOUR {
+#include "pbd/filesystem.h"
 
-using namespace PBD;
+namespace ARDOUR {
 
 /**
  * Attempt to create a backup copy of a file.
  *
- * A copy of the file is created in the same directory using 
+ * A copy of the file is created in the same directory using
  * the same filename with the backup suffix appended.
  *
  * @return true if successful, false otherwise.
  */
-bool create_backup_file (const sys::path & file_path);
+bool create_backup_file (const PBD::sys::path & file_path);
+
+/**
+ * Get the absolute paths to all state files in the directory
+ * at path directory_path.
+ *
+ * @param directory_path The absolute path to a directory.
+ * @param result vector to contain resulting state files.
+ */
+void get_state_files_in_directory (const PBD::sys::path & directory_path,
+               std::vector<PBD::sys::path>& result);
+
+/**
+ * Given a vector of paths to files, return a vector containing
+ * the filenames without any extension.
+ *
+ * @param file_paths a vector containing the file paths
+ * @return a vector containing a list of file names without any
+ * filename extension.
+ */
+std::vector<std::string> get_file_names_no_extension (const std::vector<PBD::sys::path> & file_paths);
 
 } // namespace ARDOUR