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