13
0
Commit Graph

5304 Commits

Author SHA1 Message Date
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
a8647faca7 Add JACK utility functions in libardour and test
This contains much of the code present in the GUI EngineDialog class
but refactored with some added windows bits.
2013-07-15 12:46:35 -04:00
3e1c66f946 Use g_stat in AudioSource::initialize_peakfile for portability 2013-07-15 12:41:53 -04:00
4a8aadbbdf Use g_rename in AudioSource::rename_peakfile for portability 2013-07-15 12:41:24 -04:00
dca2774508 Use g_utime for portability in AudioSource::touch_peakfile 2013-07-15 12:41:01 -04:00
ea0e42dee7 Use g_stat in AudioSource::touch_peakfile for portability 2013-07-15 12:40:34 -04:00
81dbc20bac Add basic test for PluginManager and LADSPA plugins 2013-07-15 12:40:06 -04:00
83e05ec0ec Use ARDOUR::ladspa_search_path and PBD::find_matching_files to find LADSPA modules 2013-07-15 12:38:03 -04:00
5bc4e54b7d Add ARDOUR::ladspa_search_path function to get LADSPA module directories 2013-07-15 08:08:09 -04:00
2c7a1179c6 Fix finding panner modules on windows by looking for files with *.dll extension 2013-07-15 08:07:12 -04:00
49edb90484 Add ladspa directory name to directory names 2013-07-15 08:06:39 -04:00
c00e03cced Don't include jack/weakjack.h header when compiling for windows 2013-07-15 08:06:09 -04:00
43f7813b24 Fix portability of Session::source_search_path 2013-07-15 08:05:37 -04:00
f08d9591e6 Fix reading and writing of files on windows in PBD::FileManager 2013-07-15 07:55:36 -04:00
542c4b024e Don't use errno after g_file_test on windows 2013-07-15 07:55:01 -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
db3edc4018 Use ::write instead of pwrite in AudioSource::compute_and_write_peaks for portability
This destroys the atomicity of pwrite() and thus suggests that we should do something else to ensure
that multithread access to peakfiles (if it does in fact exist) is safe. OTOH, there may be no
such thing, since they are designed for the GUI, which is single threaded (for now)
2013-07-15 07:53:45 -04:00
13a0f14db7 Use ::read instead of pread in AudioSource::read_peaks for portability
This destroys the atomicity of pread() and thus suggests that we should do something else to ensure
that multithread access to peakfiles (if it does in fact exist) is safe. OTOH, there may be no
such thing, since they are designed for the GUI, which is single threaded (for now)
2013-07-15 07:52:37 -04:00
Michael R. Fisher
453713178f Housekeeping 2013-07-14 21:40:20 -05:00
Michael R. Fisher
be44b3c37b set the flag true 2013-07-14 21:22:34 -05:00
Michael R. Fisher
e487814e9d Lazily load bundled LV2 plugins in LV2PluginInfo::discover()
- Do this instead of finding them in the static ctor of LV2World
- Prevents usage of ARDOUR_DLL_PATH environment variable before
  it is set in main(...)
