13
0
Commit Graph

794 Commits

Author SHA1 Message Date
613162df6b Reimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents 2014-06-25 12:40:10 -04:00
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
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
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
d1dd5d3ee7 Add PBD::get_directory_contents to pbd/file_utils.h 2014-06-25 12:40:09 -04:00
592654936e Remove (no longer needed) sources from an MSVC project 2014-06-19 11:49:51 +01:00
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
3aa2a4ac8c Remove PathScanner class from libpbd 2014-06-17 21:43:30 +10:00
547689a055 Replace all use of PathScanner with equivalent functions from pbd/file_utils.h 2014-06-17 21:41:29 +10:00
26285a3bc0 Add default arguments to match those in PathScanner::operator() 2014-06-17 21:29:41 +10:00
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
ea5f9a8ea6 Move PathScanner::operator() into header 2014-06-17 21:14:13 +10:00
b457c938cd Remove unused methods in PathScanner
Now that these methods are only a few lines it doesn't make much sense
to keep them seeing as they are unused. There are also functions with
near identical functionality in pbd/file_utils.h
2014-06-17 21:14:03 +10:00
cde8776e80 Rename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter 2014-06-17 21:13:50 +10:00
3066bd48da Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly 2014-06-17 21:13:41 +10:00
f54092dada Add PathScanner::find_files_matching_regex and move regexp usage to one place 2014-06-17 21:13:32 +10:00
f220d01132 Remove member filter argument from PathScanner methods and use normal filter for regex
Also use regfree to free memory of compiled patterns
2014-06-17 21:13:16 +10:00
0e96d84079 Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks 2014-06-17 21:13:05 +10:00
36be1a3a9b plug some leaks 2014-06-15 13:24:41 +02:00
12cf9d5be8 fix pathscanner / stl_vector related memory leaks 2014-06-15 13:24:39 +02:00
62ba8d23e3 tracking down concurrency issus is fun. 2014-06-14 16:38:47 +02:00
f0dbd6c085 Export dialog: tidy code, & remove some superfluous debug output
Remove some debug output, tidy up a few whitespace inconsistencies, use
DEBUG::Soundcloud in one more place, and zap a couple of unused variables.
2014-06-12 23:20:05 +01:00
724a69a8d5 Search $PATH for command when creating SystemExec from command line
When creating a SystemExec from a command-line, search $PATH for the
command to execute, so that post-export hooks don't need to specify a full
path.
2014-06-12 23:20:05 +01:00
915bb2f641 close dir opened with opendir() - fixes accumulated fd for plugin state saves 2014-06-10 02:21:22 +02:00
3813c7afae increase system-exec timeouts for kill. 2014-06-05 02:22:13 +02:00
7f18913e6d fix errors in manual conflict resolution 2014-06-02 11:42:35 -04:00
8c9749e42f merge with master and fix 4 conflicts by hand 2014-06-02 11:32:13 -04:00
bc8ccea212 remove debug output from system_exec
remove the debug output from pbd/system_exec: it's of no further use, and
also breaks optimised builds.
2014-05-19 22:49:22 +01:00
0de7c8920b Merge branch 'mingw-updates' of https://github.com/mojofunk/ardour into cairocanvas 2014-05-19 17:19:43 -04:00
5399425f53 Merge branch 'export-dialog' into cairocanvas
Fix merge conflicts in:
	gtk2_ardour/export_range_markers_dialog.cc
	gtk2_ardour/wscript
	libs/ardour/ardour/export_handler.h
	libs/ardour/system_exec.cc
	libs/pbd/pbd/system_exec.h
	libs/pbd/system_exec.cc
