Robin Gareus
506a29e2d3
Don't recurse into MacVST bundle-folders during plugin-scan
2017-09-21 20:02:11 +02:00
Tim Mayberry
569167a603
Move PBD::canonical_path to pbd/file_utils.h/cc and reimplement for Windows
...
This fixes the libpbd testCanonicalPathUTF8 and libardour
open_session_utf8_path unit tests
You can now have Sessions with localized names containing characters that
aren't in the system codepage on Windows.
It also fixes the issue where a Session would not open when it was moved into a
path with characters that aren't in the system codepage.
The only use case for calling canonical_path/realpath on the session path
AFAICT is for resolving relative paths that are passed via the command
line/terminal. I'm doubtful that works correctly on Windows because of
character encoding issues with the current API we use for that(not glib), so it
is slightly ironic that this issue was caused by an incorrect implementation of
a function that is not really necessary on Windows at this point in time.
2016-09-19 14:47:52 +10:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Robin Gareus
740c4dd134
possible fix for invalid cleanup space calc on win32.
2015-10-20 15:50:00 +02:00
Robin Gareus
af3ffc8610
NOOP, re-indent
2015-10-20 15:49:59 +02:00
Robin Gareus
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
e344d379d2
update semantics of PBD::remove_directory()
...
Remove the directory recursively including itself. The function
is used in two places only:
* LV2Plugin::add_state() -- no change, remove tmp. state
* Session::save_as() -- on error, remove target
In both cases removing the folder itself is correct.
2015-09-27 12:44:54 +02:00
Robin Gareus
7ac691ec82
use pbd's gstdio compatibility wrapper
2015-09-17 14:37:57 +02:00
Tim Mayberry
009a06a773
Move ARDOUR::touch_file to pbd/file_utils.h
2015-07-26 12:15:19 +10:00
Paul Davis
5188f02cfe
hide issues with g_close() not being available in somewhat older versions of glib
2015-03-16 13:34:35 -05:00
Paul Davis
8ff477ab1a
add PBD::toggle_file_existence()
2015-03-16 13:00:28 -05:00
Tim Mayberry
f694b867c1
Fix PBD::copy_file on windows to work with non-ascii paths
...
This breakage was indicated by the filesystem unit tests.
2015-03-08 22:46:26 +10:00
Robin Gareus
cf7d5dbc2d
recursive regexp file search.
2015-03-03 19:54:27 +01:00
John Emmas
2689848ed7
Add an extra test to prevent 'PBD::path_is_within()' from looping infinitely on Windows
...
The infinite loop would happen if the 2 supplied paths were on different Windows drives - for example if one was on drive C:\ and the other on drive E:\
I don't think this new test will be detrimental to the other platforms but if it is, we could easily separate it out with a '#ifdef PLATFORM_WINDOWS' directive.
2015-02-03 11:57:38 +00:00
Paul Davis
0fa5643d20
move ScopedFileDescriptor into libpbd and use it
2014-12-14 12:26:00 -05:00
Paul Davis
294b99aabf
remove file manager LRU cache from code.
...
This was a very clever attempt to fix a non-problem. If the platform doesn't have enough file descriptors available
then the platform is broken and we're not going to hack around trying to fix it.
2014-12-10 18:28:55 -05:00
Tim Mayberry
1abe8f4e42
Add PBD::tmp_writable_directory utility function to pbd/file_utils.h/cc
2014-12-03 17:31:04 +07:00
Robin Gareus
6fbd0a62e4
recursive file copy function
2014-09-28 18:24:08 +02:00
Paul Davis
66684c6690
Add PBD::get_suffix() for ripping file suffixes from paths
2014-07-08 12:24:56 -04:00
John Emmas
dcca72dabd
Use 'GStatBuf' in preference to 'struct stat' (which isn't necessarily the same thing)
2014-06-28 13:33:28 +01:00
Tim Mayberry
31bceb7570
Use PBD::FdFileDescriptor in PBD::copy_file
2014-06-25 12:40:11 -04:00
Tim Mayberry
8da304be09
Fix PBD::copy_file so it works with non-ASCII filenames on windows
2014-06-25 12:40:11 -04:00
Tim Mayberry
de4fc4843b
Fix PBD::copy_files so that it uses O_BINARY on windows and doesn't add line endings to copied files
2014-06-25 12:40:11 -04:00
Tim Mayberry
3b1a98f0ec
Change PBD::get_files and PBD::get_paths to take a Searchpath instead of directory path
...
Both these functions use the internal function run_functor_for_paths
which takes a Searchpath so this avoids a temporary variable in cases
where a Searchpath is passed directly.
The usage is the same as the compiler will generate a temporary Searchpath
from a string(directory path) if necessary.
2014-06-25 12:40:11 -04:00
Tim Mayberry
6d0cce528e
Add/Update docs in pbd/file_utils.h
2014-06-25 12:40:11 -04:00
Tim Mayberry
851db83fc4
Use run_functor_for_paths in PBD::get_paths
2014-06-25 12:40:10 -04:00
Tim Mayberry
04434f2b88
Rename PBD::get_files_in_directory to just PBD::get_files, change parameter order and fix docs
2014-06-25 12:40:10 -04:00
Tim Mayberry
84d190b7cc
Rename PBD::get_directory_contents to PBD::get_paths
...
shorter name and change order of parameters to match other functions
2014-06-25 12:40:10 -04:00
Tim Mayberry
26ec4038af
Use run_functor_for_paths in PBD::find_files_matching_pattern
2014-06-25 12:40:10 -04:00
Tim Mayberry
24599c552d
Add function PBD::find_paths_matching_filter
2014-06-25 12:40:10 -04:00
Tim Mayberry
54c0a0144c
Use run_functor_for_paths in PBD::find_files_matching_filter
2014-06-25 12:40:10 -04:00
Tim Mayberry
e7141d2b80
Add function to file_utils intended to be used internally
2014-06-25 12:40:10 -04:00
Tim Mayberry
ab6837665f
Add some debug output in file_utils.cc
2014-06-25 12:40:10 -04:00
Tim Mayberry
e6c4b0e9e4
Remove reference to strtok_r now that it isn't used
2014-06-25 12:40:10 -04:00
Tim Mayberry
a226068959
Change formatting of DEBUG_TRACE calls to match style guide
2014-06-25 12:40:10 -04:00
Tim Mayberry
cb3a604936
Move functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc
2014-06-25 12:40:10 -04:00
Tim Mayberry
cd12698b9c
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
Tim Mayberry
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04:00
Tim Mayberry
36fd67ab72
Add a variation of PBD::find_files_matching_pattern for convenience
2014-06-25 12:40:10 -04:00
Tim Mayberry
077c09b105
Add new function PBD::find_files_matching_pattern
...
This new function is intended to replace the three existing
PBD::find_matching_files_* functions.
The order of parameters matches find_files_matching_regex and
find_files_matching_filter
2014-06-25 12:40:10 -04:00
Tim Mayberry
d9a7d419b2
Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath
2014-06-25 12:40:10 -04:00
Tim Mayberry
613162df6b
Reimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents
2014-06-25 12:40:10 -04:00
Tim Mayberry
56337eade4
Remove limit parameter from PBD::find_files_matching_regex
...
This limit was not used or documented. The same functionality can be
performed when iterating through the results.
2014-06-25 12:40:10 -04:00
Tim Mayberry
0189ad7e29
Remove parameters from PBD::find_files_matching_regex
...
The only users of this API always used the same options so just remove
them.
2014-06-25 12:40:09 -04:00
Tim Mayberry
769ee5c1f2
Change PBD::get_files_in_directory to return full paths in result
...
get_files_in_directory uses get_directory_contents internally now
2014-06-25 12:40:09 -04:00
Tim Mayberry
d1dd5d3ee7
Add PBD::get_directory_contents to pbd/file_utils.h
2014-06-25 12:40:09 -04:00
John Emmas
126ef72d05
Move the definition for 'strtok_r' (to avoid clashing with a different definition in pthread_win32)
2014-06-19 11:47:49 +01:00
Tim Mayberry
547689a055
Replace all use of PathScanner with equivalent functions from pbd/file_utils.h
2014-06-17 21:41:29 +10:00
Tim Mayberry
dc81ab8640
Move member functions from PathScanner to functions in pbd/file_utils.h
...
This allows us to remove PathScanner source file and keep PathScanner class
as header only until it is removed
2014-06-17 21:19:02 +10:00