13
0
Commit Graph

5247 Commits

Author SHA1 Message Date
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
5162181767 Fix some usage of non-standard types for portability 2013-07-11 12:05:37 -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
2048f766e9 Use pthread_equal in libmidi++ for portability 2013-07-11 11:51:59 -04:00
157e21369e Use default constructor for pthread_t in InterthreadInfo ctor 2013-07-11 11:50:25 -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
f47499f157 Use g_random_int instead of ::random for portability 2013-07-11 11:38:46 -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
e842ae539a Fix portability of test and use temporary test 2013-07-11 11:12:39 -04:00
dc491cffdb Use common test function to create temporary session 2013-07-11 11:11:45 -04:00
d555b43f5b add new files from test changes by timbyr 2013-07-11 11:10:56 -04:00
d2ea18c4b6 theoretically: "Add new_test_output_dir to common libardour test" but actually features addition of new files, thus losing git history for these two which came from tim mayberry 2013-07-11 11:07:13 -04:00
4994073e93 Use test_search_path function in ardour test 2013-07-11 11:01:36 -04:00
060b381eb3 Add test_search_path function in libardour testsuite 2013-07-11 11:00:59 -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
7a5118f403 Add --single-tests option to also build each libardour test as a separate program 2013-07-11 10:57:21 -04:00
83a92a0ea1 disable libardour unit tests that do not function correctly (for windows, at least) 2013-07-11 10:31:47 -04:00
ac34c5852b remove another instance of xmmintrin.h 2013-07-10 11:04:35 -04:00
9bdf0a5e79 remove unnecessary include of xmmintrin.h 2013-07-10 11:00:19 -04:00
0571e5d6ae Revert "show track-ID in mixer" and "...towards unique track numbers."
This reverts commits:
  ca54ea2b462869bfd9254a493d073ca1e9ad4b8e.
  9e87e058e26b87013e89ddf5d3b7358d50024d60.
2013-07-10 15:27:17 +02:00
833ab2ebbd remove unique track number from meterbridge 2013-07-10 15:27:16 +02:00
7a62d31056 Episode VI: Return of the ZeroDBline 2013-07-10 15:27:16 +02:00
656cc9a0ad Episode V: the gainfader line strikes back 2013-07-10 15:27:16 +02:00
251031e354 disable number display on meterbridge by default 2013-07-10 15:27:15 +02:00
ee97942165 use accurate log10 for meter (fast_log2 is unsuitable inaccurate)
fast_coefficient_to_dB() returns a lower bound value, unsuitable
to catch audio peaks. The difference to 20*log10 is as large as 0.4 dB!

The effective speedup of fast_log10 compared to log10f is marginal
(sweep of all 24bit values)

  i686 (1.6GHz Intel core):  2.36 [times faster]
  x86_64 (core2 2.4GHz):     1.63
  x86_64 (I3 2.80GHz):       2.03

the execution time of one log10f() averaged over a
sweep of all 24 bit values

  i686 (1.6GHz Intel core):  0.131 usec
  x86_64 (core2 2.4GHz):     0.033 usec
  x86_64 (I3 2.80GHz):       0.044 usec

PeakMeter::run() is called from dedicated non-rt, no harm done.
2013-07-10 15:27:15 +02:00
46c1e573c4 show track-ID in mixer 2013-07-10 15:27:15 +02:00
1699be7c98 number/name on meterbridge 2013-07-10 15:27:15 +02:00
24f2961cce ...towards unique track numbers. 2013-07-10 15:27:14 +02:00
4d49961c93 allow to include solo,mute buttons on meterbridge 2013-07-10 15:27:14 +02:00
6aecd192ce remove b0rked attempt at meter-thread regularity.
eventually fall-off should be calculated in the audio-thread, anyway
and this thread will be obsolete..
2013-07-10 15:27:14 +02:00
40bc6f5b83 Task Force Viking: operation green line 2013-07-10 15:27:14 +02:00
7f47c9c5ec fix RMS+Peak meter for MIDI-tracks 2013-07-10 15:27:14 +02:00
ffbc1c7a8b with RMS meters: use "peak indicator" as DPM 2013-07-10 15:27:13 +02:00
5dae93e5ea ignore state-changes during [meter] context-menu popup (gtkmm bug?) 2013-07-10 15:27:13 +02:00
09243a326a use digital max-peak with RMS meter 2013-07-10 15:27:13 +02:00
5de0aee287 share meter-type among meter instances. 2013-07-10 15:27:13 +02:00
58b325de31 prepare meter type unification 2013-07-10 15:27:13 +02:00
2277da6e6c test/fix - possible cause of meter-freezing.. 2013-07-10 15:27:13 +02:00
4a9e79e53f fix meterbridge metric display switch 2013-07-10 15:27:13 +02:00
3a8f5a9770 remember meter type with session 2013-07-10 15:27:13 +02:00
0710171d90 don't reset meter background/highlight on click. 2013-07-10 15:27:12 +02:00
bc1a093710 amend to 212d2ac5d (port add/remove signals)
fix deadlock when updating audio/midi connection matrix
during session-close or on exit.

(Note: this still can cause a crash if the route goes away
while the iterator in the connection-matrix still has an index
of it)
2013-07-10 15:27:12 +02:00
6e1781e5e3 experimental RMS-meter and peak-signal (vs peak-power) query 2013-07-10 15:27:12 +02:00
b2beb11c8d improve timing accuracy for meter-falloff calc. 2013-07-10 15:27:12 +02:00
03a510c3d7 prepare meter-widget for dual background color 2013-07-10 15:27:12 +02:00
c1f56d4d7c meter line-up and fall-off standard values & names 2013-07-10 15:27:11 +02:00
6d09070895 peak-indicator threshold configuration 2013-07-10 15:27:11 +02:00
62d5585e34 prepare meter configuration..
- rework metric/tick image cache invalidation
  - flush cache
  - send signal to queue redraws
  (TODO) selectively flush cache // cache per size, style
- add four common line up levels
2013-07-10 15:27:11 +02:00
da08f8b1c5 add options to show/hide master and midi tracks;; hide inactive tracks 2013-07-10 15:27:10 +02:00
9d0a3b9eaf fix [some] issues when adding/removing output ports 2013-07-10 15:27:10 +02:00
f801144472 less prominent meter shade 2013-07-10 15:27:09 +02:00
580cec03ad add shade gradient to meter 2013-07-10 15:27:08 +02:00