2014-05-19 20:54:36 +01:00
7c4259133d SystemExec: copy last argument from command line to argv[]
Make sure to copy any part of the command line after the last delimiter
to argv[] when creating a SystemExec with an escaped command line.
2014-05-18 20:49:58 +01:00
e4442b45cf Use COMPILER_MINGW define rather than __MINGW64__
This is necessary to build with win32 target using mingw-w64 version
on Fedora 19
2014-05-14 09:47:40 +10:00
86a0f10ac7 Reinstate code removed that allows building with mingw and the pthreads-win32 library
Newer versions of mingw-w64 can be built with an included pthread implementation
called winpthreads which uses an integer type for pthread_t but pthreads-win32 does
not.
2014-05-14 09:47:40 +10:00
b895a8f631 Always link to ole32 when building with mingw for get_win_special_folder
needed for CoTaskMemFree in get_win_special_folder
2014-05-14 09:47:40 +10:00
8d0ec2403f Add a couple of pthread helper macros
(to accommodate the fact that in ptw-win32, 'pthread_t' is subtlely different from its non-Windows counterparts)
2014-05-06 09:31:11 +01:00
058986f77b finish unfinished work at basing all install paths on the program name 2014-04-28 21:11:08 -04:00
f31c84a742 close stdin as first attempt to terminate process cleanly. 2014-04-20 23:02:32 +02:00
3552c17b91 fix SystemExec for windows 2014-04-20 02:51:27 +02:00
396fae31a9 Make sure that the input string doesn't go out of scope when using boost::tokenizer 2014-04-14 20:26:48 +01:00
99bf5d9eed backport 1d85ab27a7 and ba128eea from cairocanvas branch to remove GIO (possible hotfix release) 2014-04-14 12:53:30 -04:00
5d9c2104d2 Oops - correct some typos in my previous commit
(accidentally used G_DIR_SEPARATOR instead of G_SEARCHPATH_SEPARATOR)
2014-04-11 15:36:04 +01:00
d95de39339 Make sure we use the correct style of filepath separator on Windows
('libs/ardour/file_source.cc' still to be investigated)
2014-04-11 13:03:48 +01:00
c046b7c9d3 Remove 'pipex' from my pbd.vcproj as it's not needed for Ardour3 2014-04-11 12:59:03 +01:00
077a194430 Add the main VC project files for building Ardour3 with Microsoft Visual Studio
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
3e7fad52f5 fix conceptual error/thinko in EnvironmentalProtectionAgency when using unsetenv() while iterating over char** environ 2014-04-04 15:25:56 -04:00
6f3ebba3b6 comment tweak 2014-03-24 19:46:07 -04:00
87184ab80d fix a race condition between the death of a thread that communicates with an UI event loop and the event loop itself.
The comment tries to explain it all. There may be a better solution, but I believe that this one is
(a) safe (b) better than the old approach.
2014-03-24 17:47:56 -04:00
ba128eea50 replace use of Gio:: for plugin state 2014-03-22 17:42:26 +01:00
1d85ab27a7 replace use of Gio:: with primitives (fix for #5889 part 1) 2014-03-22 17:42:26 +01:00
543099afba rework SystemExec - use vfork wrapper (and lots of related stuff) 2014-03-13 16:58:07 +01:00
f15932a5c2 fix #ifdef in localtime_r header (from Valeriy) 2014-03-12 09:39:16 -04:00
d52eb5bf23 A few days ago a #define got changed because the relevant section of code was no longer needed when building with mingw. However, it's not needed for msvc either (in fact, msvc won't compile it) so hopefully, the code fragment can be safely removed 2014-03-12 13:22:25 +00:00
f6129ed0f4 prototype vfork exec-wrapper. 2014-03-11 15:48:41 +01:00
495c0de4ac fix up waf build in wake of search path changes earlier today 2014-03-10 17:30:12 -04:00
b6a9bf5d04 add PBD::downcase() functions to libpbd 2014-03-10 17:30:12 -04:00
07d5a389fa add missing include to define LIBPBD_API (mingw build) 2014-03-09 21:05:17 +01:00
944c32346b Add a couple of visibility specifiers that were missing 2014-03-08 11:29:52 +00:00
c7bc009b30 Use LIBPBD_TEMPLATE_API and LIBPBD_TEMPLATE_MEMBER_API where appropriate 2014-03-08 11:28:54 +00:00
912f07b919 mingw build fixes (tested with i686-w64-mingw32 on linux-x86_64) 2014-03-04 15:25:58 +01:00
43421f0b46 minor fix for libpbd wscript on windows 2014-03-03 10:31:53 -05:00
8040df1897 move export_search_path(), previously in gtk2_ardour/main.cc, into libs/pbd 2014-03-02 11:25:54 -05:00
b8419ae7cd use "new" VST search path code and adjust build system to reflect new source files 2014-03-02 10:53:25 -05:00
8ba449bc4e remove fallback_folders code, add simpler more focused get_vst_search_path() and breakout get_win_special_folder() into its own file 2014-03-02 10:52:52 -05:00
c10e11eca5 for windows build, add fallback_folders.cc to libpbd source list 2014-03-01 22:47:19 -05:00
fc88eaf392 add likely stub code for adding linkage to libole when building libpbd on windows.
I may have gotten the precise linkflags string incorrect, but this my best guess.
2014-03-01 22:44:56 -05:00
fd64bba1de add -DPROGRAM_NAME to libpbd compile flags 2014-03-01 22:43:46 -05:00
08c89809ee REALLY REALLY CORRECT template export macros for libpbd 2014-03-01 22:31:47 -05:00
dbd89ed49d REALLY CORRECT template export macros for libpbd 2014-03-01 18:59:44 -05:00
c1a540f34e use template export forms for MemementoCommand 2014-03-01 18:59:37 -05:00
9526fef902 CORRECT template export macros for libpbd 2014-03-01 18:58:41 -05:00
9f121fac81 add template export macros for libpbd 2014-03-01 18:57:36 -05:00
db92e79deb fix use of export macros to work with mingw(64). Template issues with msvc will require a different solution (if they exist) 2014-03-01 18:53:55 -05:00
a72482af09 fix use of export macros to work with mingw(64) 2014-03-01 18:53:26 -05:00
3e2ac89d22 fix correct export macro guard in libpbd for mingw64 2014-03-01 18:33:31 -05:00
19395ac258 when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control 2014-03-01 15:16:39 -05:00
3cf5dcb64c move Paths Dialog to libgtkmm2ext 2014-02-28 00:05:47 +01:00
f8ec1d1f27 glib only allows <glib.h> these days; typedef enum in C++ code is redundant 2014-02-27 09:23:07 -05:00
ce32d5f17b make PBD's path-scanner OS agnostic (use glib) 2014-02-26 18:07:45 +01:00
cfa94aeccc fix system-exec (wait for app to start) 2014-02-25 14:57:57 +01:00
1d39cf7543 move SystemExec to libpbd 2014-02-19 03:38:43 +01:00
3eeaec5608 use boost::uuids method to get a string from a boost UUID 2014-02-17 15:29:18 -05:00
89d5be353a equivalent change to realpath() error return as was done in master rev 60a9213035 2014-02-07 18:49:51 -05:00
5062a00c7d move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again 2014-01-12 15:40:47 -05:00
658bb3ccd4 finished merge of cairocanvas with windows and windows+cc branches 2014-01-10 17:11:10 -05:00
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
52003be369 Merge remote-tracking branch 'origin/master' into export-dialog
Fix conflicts in:
	gtk2_ardour/export_dialog.cc
	gtk2_ardour/export_dialog.h
	libs/ardour/export_handler.cc
2014-01-08 15:50:34 +00:00
dfec88e1a3 add proper namespace to PBD::demangle for systems without execinfo 2013-12-29 13:59:37 -05:00
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
b1231696ca Mingw64 has pthread_t available, and does not need a thread ID comparison function 2013-12-19 13:04:04 -05:00
dc60753dde Use correct header include for _fullpath
According to http://msdn.microsoft.com/en-us/library/506720ff(v=vs.120).aspx
2013-12-07 20:48:02 +10:00
a7961f04cf fix error in mingw version of realpath() 2013-12-05 17:43:15 -05:00
ef2c1ff92f add (likely, partial) windows implementation of POSIX realpath() for COMPILER_MINGW where the latter is not available, to the only place realpath() is used 2013-12-05 17:40:21 -05:00
e0cc10540d extra source no longer required 2013-12-05 17:24:39 -05:00
bab60c2e8c we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:23:18 -05:00
c0e5506994 we don't use realpath() anymore so there is need for a special mingw include 2013-12-05 17:21:50 -05:00
8970446d7e additional source file for mingw build 2013-12-05 14:48:45 -05:00
597c9c9b25 make mingw-based pthread comparison function work with both 32 and 64 bit variants of mingw 2013-12-05 14:46:40 -05:00
b7835cd7b1 workaround compilation issues with assembler in fpu code and mingw 2013-12-05 14:45:17 -05:00
3a885d6177 Only use __declspec(dllimport/dllexport) for MSVC compiler
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
6bd36896e7 'libs/pbd' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date) 2013-12-01 14:26:08 +00:00
0cca272431 try to fix various warnings from gcc when optimization flags are enabled 2013-11-04 21:32:41 -05:00
f85c67501c reverse the visibility.h files assumptions that we don't build shared libs by default
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.

Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322 Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/wscript
	libs/ardour/ardour/audioregion.h
	libs/ardour/ardour/debug.h
	libs/ardour/ardour/directory_names.h
	libs/ardour/ardour/filesystem_paths.h
	libs/ardour/ardour/session_event.h
	libs/gtkmm2ext/gtkmm2ext/utils.h
	libs/panners/1in2out/wscript
	libs/panners/2in2out/wscript
	libs/panners/vbap/wscript
	libs/pbd/pbd/debug.h
	libs/pbd/pbd/file_utils.h
	libs/pbd/pbd/pathexpand.h
	libs/pbd/pbd/ringbuffer.h
	libs/pbd/pbd/ringbufferNPT.h
	libs/pbd/pbd/search_path.h
	libs/pbd/pbd/stacktrace.h
	libs/pbd/pbd/uuid.h
	libs/pbd/pbd/uuid_boost.h
	libs/surfaces/control_protocol/control_protocol/basic_ui.h
	libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
