diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2007-09-04 05:26:24 +0000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2007-09-04 05:26:24 +0000 |
commit | 078e867f3cd51ac0f940d12ea90f11c3d5af9cae (patch) | |
tree | 0bb2440e3e6f10582b2eabd61996478465471ec1 /libs/ardour/session_state_utils.cc | |
parent | bf69e8f09a374c96583ba4c6bcabb636d780ef01 (diff) |
Add ARDOUR::get_state_files_in_directory and ARDOUR::get_file_names_no_extension to ardour/session_state_utils.h/cc
git-svn-id: svn://localhost/ardour2/trunk@2386 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_state_utils.cc')
-rw-r--r-- | libs/ardour/session_state_utils.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/ardour/session_state_utils.cc b/libs/ardour/session_state_utils.cc index 1ce61954a4..b6bd6a9581 100644 --- a/libs/ardour/session_state_utils.cc +++ b/libs/ardour/session_state_utils.cc @@ -17,7 +17,9 @@ */ #include <pbd/compose.h> +#include <pbd/basename.h> #include <pbd/error.h> +#include <pbd/file_utils.h> #include <ardour/session_state_utils.h> #include <ardour/filename_extensions.h> @@ -47,4 +49,30 @@ create_backup_file (const sys::path & file_path) return true; } +void +get_state_files_in_directory (const sys::path & directory_path, + vector<sys::path> & result) +{ + Glib::PatternSpec state_file_pattern('*' + string(statefile_suffix)); + + find_matching_files_in_directory (directory_path, state_file_pattern, + result); +} + +vector<string> +get_file_names_no_extension (const vector<sys::path> & file_paths) +{ + vector<string> result; + + for (vector<sys::path>::const_iterator i = file_paths.begin(); + i != file_paths.end(); ++i) + { + result.push_back (basename_nosuffix((*i).to_string())); + } + + sort (result.begin(), result.end(), std::less<string>()); + + return result; +} + } // namespace ARDOUR |