add initial midi sidechain if plugin has one.
[ardour.git] / libs / ardour / ardour / session_state_utils.h
index 170dffe17c7ea77604a74b47d50d40a159c7e84d..f35bbd07787ddfdf6ecce25fad622056dea7ec16 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 "ardour/libardour_visibility.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);
+LIBARDOUR_API bool create_backup_file (const std::string & 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.
+ */
+LIBARDOUR_API void get_state_files_in_directory (const std::string& directory_path,
+                                                std::vector<std::string>& 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.
+ */
+LIBARDOUR_API std::vector<std::string> get_file_names_no_extension (const std::vector<std::string> & file_paths);
 
 } // namespace ARDOUR