2fab8182cc add -fvisibility=hidden to libgtkmm2ext, and make things work 2013-10-17 14:36:41 -04:00
2eabeebdc5 add -fvisibility=hidden to libpbd, and make things work 2013-10-17 13:51:02 -04:00
f3d2ca0d9a get everything compiling with libardour built using -fvisibility=hidden 2013-10-17 12:41:28 -04:00
24d2b5ec92 add export visibility macros across libardour 2013-10-17 10:02:11 -04:00
c5115c9a3c add export visibility control to libpbd (works thus far on linux/gcc) 2013-10-16 23:30:28 -04:00
e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00
97c68cc2b1 Merge branch 'windows' into windows+cc
Conflicts (hopefully resolved):
	libs/pbd/stacktrace.cc
2013-10-15 17:38:08 +01:00
69a8fc43e2 Merge branch 'master' into windows 2013-10-15 11:17:12 -04:00
8a76441b0f re-fix typo in PBD::demangle() for systems without execinfo.h 2013-10-15 10:52:29 -04:00
a29b83c124 fix namespace issue with demangle on systems without execinfo.h 2013-10-15 10:41:42 -04:00
89738cc3c2 fix typo in PBD::demangle() for systems without execinfo.h 2013-10-15 10:33:03 -04:00
e466ce40ad Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
2013-10-14 19:31:22 +01:00
4fac237fdc 'PBD::demangle()' - Minor modification to keep MSVC happy 2013-10-14 17:40:15 +01:00
b5f36f5788 fix up parsing of send gain MIDI bindings so that they actually work 2013-10-10 16:16:59 -04:00
e1562961c0 Add command-line parsing constructor to SystemExec
Add a new constructor to SystemExec which takes a complete command-line
and a map of substitutions for %<char>, and parses the command line,
taking account of some simple escape sequences and quoting.
2013-10-10 19:50:21 +01:00
2a6a16f980 merge with master, fixing conflicts in 3 wscript files 2013-10-09 14:00:42 -04:00
070bb7a8ab Move system_exec from gtk2_ardour/ to libs/pbd/ 2013-10-07 21:16:42 +01:00
300b484cf6 Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_options.cc
2013-10-06 11:56:03 +01:00
3aee160b19 provide PBD::demangle() even on platforms without HAVE_EXECINFO 2013-10-04 12:22:00 -04:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
8ddd12a60d Rename SearchPath class Searchpath
Windows headers define SearchPath which means we have to undefine it
where necessary. This is a pain and can be tricksy, so I feel renaming
the class slightly is the easiest solution.
2013-09-06 14:31:11 +10:00
060c56cc3f Minor tweaks to MSVC build (hopefully of little consequence) 2013-08-26 17:50:17 +01:00
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
04bf9d1e95 fix newly-appearing crash-at-close caused by muddled thinking in pbd/pthread_utils
threads created with this code can now just return a value as they normally would, and the
infrastructure will ensure cleanup. there is no longer any reason to call pthread_exit_pbd()
and so that has been removed.
2013-08-15 11:44:47 -04:00
e6521bb043 Merge branch 'master' into cairocanvas 2013-08-14 13:11:34 -04:00
63745512bc Call setup_libpbd_enums in PBD::init for portability 2013-08-13 20:15:47 +10:00
1db894f886 Call Gio::init from PBD::init instead of ARDOUR::init
PBD needs Gio for PBD::copy_file and perhaps others
2013-08-13 20:15:47 +10:00
29193c76cc Add PBD::init and PBD::cleanup
A bit of refactoring to move initialization of libpbd into libpbd
rather than rely on "client" code(ui,libardour,tests etc) to do it
2013-08-13 20:15:47 +10:00
Michael Fisher
71e2fbbcff Resolve duplicate symbol 'cocoa_open_uri' on OSX builds.
cocoa_open_uri.mm was being added to the source list
twice and also compiling twice. This patch enusres it is
only added once.
2013-08-08 15:26:19 -04:00
Michael Fisher
9afb71eb5a Stop compiler warning about NSURL 2013-08-08 15:26:18 -04:00
Michael Fisher
bfbc55a673 Proper OSX/CLANG/CXX11 support in stl_delete.h
- replaces fix in 066df0d218
- Check if _LIBCPP_VECTOR is defined for vector_delete.
  This is defined in libc++'s headers which Apple is using
  instead of libstdc++