2013-07-14 21:19:59 -05:00
Michael R. Fisher
879bab6a53 Formatting only. 2013-07-14 21:16:08 -05:00
Michael R. Fisher
23bf9b11c6 Use a static string variable for dll path.
Making this consistent with all other funtions in this file.
2013-07-14 21:06:25 -05:00
0aac62e013 Merge branch 'master' into windows 2013-07-14 08:27:22 -04:00
394f2b3ca7 Use boost::scoped_array in AudioSource::compute_and_write_peaks 2013-07-13 17:44:16 -04:00
90c2a1c69d Use boost::scoped_array in AudioSource::build_peaks_from_scratch 2013-07-13 17:43:36 -04:00
ebdf73a077 Remove use of goto in AudioSource::read_peaks 2013-07-13 17:43:00 -04:00
e5cc56a523 Use boost::scoped_array for controlling scope of peak data in AudioSource::read_peaks 2013-07-13 17:42:34 -04:00
b84d032b3a Use boost::scoped_array in AudioSource::read_peaks 2013-07-13 17:41:48 -04:00
f754e1c0bb Use boost::scoped_ptr to control scope of peakfile descriptor 2013-07-13 17:40:42 -04:00
1bd570c276 Replace conditional peak debugging with DEBUG_TRACE macro usage
Also add some extra debugging info
2013-07-13 17:39:55 -04:00
ac16da8ea6 Fix saving sessions on windows by using g_rename instead of ::rename 2013-07-13 17:33:30 -04:00
868b06efd6 Revert "Fix saving sessions on windows by using g_rename instead of ::rename"
This reverts commit 2e2c22ad3c.
2013-07-13 17:10:11 -04:00
2e2c22ad3c Fix saving sessions on windows by using g_rename instead of ::rename 2013-07-13 17:01:47 -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
6542ce76d0 Don't use trylock in assertions on windows as it will fail
glib uses TryEnterCriticalSection on windows which will return true
if the lock as able to be locked *or* is already locked by the current
thread.
2013-07-13 16:57:04 -04:00
1fd2412f5b Add config/data filesystem paths to search on windows 2013-07-13 16:56:12 -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
48f8863b2c Use g_mkstemp in audiographer for portability 2013-07-13 16:44:37 -04:00
3be0f0aa0b Use pthread_name instead of pthread_self for portability 2013-07-13 16:44:03 -04:00
57066732ca Use pthread_name instead of pthread_self for portability 2013-07-13 16:43:50 -04:00
ad89d1e031 Use custom comparator in threadmap for pthread impl with mingw 2013-07-13 08:44:58 -04:00
eddcc868ba Disable non-realtime midi ports in windows build - THIS NEEDS FIXING 2013-07-13 08:26:54 -04:00
5bae4373c7 implement visual-sensitivity (gray out) for faders
Note: bar-controller sensitivity state is not yet set if
automation-mode changes to/from play, but the widget now
supports that.
2013-07-12 19:07:07 +02:00
e0bbc0b435 minor peak-meter performance tweak
* redraw only missing parts of the outside rectangle,
* don't redraw RMS meter if value has not changed
2013-07-12 17:56:42 +02:00
01ed4f3388 undef SearchPath where needed as it is defined via windows.h 2013-07-11 15:24:36 -04:00
f80859f3bd Use uint32_t type instead of uint 2013-07-11 15:16:50 -04:00
b8c369fe2d Include pbd/timersub.h for mingw build 2013-07-11 15:16:11 -04:00
965883bc22 Use Glib functions to create tmp file path 2013-07-11 15:15:40 -04:00
ef3ea6c6a6 Work around badly chosen argument name in giomm/dbusmessage.h
interface is defined in windows/mingw headers. hopefully this will
be fixed in giomm at some point and this crap can be removed
2013-07-11 15:14:51 -04:00
abd478d1c8 Include pthread.h in butler.h for mingw build
Jack2 on windows doesn't include pthread headers so it is necessary
to include them explicitly.
2013-07-11 15:11:22 -04:00
9f7e293c3b Use Glib::usleep for portability 2013-07-11 15:10:10 -04:00
01a4c3186a Use PBD::pthread_name in debug output for portability 2013-07-11 15:09:29 -04:00
2b93c878d0 Disable some non-portable code that is only used for debugging 2013-07-11 15:08:47 -04:00
fa2dcea820 Use jack_native_thread_t for portability
Requires future attention in AudioEngine due to timbyr's use JACK2 extension to JACK API
2013-07-11 15:08:10 -04:00
a69847b671 Include pbd/localtime_r.h for mingw build 2013-07-11 15:00:56 -04:00
c43ff1113d Add ::localtime_r implementation for mingw 2013-07-11 15:00:22 -04:00
5d125e1eae Use PBD::pthread_name in debug output 2013-07-11 14:58:00 -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
2ddab2d2f6 Use PBD::GlibSemaphore in Butler to signal requests on windows 2013-07-11 14:41:08 -04:00
75f0dfb4a8 fix compiler warning 2013-07-11 20:39:24 +02: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
dd55df80f0 Refactor the non-portable parts of Butler thread into new functions 2013-07-11 14:36:43 -04:00
0f1ed673d0 Move request pipe setup into separate function 2013-07-11 14:35:26 -04:00
6a8901eb8d Include pbd/timersub.h in session_midi.cc 2013-07-11 14:31:15 -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
4d71933f5b Add cast for mingw compiler 2013-07-11 14:23:20 -04:00
742753a996 Don't require liblrdf on windows
This removes dependence on liblrdf, libraptor and libxslt
2013-07-11 14:20:02 -04:00
1b21eec042 Fix for ambiguity of UUID type on windows 2013-07-11 14:13:55 -04:00
83ed3d7dcc Use glibmm for modules instead of dlfch.h 2013-07-11 13:58:48 -04:00
058ebf98b9 Disable increasing open file limit on windows 2013-07-11 13:55:03 -04:00
ef9ed302e3 Add necessary header include for int64_t type 2013-07-11 13:53:35 -04:00
0e513f0469 Include header that declares ::free for mingw build 2013-07-11 13:53:12 -04:00
157b0e385a Disable peakfile reading and writing on windows for now
There is no point trying to implement this until it can be tested
2013-07-11 13:52:29 -04:00
27a5a589ed INFINITE is defined via windows.h so undefine it 2013-07-11 13:05:24 -04:00
0c3bbd41dd Fix for mingw compiler 2013-07-11 13:04:39 -04:00
350bd56a06 Fix evoral test to compile with mingw 2013-07-11 13:03:55 -04:00
2b9f50ffc7 include winsock2.h on windows in libsmf for htons/l etc. 2013-07-11 13:03:24 -04:00
8d1f88f87b Include unistd.h for usleep on MinGW 2013-07-11 13:01:16 -04:00
ab8918fa73 Changes to get IPMIDIPort to compile(but not functional) on MinGW 2013-07-11 13:00:42 -04:00
8a9cdd04c5 Include pthread.h as it isn't included via jack headers on windows 2013-07-11 12:58:44 -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
62cfd6a752 Only call configure in surface subdirectories if the required deps are available
I think these checks should probably be in the surface build files so they
are self contained...
2013-07-11 12:23:05 -04:00