13
0
Commit Graph

1104 Commits

Author SHA1 Message Date
822b5443fe add missing header include (for snprintf) 2014-09-30 19:08:16 +02:00
6fbd0a62e4 recursive file copy function 2014-09-28 18:24:08 +02:00
56f4e1513e provide compile-time-enabled/disabled debugging of connections being made to PBD::Signal via PBD::SignalBase::set_debug_connection() 2014-09-11 12:04:14 -04:00
2967226317 Add 'libs/pbd/pbd/pthread_utils.h' to our pbd project (msvc) 2014-09-09 12:06:47 +01:00
61e0705a94 Re-introduce our pthread macros (after fixing an earlier typo)
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-09 12:03:52 +01:00
83b6825bd0 Revert "Add a couple of pthread helper macros"
This reverts commit 8d0ec2403f.
2014-09-09 08:26:26 +01:00
65715dd298 Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
45afed5e9a Modify our VC project files to work with msvc32-fixup.pl 2014-08-04 09:02:17 +01:00
59822e8dd2 Minor change to 'pbd/controllable.h'
(in MSVC, 'min' & 'max' are not in namespace std)
2014-07-27 11:28:23 +01:00
fdaa6a151a 3 monitor tweaks for the_CLA. shift+click to default, and new preset vals 2014-07-22 16:05:51 -05:00
b2b736d596 tweaks for the monitor section. refactoring of some buttons, using new ArdourKnob instead of VolumeController. New ArdourDisplay shows a controllables user value, and provides support for preset values (hardcoded at present). Further refactoring to come, so that ArdourWidgets are derived from a common class. Controllable now has more responsibility for scaling between internal, user, and interface (knob percent) values. This also needs more refactoring and might have some unintended consequences. tested with audio and nothing seems amiss, yet. 2014-07-18 08:47:45 -05:00
928881b24a Update vcproj files for changed LILV config define. 2014-07-15 15:50:12 -04:00
12025d4ffa possible fix for win SystemExec::wait()
if it does not help, use CREATE_NO_WINDOW and/or peek/pump messages :(
2014-07-11 17:03:55 +02:00
6990c31ed5 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2014-07-11 09:59:59 -04:00
94e0841625 catch null vfork_exec_wrapper before it is too late 2014-07-11 09:58:45 -04:00
c81604bc18 Add newly introduced (MD5) sources to our MSVC project (also, add visibility stuff to the new MD5 class) 2014-07-11 12:56:17 +01:00
66684c6690 Add PBD::get_suffix() for ripping file suffixes from paths 2014-07-08 12:24:56 -04:00
d3e3f5f005 add operator-= variants for PBD::Searchpath 2014-07-08 00:53:13 -04:00
f4a84a0272 add MD5 implementation to wscript 2014-07-08 00:53:13 -04:00
6b9ef29597 add cleaned up MD5 C++ implementation for general use 2014-07-08 00:53:13 -04:00
4b0933938f optimize SystemExec::output_interposer() 2014-07-06 23:44:48 +02:00
c03034b7d6 Make $PATH search in SystemExec actually work
Make searching of $PATH work when a SystemExec  is created from a
command-line, by making sure that argv[0] is set to the discovered path.
2014-07-05 21:47:49 +01:00
c9b0f0fcb7 debug info to trace down "cannot rename temp session file" errors
..but actually, the real error may be concurrent
calls to Session::save_state()
2014-07-05 20:53:22 +02:00
190542c1d0 splice mode is undefined, undocumented, and buggy. ripple does most of what we want. remove splice for now. leave code because it may be revived later 2014-07-01 16:43:00 -05:00
02e38bab16 search-path: filter out duplicates
Note: this does not yet take care of filtering dups
when directly combining two search-paths.
2014-06-28 22:02:20 +02:00
dcca72dabd Use 'GStatBuf' in preference to 'struct stat' (which isn't necessarily the same thing) 2014-06-28 13:33:28 +01:00
ef78ad0d83 Remove (no longer needed) sources from our MSVC projects 2014-06-28 11:48:08 +01:00
3d0e36f579 Add unit tests for PBD::clear_directory and PBD::remove_directory 2014-06-25 12:40:11 -04:00
2ef5cefa6b Rename internal class to stop the wrong destructor from being called 2014-06-25 12:40:11 -04:00
7262e16216 Add a PBD::TextReceiver in pbd testrunner 2014-06-25 12:40:11 -04:00
24c40c0e88 Add simple test for PBD::find_files_matching_pattern
This helped fix a silly cut and paste error in pbd/file_utils.cc so
might as well included it.
2014-06-25 12:40:11 -04:00
31bceb7570 Use PBD::FdFileDescriptor in PBD::copy_file 2014-06-25 12:40:11 -04:00
8da304be09 Fix PBD::copy_file so it works with non-ASCII filenames on windows 2014-06-25 12:40:11 -04:00
4ced10bfe5 Add test utility function to PBD tests to return some utf-8 strings
This is currently unused
2014-06-25 12:40:11 -04:00
53c959ad8f Add a test for PBD::copy_file using test files with utf-8 encoded filenames 2014-06-25 12:40:11 -04:00
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
3000399ce1 Use PLATFORM_WINDOWS define instead of WIN32 in PBD::FileManager 2014-06-25 12:40:11 -04:00
7bf392060e Call PBD::init and PBD::cleanup in pbd test executable 2014-06-25 12:40:11 -04:00
7338c4e242 Add test for PBD::copy_file
From this I can see that PBD::copy_file is not working correctly on windows
as it is adding windows style line endings. Adding O_BINARY to ::open flags
would fix it, but perhaps there is a better way...
2014-06-25 12:40:11 -04:00
94d8dfa256 Add utility function to test lib to create a test directory
There is an identical function in libardour test support lib so we
should probably find a better place to put this at some point
2014-06-25 12:40:11 -04:00
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
6d0cce528e Add/Update docs in pbd/file_utils.h 2014-06-25 12:40:11 -04:00
851db83fc4 Use run_functor_for_paths in PBD::get_paths 2014-06-25 12:40:10 -04:00
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
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
26ec4038af Use run_functor_for_paths in PBD::find_files_matching_pattern 2014-06-25 12:40:10 -04:00
24599c552d Add function PBD::find_paths_matching_filter 2014-06-25 12:40:10 -04:00
54c0a0144c Use run_functor_for_paths in PBD::find_files_matching_filter 2014-06-25 12:40:10 -04:00
e7141d2b80 Add function to file_utils intended to be used internally 2014-06-25 12:40:10 -04:00
ab6837665f Add some debug output in file_utils.cc 2014-06-25 12:40:10 -04:00
e6c4b0e9e4 Remove reference to strtok_r now that it isn't used 2014-06-25 12:40:10 -04:00
a226068959 Change formatting of DEBUG_TRACE calls to match style guide 2014-06-25 12:40:10 -04:00
cb3a604936 Move functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc 2014-06-25 12:40:10 -04:00
257897392a Add remove_directory_internal function and use it in PBD::clear_directory and PBD::remove_directory 2014-06-25 12:40:10 -04:00
64856a5862 Reimplement PBD::clear_dir using PBD::get_directory_contents 2014-06-25 12:40:10 -04:00
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
8d0cba3384 Use PBD::find_files_matching_pattern instead of other variations 2014-06-25 12:40:10 -04:00
36fd67ab72 Add a variation of PBD::find_files_matching_pattern for convenience 2014-06-25 12:40:10 -04:00
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
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
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
cd28d62b26 fix compiler warnings. 2013-07-28 20:32:52 +02:00
338f53e69a Further changes to msvc/pbd (mostly to add support for getopt and getopt_long) 2013-07-24 17:46:25 +01:00
7f882b5a92 Correct a typo in 'msvc_pbd.h' 2013-07-24 10:22:16 +01:00
b02fb1dbea Reinstate include of regex.h for Linux and MinGW build
I'm not sure how boost/regex.h is relevant but it doesn't enable the
build to succeed in on Linux or using Mingw so if this is not an error
and required for msvc build then fix it
2013-07-22 13:42:05 +10:00
9d774969fc Adapt libs/pbd/ffs.cc to be buildable with MSVC 2013-07-18 12:08:34 +01:00
57e53d577b break symbol name cycle on non-win32-non-gcc platforms 2013-07-17 13:50:04 -04:00
5f15bc9f9f Merge branch 'windows' of git.ardour.org:ardour/ardour into windows 2013-07-17 18:15:51 +01:00
110972e59a JOHNE source files (needed for building libpbd with MSVC) 2013-07-17 14:53:17 +01:00
650964f320 Merge branch 'master' into windows 2013-07-17 08:05:59 -04:00
5f2fcb2e32 Add PBD::ffs function 2013-07-17 19:29:34 +10:00
11335e4bf0 Allow PBD::canonical_path to compile with mingw build 2013-07-17 19:07:23 +10:00
57f9a4c344 Merge branch 'windows' of git://git.ardour.org/ardour/ardour into windows 2013-07-17 08:24:36 +01:00
350ed31655 Remaining changes needed for building libpdb on Windows (except for adding the extra JE source modules) 2013-07-17 08:08:46 +01:00
105652ad09 Accommodate 'pthread-win32' and 'boost/regex' (for libpbd) 2013-07-17 08:06:26 +01:00
c7306f5732 Other (Windows specific) includes for libpbd 2013-07-17 07:38:20 +01:00
e257b79ecd 'libs/pbd/file_utils.cc' didn't apply cleanly for some reason 2013-07-16 19:13:18 +01:00
7b480eaa27 Windows (compiler specific) includes for libpbd 2013-07-16 18:00:49 +01:00
Michael R. Fisher
066df0d218 Temporary OSX/Clang/C++11 workaround
- Adds a directive that includes <vector> upon specific conditions
- WIP
2013-07-15 22:57:35 -05:00
15be154515 use g_unlink() rather than unlink() universally, requires <glib/gstdio.h> in several files 2013-07-15 14:29:00 -04:00
00ae5492f4 (reapply with fixes) Build system changes to support mingw build target 2013-07-15 13:43:17 -04:00
96ea407d1a Revert "Build system changes to support mingw build target"
This reverts commit 94145732f3.
2013-07-15 13:21:22 -04:00
94145732f3 Build system changes to support mingw build target 2013-07-15 13:16:09 -04:00
020ca43ed0 add and Update mutex test that is no longer necessary now that glib has been fixed 2013-07-15 12:53:16 -04:00
f08d9591e6 Fix reading and writing of files on windows in PBD::FileManager 2013-07-15 07:55:36 -04:00
5131b8300f Use g_open instead of ::open in PBD::FileManager
g_open is a macro that evaluates to ::open on linux(and mac) so this
is only a change for windows.
2013-07-15 07:54:29 -04:00
e8ecd32732 Add test for Glib::Mutex::trylock
Behaviour of this method is different on WIN32
2013-07-13 17:00:18 -04:00
ccdc6fcd6a Add DEBUG_TRACE output to file utility functions in libpbd 2013-07-13 16:55:40 -04:00
550eeecc63 Add header include required by mingw compiler 2013-07-13 16:44:59 -04:00
ad89d1e031 Use custom comparator in threadmap for pthread impl with mingw 2013-07-13 08:44:58 -04:00
c43ff1113d Add ::localtime_r implementation for mingw 2013-07-11 15:00:22 -04:00
09e471545b remove direct of realpath(2), replace with canonical_path() which is a no-op on windows 2013-07-11 14:57:16 -04:00
29f178aa4b Add PBD::GlibSemaphore class that uses PBD::atomic_counter etc.
PBD::Semaphore can really be used instead of this class now,
but it didn't exist when I needed this class and it is header only, which
causes some problems because windows.h is included
2013-07-11 14:38:53 -04:00
57f3ba6a1f Add wrapping class for glib atomic counter 2013-07-11 14:37:27 -04:00
2218a70d37 Add timersub macro for platforms where it isn't defined 2013-07-11 14:30:38 -04:00
b6afce39a4 Undef SearchPath where needed as it is defined via windows.h
This is pretty annoying, might even be worth renaming the class
2013-07-11 14:27:24 -04:00
4adb2f97cc Use timeout source to process ui requests on windows
Using a timeout source to process ui events/requests is suboptimal
but it works for the moment. Have to use g_source functions as glibmm
functions are not thread safe AFAIK.

Behaviour should be exactly the same on unix.
2013-07-11 12:56:35 -04:00
7626cd68ac Hide UI request mechanism from inheriting classes 2013-07-11 12:52:46 -04:00
5d20b3e24e Ifdef unix specific test for mingw build 2013-07-11 12:47:56 -04:00
cb23bdd547 Don't use parts of signal.h that aren't defined when using mingw 2013-07-11 12:46:52 -04:00
e70db68fac Add implementation for ProcessSemaphore on windows 2013-07-11 12:46:05 -04:00
8b63e005a1 Include io.h on windows for access 2013-07-11 12:44:33 -04:00
daf570ea5d Add an empty implementation of PBD::mountpoint for mingw
PBD::mountpoint is only used to find peakfiles for old sessions, so it might
not be necessary to implement this for windows.
2013-07-11 12:43:55 -04:00
d7b7953705 Use pbd/resource.h in PBD::FileManager 2013-07-11 12:42:53 -04:00
4eff7b4e82 Add pbd/resource.h for portable access to resource limits 2013-07-11 12:41:55 -04:00
38ebf63961 Fallback to gettimeofday for access time in FileManager 2013-07-11 12:39:24 -04:00
acc13d37a7 Use boost::tokenizer in PBD::parse_debug_options for portability 2013-07-11 12:36:16 -04:00
36a55b8674 Use boost::uuid instead of libuuid 2013-07-11 12:30:32 -04:00
b9fa882c56 Use PBD::pthread_name in debug output instead of pthread_self 2013-07-11 12:01:17 -04:00
1fad4714e3 Use PBD::pthread_name in debug output for portability 2013-07-11 11:53:24 -04:00
227cf470ba Use a std::list instead of std::set for the ThreadMap in libpbd
pthread_t can't work with std::set using the pthread lib on windows
as there is no operator< defined for the type
2013-07-11 11:43:43 -04:00
117118e5f0 Use pthread_equals in libpbd for portability 2013-07-11 11:40:59 -04:00
27eecdc88b Use g_setenv and g_getenv for portability 2013-07-11 11:37:25 -04:00
23bec25bf5 Remove non-portable and unnused header includes 2013-07-11 11:34:37 -04:00
4be2176bd9 Revert "Remove non-portable and unnused header includes"
This reverts commit 7ef79d3f4b.
2013-07-11 11:23:41 -04:00
7ef79d3f4b Remove non-portable and unnused header includes 2013-07-11 11:19:57 -04:00
d555b43f5b add new files from test changes by timbyr 2013-07-11 11:10:56 -04:00
bceab19201 Use test_search_path to find test data in xpath test 2013-07-11 10:59:30 -04:00
a2f5a8d9c0 Add test_search_path function in PBD testsuite 2013-07-11 10:58:35 -04:00
3031a99364 Merge branch 'master' into cairocanvas 2013-06-25 22:24:47 -04:00
cc960c4f07 remove executable mode-bit from files 2013-06-16 21:54:08 +02:00
f00b3b7f11 merge with master 2013-06-13 23:00:24 -04:00
4cb31ef74e Revert all close-on-exec changes from earlier today
with b26cc125 these are no longer needed.
2013-06-07 21:07:41 +02:00
fd5f1ef5f5 fix typo in SndFileDescriptor::open() -- check if file open succeeded. 2013-06-07 20:14:42 +02:00
07c6df00cc fix use of sf_open_fd() instad of sf_open() 2013-06-07 19:33:20 +02:00
31d234b48c Merge branch 'master' into cairocanvas 2013-06-07 13:18:48 -04:00
676a23e031 close audio-file if it cannot be opened 2013-06-07 18:56:48 +02:00
0761902b7e fix issue (creating new sound-files) in 92161b57 2013-06-07 18:09:15 +02:00
92161b57ad mark more filedes as close-on-exec. - here audio+midi files! 2013-06-07 17:43:06 +02:00
df99859ad2 more sockets to close on fork() 2013-06-07 17:12:25 +02:00
addb33bc63 implement OSC /ardour/route/send/gainabs and /ardour/route/send/gainDB 2013-06-06 11:14:31 -04:00
bebe2af95a merge with master 2013-05-08 14:48:28 -04:00
eb5096bfc7 use hw.physicalcpu to get a more accurate CPU count on OS X (hw.ncpu includes hyperthreading cpus) 2013-05-08 10:47:23 -04:00
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
ebb1271b6f Merge branch 'license-fix' of https://github.com/adiknoth/ardour 2013-05-01 13:01:37 -04:00
c40accda42 don't print stacktraces to the supplied ostream AND cerr - a remnant from debugging wierd problems with stacktrace() on paul's system 2013-04-30 11:12:52 -04:00
Adrian Knoth
13ad68c73c Drop obsolete dmalloc.cc from libs/pbd.
The file relies on -DDEBUG_MALLOC and references

i   #include "/usr/local/src/dmalloc-4.1.2/return.h"

It is safe to assume that it's dead code.
2013-04-22 20:18:36 +02:00
Adrian Knoth
ef1fb4161a Disable obsolete compilation of libs/pds/dmalloc.cc
The file relies on -DDEBUG_MALLOC and references

  #include "/usr/local/src/dmalloc-4.1.2/return.h"

It is safe to assume that it's dead code.
2013-04-22 20:18:36 +02:00
Adrian Knoth
c72c7e6575 Fix license in fastlog.
Date: Mon, 22 Apr 2013 19:09:04 +0200
From: Laurent de Soras <laurent.de.soras@free.fr>
To: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Subject: Re: License of FastLog

Hi Adrian,

> Several open-source projects like Ardour use the code below which has
> no explicit license.
>
> If you agree (read: reply), we'd like to add the MIT license to this
> file, that is, change the copyright statement to the following text:

Nowadays I license my code under the WTFPL, which should
be compatible with the traditional open source licenses.
So please use this one instead:
<http://www.wtfpl.net/about/>

--
Laurent de Soras                  |               Ohm Force
DSP developer & Software designer |  Digital Audio Software
http://ldesoras.free.fr           | http://www.ohmforce.com
2013-04-22 19:21:16 +02:00
4e84bc3a39 changes to get cairocanvas branch to build on OS X, with its stupid nil and Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master 2013-04-12 21:46:44 -04:00
1cb9779401 remove extra output from PBD::stacktrace 2013-04-10 10:49:27 -04:00
30968b8542 merge with master, including manual merge conflict resolution 2013-04-06 16:12:15 -04:00
433e3bda70 fix crash when using track templates caused by a recent change to the filescanner API. if the template contains no plugin states, the scanner would return a null pointer, and we would fail to notice 2013-04-06 11:21:09 -04:00
55a1048094 Merge branch 'patches' of https://github.com/jdekozak/ardour 2013-04-05 11:54:34 -04:00
7db5d68cdb adjust demangling code a bit so that it can easily be used with typenames and not just functions in stacktraces 2013-04-05 11:26:39 -04:00
661a9d37e7 fix compilation on OS X 2013-04-01 09:03:33 -04:00
Julien de Kozak
27d77b8719 Fix some compilation warnings 2013-03-30 18:09:40 +01:00
Sakari Bergen
b6c2dec8fa Fix static initialization order problem 2013-03-24 21:18:20 +02:00
Sakari Bergen
24816de6ca Fix PBD wscript to be python3 compatible 2013-03-24 14:51:57 +02:00
027f0e156a Merge branch 'patches' of https://github.com/jdekozak/ardour 2013-03-20 17:47:47 -04:00
a5d3f2d578 make PBD::stacktrace() be clear if it cannot generate stacktraces for some (runtime) reason. not sure why this is an issue, but it is, right now, on my machine 2013-03-20 17:20:13 -04:00
16ce39c230 initial, prototype modifications to permit compilation of local libraries as static libs. required a "fix" to libs/pbd/debug.cc to even get the program up and running, and still does not work due to issues with boost::shared_ptr::enable_shared_from_this. controlled by configure-time --internal-{static,shared}-libs, set to shared by default (as has been the case for years) 2013-03-20 17:18:55 -04:00
Julien de Kozak
1e6d12be03 Fix guard name 2013-03-20 20:17:56 +01:00
a1a8794dad add missing files 2013-03-20 08:43:19 -04:00
a2d6577210 move path_expand() and search_path_expand() into libpbd, and use them to expand search paths given to pathscanner objects (always) 2013-03-20 07:43:19 -04:00
Adrian Knoth
1e32454b36 [cosmetics] Fix typo in debug output
Found by Debian's automatic QA tool.
2013-03-19 17:24:34 +01:00
b0fa3896f5 remove cruft (old cvsignore files) 2013-03-17 23:08:27 +01:00
da41e5087b NOOP - pre videotimline cleanup 2013-03-13 20:28:14 +01:00
e701adea41 add code to display announcements, and parameterize several URL's used in the program
git-svn-id: svn://localhost/ardour2/branches/3.0@14197 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-09 13:44:22 +00:00
77c578f21c minor header fix for OS X
git-svn-id: svn://localhost/ardour2/branches/3.0@14032 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-30 12:32:53 +00:00
db3da02446 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13865 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:51:39 +00:00
58a027b7a2 add copyright comments
git-svn-id: svn://localhost/ardour2/branches/3.0@13857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 18:15:38 +00:00
bb3690db58 merge Marcel Bonnet's patches for Free-BSD
(may need further cleanup:
 compare with timbyr's windows patch,
 verify fst/vsti + ALSA)

git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 17:36:52 +00:00
b924ba9ceb some explanatory text for CrossThreadPool, so that it is possible (maybe) to understand its purpose without divine intervention
git-svn-id: svn://localhost/ardour2/branches/3.0@13671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-16 17:04:48 +00:00
aa13dec8f5 fix complaints from OS X gcc about constness
git-svn-id: svn://localhost/ardour2/branches/3.0@13359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:13:33 +00:00
760ccbabfb add -Wpointer-arith -Wcast-qual -Wcast-align and others to compile flags, and fix const cast warnings generated by new flags
git-svn-id: svn://localhost/ardour2/branches/3.0@13124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-10 15:57:09 +00:00
ff2fac11a0 more vst parameter related stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@13119 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-09 16:55:56 +00:00
5bfa705ff7 new file containing very clever code for floating point "equality" comparisons
git-svn-id: svn://localhost/ardour2/branches/3.0@13116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-08-09 15:46:54 +00:00
Sakari Bergen
1573ea991d Add missing #includes to some tests
git-svn-id: svn://localhost/ardour2/branches/3.0@13100 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-28 09:08:29 +00:00
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
1cdf02ae2f remove use of boost::thread/boost::mutex; bump glibmm requirement to 2.30 in order to pick up Glib::Threads::Mutex which can be used statically, use that to replace boost::mutex; add required inclusion of <cerrno> in a couple of places
git-svn-id: svn://localhost/ardour2/branches/3.0@13076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-24 21:43:05 +00:00
Carl Hetherington
cc9ed077be Patch from johan_mattsson_m to be more graceful if there
is an undo record which references a non-existant
object; this shouldn't happen, of course, but there was
a bug in some early betas which made it occur (#4920).


git-svn-id: svn://localhost/ardour2/branches/3.0@12930 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 21:19:21 +00:00
Carl Hetherington
e58e614f20 Fix build.
git-svn-id: svn://localhost/ardour2/branches/3.0@12910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 12:54:11 +00:00
e85f11618c Remove unused pbd/filesystem.h/cc
git-svn-id: svn://localhost/ardour2/branches/3.0@12906 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:54 +00:00
1f440fbfec Remove unused or unnecessary header includes
git-svn-id: svn://localhost/ardour2/branches/3.0@12905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:51 +00:00
c44917aed7 Remove unused PBD:sys::create_directory/ies functions
git-svn-id: svn://localhost/ardour2/branches/3.0@12892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:22 +00:00
0d785c8ebd Use g_mkdir_with_parents instead of sys::create_directories
git-svn-id: svn://localhost/ardour2/branches/3.0@12891 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:19 +00:00
7a881ef67a Remove PBD::sys::is_directory and use Glib equivalent
git-svn-id: svn://localhost/ardour2/branches/3.0@12887 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:11 +00:00
f558a8c917 Remove unused PBD::sys::exists function
git-svn-id: svn://localhost/ardour2/branches/3.0@12884 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:09:04 +00:00
6d7302a3a4 Remove unused method PBD::sys::path::leaf
git-svn-id: svn://localhost/ardour2/branches/3.0@12880 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:55 +00:00
7a6e86c9f9 Remove unused method PBD::sys::path::branch_path
git-svn-id: svn://localhost/ardour2/branches/3.0@12877 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:49 +00:00
d2637317a3 Remove unused function PBD::sys::rename
git-svn-id: svn://localhost/ardour2/branches/3.0@12876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:46 +00:00
8c831bef10 Remove unused function PBD::sys::remove
git-svn-id: svn://localhost/ardour2/branches/3.0@12873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:38 +00:00
f318d8640c Remove unused function PBD::sys::basename
git-svn-id: svn://localhost/ardour2/branches/3.0@12867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:24 +00:00
a459f96e38 Remove unused function PBD::sys::extension
git-svn-id: svn://localhost/ardour2/branches/3.0@12866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:22 +00:00
6b1659a29b Move file utility function into pbd/file_utils.h and into PBD namespace
git-svn-id: svn://localhost/ardour2/branches/3.0@12865 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:19 +00:00
878acbee14 Make PBD::sys::exists_and_writable take a string instead of sys::path
git-svn-id: svn://localhost/ardour2/branches/3.0@12864 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:17 +00:00
e26e59b006 Move three file utility functions from pbd/filesystem.h to pbd/file_utils.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:14 +00:00
6aee537109 Change PBD::sys::get_absolute_path to take and return a std::string
git-svn-id: svn://localhost/ardour2/branches/3.0@12862 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:11 +00:00
a049a69a1a Move docs for PBD::sys::get_absolute_path into header
git-svn-id: svn://localhost/ardour2/branches/3.0@12861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:09 +00:00
a239047380 Move doc for PBD::sys::path_is_within to header
git-svn-id: svn://localhost/ardour2/branches/3.0@12860 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:06 +00:00
fb76229f7b Change PBD::sys::path_is_within to take string params and use Glib
git-svn-id: svn://localhost/ardour2/branches/3.0@12859 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:04 +00:00
1d3594cc9b Add docs for PBD::sys::equivalent_paths
git-svn-id: svn://localhost/ardour2/branches/3.0@12858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:08:01 +00:00
17475df100 Rename PBD::sys::inodes_same to equivalent_paths
This better reflects its function and more closely matches boost
naming(which is usually a good sign)

git-svn-id: svn://localhost/ardour2/branches/3.0@12857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:59 +00:00
5ae32cdfd9 Fix PBD::sys::inodes_same to check that paths are on same device
two paths can have the same inode and be on different devices and hence
would not be equivalent

git-svn-id: svn://localhost/ardour2/branches/3.0@12856 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:56 +00:00
f4d826047f Use g_stat in PBD::sys::inodes_same for portability
git-svn-id: svn://localhost/ardour2/branches/3.0@12855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:54 +00:00
e66e9854d7 Overwrite target file in PBD::copy_file
git-svn-id: svn://localhost/ardour2/branches/3.0@12854 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:52 +00:00
a22dd8c20a Move PBD::sys::copy_file/s into pbd/file_utils.h and PBD:: namespace
Copy files no longer depends on PBD::sys::path so move it

git-svn-id: svn://localhost/ardour2/branches/3.0@12853 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:49 +00:00
4cda435203 Use Glib::build_filename in PBD::sys::copy_files
git-svn-id: svn://localhost/ardour2/branches/3.0@12852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:47 +00:00
2f507c8a76 Use giomm in PBD::sys::copy_file and change function signature
now returns bool to indicate successful copy rather than throw and
takes strings as args

git-svn-id: svn://localhost/ardour2/branches/3.0@12850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:42 +00:00
28d7884eed Replace PBD::sys::path use in PBD::Stateful
git-svn-id: svn://localhost/ardour2/branches/3.0@12843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:07:27 +00:00
105caf23da Use std::string instead of PBD::sys::path in pbd/search_path.h, pbd/file_utils.h and ardour/session_dir.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 05:06:54 +00:00
6262eae7c0 Remove unnecessary header includes
git-svn-id: svn://localhost/ardour2/branches/3.0@12827 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 03:51:41 +00:00
ec998b045e Remove unnecessary header include
git-svn-id: svn://localhost/ardour2/branches/3.0@12825 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 03:51:37 +00:00
8770c4668d Remove unnecessary header include
git-svn-id: svn://localhost/ardour2/branches/3.0@12824 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-23 03:51:34 +00:00
Todd Naugle
33d17f176b missing includes
git-svn-id: svn://localhost/ardour2/branches/3.0@12813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-21 20:24:03 +00:00
Todd Naugle
61f879bcee Fixing issues with opening a browser when using the bundle. Use xdg-open instead of glib functions. Fix to epa to ensure that the enviroment is restored correctly. The current enviroment has to be cleared. Otherwise any variables that are set in the current enviroment, but do not have a setting in the restored version will be left set.
git-svn-id: svn://localhost/ardour2/branches/3.0@12812 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-21 20:15:38 +00:00
Carl Hetherington
24b418598a Make EnumWriter exceptions a bit more informative.
git-svn-id: svn://localhost/ardour2/branches/3.0@12758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-18 18:28:19 +00:00
Carl Hetherington
5ac22e9095 Add new SharedStatefulProperty which manages a shared_ptr to
some Stateful object, and a subclass to use this for
AutomationList.  SharedStatefulProperty will manage undo / redo
using full copies of the XML state, like MementoCommand,
but does it within the Property undo system.



git-svn-id: svn://localhost/ardour2/branches/3.0@12740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 17:20:10 +00:00
38897f7df4 add use of access(2) to filesystem exists_and_is_writable() implementation, to pick up filesystems mounted read-only
git-svn-id: svn://localhost/ardour2/branches/3.0@12701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:09:40 +00:00
Carl Hetherington
ec362b39ad Missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@12469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:48:39 +00:00
Carl Hetherington
7eb8a33910 Add path_is_within to decide if a path is within a given
directory, taking symlinks into account, and use it to
decide whether a file is within the session folder.  Should
fix #4552.


git-svn-id: svn://localhost/ardour2/branches/3.0@12468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 16:32:41 +00:00
Carl Hetherington
99c1aacc23 Fix up tests now that operator= on ScopedConnection disconnects the old connection that it held.
git-svn-id: svn://localhost/ardour2/branches/3.0@12395 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-23 16:22:51 +00:00
Carl Hetherington
23a615a6db Must disconnect old UnscopedConnection when setting a new one in operator=, otherwise the old one is leaked.
git-svn-id: svn://localhost/ardour2/branches/3.0@12356 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-21 10:26:10 +00:00
813c5f0af9 major rationalization of use of search paths. ardour now has just 4 functions used to define how external resources are located: ardour_config_search_path() (for system or user specific configuration data), ardour_data_search_path() (for machine, user and system independent data), ardour_dll_directory() (base directory where shared libraries are found) and user_config_directory(). These are now used throughout the code. the config, data and dll paths/directories can be overridden by environment variables. the user config dir is added as the first element of the first two search paths, and use selectively when searching for a few other things.
This commit re-enabes ./waf install, and it is believed that it works fully at this point (more testing likely required)

git-svn-id: svn://localhost/ardour2/branches/3.0@12326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-18 17:24:06 +00:00
8647471379 Fix posix_memalign checks.
git-svn-id: svn://localhost/ardour2/branches/3.0@12316 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-17 00:54:43 +00:00
Carl Hetherington
8aca90e593 Fix libpbd tests.
git-svn-id: svn://localhost/ardour2/branches/3.0@12315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 23:11:16 +00:00
Carl Hetherington
312c4e22a7 Align the address of the pointer to the fxsave block to a 16-byte boundary (as well as the pointer itself), which the internets seem to suggest is required.
git-svn-id: svn://localhost/ardour2/branches/3.0@12313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 22:43:23 +00:00
Carl Hetherington
c95fb95f3a Tweak comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@12310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 12:10:06 +00:00
c1300a0172 reset _signal member of a Connection so that we will never try to disconnect twice
git-svn-id: svn://localhost/ardour2/branches/3.0@12299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-16 00:06:16 +00:00
23f03f995f remove two instances of static/global ScopedConnectionList. one remains worth thinking about for semantics (libs/pbd/controllable.cc:registry_connections)
git-svn-id: svn://localhost/ardour2/branches/3.0@12295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 15:32:53 +00:00
Carl Hetherington
b54779ec41 Try to make signals.h.py more cross-python-version compatible.
git-svn-id: svn://localhost/ardour2/branches/3.0@12285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 10:43:47 +00:00
Carl Hetherington
4d22a4345a Tidy up a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@12283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:37 +00:00
Carl Hetherington
a6fdd6c915 Maybe fix typename / no-typename problems better.
git-svn-id: svn://localhost/ardour2/branches/3.0@12282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:33 +00:00
Carl Hetherington
5bbbc98533 Add missing file.
git-svn-id: svn://localhost/ardour2/branches/3.0@12280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:17 +00:00
Carl Hetherington
32bed9aaf0 Make ScopedConnectionList's mutex non-static so that one
list's destruction can cause another without a
deadlock.


git-svn-id: svn://localhost/ardour2/branches/3.0@12279 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:06:06 +00:00
Carl Hetherington
14a86aaccc Merge old a new signals code into one set of classes.
git-svn-id: svn://localhost/ardour2/branches/3.0@12278 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:05:57 +00:00
Carl Hetherington
0c3f6d9819 Remove the need for a shared_ptr for Signal; signal
tells its connections that it's going away, instead.


git-svn-id: svn://localhost/ardour2/branches/3.0@12277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:05:25 +00:00
Carl Hetherington
42267ff78c Remove debug output.
git-svn-id: svn://localhost/ardour2/branches/3.0@12276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-15 00:04:36 +00:00
Carl Hetherington
f012a84e62 Build libs/pbd/pbd/signal.h from its generator python
script.


git-svn-id: svn://localhost/ardour2/branches/3.0@12268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:46:07 +00:00
1e0fd01815 drop boost::signals2 and replace with carl's solution which continues to rely on boost::function and boost::bind but alters two important semantics of signals2: (1) when a Connection object is disconnected, the slot ("functor") associated with the connection is destroyed immediately, unlike signals2 where this is deferred to a subsequent connect/emit call on the signal (2) if one functor called by the signal disconnects another Connection, the functor represented by the Connection will NOT be called during the current signal emission (signals2 copies the slot list at the start of emission and calls everything in the slot list). this change fixes some very nasty crashes apparently caused by boost::signals2 assuming that the memory referenced by a functor remains valid after a disconnect (google will show other developers who had issues with this).
git-svn-id: svn://localhost/ardour2/branches/3.0@12265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:18:48 +00:00
37969d837e remove virtual inheritance of sigc::trackable by Receiver and AbstractUI<T>, done by changing Gtkmm2ext::UI to use composition (HAS-A) rather than inheritance (IS-A) for Receiver; use correct synchronization when starting up a BseUI event loop thread so that tests that start/stop quickly do not encounter a race condition
git-svn-id: svn://localhost/ardour2/branches/3.0@12264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 17:07:53 +00:00
69a242ba64 fix for --test build on OSX
git-svn-id: svn://localhost/ardour2/branches/3.0@12262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-14 13:34:50 +00:00
4302649bd9 Fix compilation on Windows. Probably.
git-svn-id: svn://localhost/ardour2/branches/3.0@12246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 21:53:01 +00:00
482e15a424 correct cut-n-paste error in new comments for signals.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 18:16:12 +00:00
73161988bb add some explanatory comments to pbd/signals.h
git-svn-id: svn://localhost/ardour2/branches/3.0@12226 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 16:25:50 +00:00
Carl Hetherington
c8f6f87ea7 Fix critical glib warning if a BaseUI is quit without
being started.


git-svn-id: svn://localhost/ardour2/branches/3.0@12219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 10:34:00 +00:00
7a76168b66 more fixes/tweaks from the land of the lion
git-svn-id: svn://localhost/ardour2/branches/3.0@12150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:45:17 +00:00
a562e5f7f2 another quick OS X Lion gcc suggestion
git-svn-id: svn://localhost/ardour2/branches/3.0@12149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:33:39 +00:00
Carl Hetherington
e455805d2b Possibly hacky fix for tests on newer Ubuntu (or maybe
its gcc 4.6.3)


git-svn-id: svn://localhost/ardour2/branches/3.0@12110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27 16:43:05 +00:00
d5e14b3d91 eventloop and abstractui debugging, lots more commenting on abstractui/eventloop implementation; minor tweaks elsewhere
git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 16:45:38 +00:00
a9d77d1a70 remove various debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@12070 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:35:33 +00:00
33140f3267 add support for IP MIDI (multicast MIDI over IP UDP sockets) to ardour and use it if requested inside MCP code. required renaming the pre-existing MIDI::Port as MIDI:JackMIDIPort - MIDI::Port becomes the base type for both JackMIDIPort and IPMIDIPort
git-svn-id: svn://localhost/ardour2/branches/3.0@12069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 02:28:51 +00:00
Carl Hetherington
9befa88deb Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 23:34:15 +00:00
d6051c9953 move string_is_affirmative() into libpbd
git-svn-id: svn://localhost/ardour2/branches/3.0@11936 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 11:45:40 +00:00
338e83d9dc Implement LV2 worker extension.
This is done by way of a generic Worker object/thread, which currently just
applies to one LV2 plugin, but the idea is to share one thread and set of
buffers among many plugins.  The same pattern may also be useful elsewhere in
Ardour.  The responding part gets a bit tricker when sharing a worker between
plugins, it's not a blocker, and I'm lazy, sooo here's this.

This commit also adds a new portable in-process semaphore to PBD.  The existing
one is pretty weird and uses a named semaphore on OSX for reasons unknown to
me.  Perhaps as a quick fix to avoid POSIX semaphores being utterly broken on
OSX?  It would probably be a good idea to replace that with this new one, which
uses Mach kernel semaphores on OSX which work well, though I am not sure how
pedantically real-time safe they are to signal.


git-svn-id: svn://localhost/ardour2/branches/3.0@11790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 00:15:54 +00:00
Carl Hetherington
47faebb367 Missing file.
git-svn-id: svn://localhost/ardour2/branches/3.0@11779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-02 13:52:36 +00:00
Carl Hetherington
7f417fb44f Remove unused ustring version of url_decode(). Rework
the other version to be a bit simpler, avoiding #4800.


git-svn-id: svn://localhost/ardour2/branches/3.0@11771 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:30:06 +00:00
Carl Hetherington
3240a93aad Fix libpbd tests and add test for url_decode().
git-svn-id: svn://localhost/ardour2/branches/3.0@11770 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:29:26 +00:00
Carl Hetherington
4c0b104db5 Fix test build.
git-svn-id: svn://localhost/ardour2/branches/3.0@11738 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21 01:07:05 +00:00
71b3c8cfe1 some deep changes to xml++ in which we retain a C-level xmlDocPtr as a member of an XMLTree objects. this allows us to do repeated XPATH searches (as in the midnam parser of libmidi++) without constantly rewriting an entire tree into memory to recreate a new xmlDocPtr with which we can search. Since XMLTree objects don't typically stay around for very long, just when serializing to/from disk, this is not anticipated to have much (if any) impact on memory consumption
git-svn-id: svn://localhost/ardour2/branches/3.0@11733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-20 18:01:07 +00:00