2013-08-08 15:26:17 -04:00
59a3b797d7 fix compiler warnings. 2013-08-08 15:26:16 -04:00
Michael R. Fisher
ea08feec48 Temporary OSX/Clang/C++11 workaround
- Adds a directive that includes <vector> upon specific conditions
- WIP
2013-08-08 15:23:10 -04:00
daad42dd6c Revert "Remove non-portable and unnused header includes"
This reverts commit 7ef79d3f4b.
2013-08-08 15:23:08 -04:00
cebd189239 Remove non-portable and unnused header includes 2013-08-08 15:23:08 -04:00
8c28b3ad07 add new files from test changes by timbyr 2013-08-08 15:23:08 -04:00
20311ed2f3 Use test_search_path to find test data in xpath test 2013-08-08 15:23:08 -04:00
cdaa32d2c6 Add test_search_path function in PBD testsuite 2013-08-08 15:23:08 -04:00
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
fa59391f6a 'libs/ardour' - Use 'const_iterator' where appropriate (required to be buildable with MSVC) 2013-08-04 15:06:10 +01:00
aaabaf5d3c Merge branch 'master' into windows 2013-08-02 12:51:24 -04:00
Michael Fisher
71c26e2820 Resolve duplicate symbol 'cocoa_open_uri' on OSX builds.
cocoa_open_uri.mm was being added to the source list
twice and also compiling twice. This patch enusres it is
only added once.
2013-08-02 12:01:47 -04:00
Michael Fisher
d882b03f7d Stop compiler warning about NSURL 2013-08-02 08:59:32 -05:00
6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00
98c6ca5abc Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-07-31 15:09:50 +01:00
Michael Fisher
a8456b3766 Proper OSX/CLANG/CXX11 support in stl_delete.h
- replaces fix in 066df0d218
- Check if _LIBCPP_VECTOR is defined for vector_delete.
  This is defined in libc++'s headers which Apple is using
  instead of libstdc++
2013-07-29 14:43:11 -05:00