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
d4b1941796
fix meter gradient y-axis only
2013-07-10 15:27:08 +02:00
42ee64e950
midi meter updates..
2013-07-10 15:27:08 +02:00
8a16e61b11
make all meter-colors configurable,..
2013-07-10 15:27:07 +02:00
571b2d70e9
refactor level-meter widget: 5x2 stops meter colors
2013-07-10 15:27:07 +02:00
447e736139
remove b0rked horizontal meter code.
2013-07-10 15:27:07 +02:00
a07c50ad80
reduce peak-hold indicator to 2px height
2013-07-10 15:27:05 +02:00
a13bdf4153
meter rounded rectangle
2013-07-10 15:27:04 +02:00
3823ffc942
configurable meter background color
2013-07-10 15:27:04 +02:00
e4d754390e
meter border
2013-07-10 15:27:04 +02:00
5b6fd190cb
remove border around meter gradients, again.
2013-07-10 15:27:04 +02:00
fdbb0ef780
meter background gradient (hardcoded colors so far)
...
this is a quick test w/black borders only left+right
for Mr oofus to assess.
2013-07-10 15:27:03 +02:00
d6d27f10cb
fastmeter: 1px padding left&right
2013-07-10 15:27:03 +02:00
c23a537b61
session property - include busses in meterbridge
2013-07-10 15:27:02 +02:00
04eaf7b418
add lib/LV2 path akin to lib/surfaces, to allow bundling of LV2 plugins in an ardour release. My first attempt to push...
2013-07-10 07:31:25 -05:00
29108187ed
fix metering when monitoring track input. (ran twice)
2013-07-07 04:16:54 +02:00
398839f6e1
reset meters when changing metering-point or ports
2013-07-05 10:44:09 +02:00
9a9f4276a0
Further Freesound import tweaks.
...
Make download of sound files multi-threaded. Each sound file download takes
place in its own thread, and has its own progress bar and cancel button,
which stack up from the bottom of the list of results.
Sound files download into a file with a '.part' suffix, which is then
renamed to the intended name on success.
Add a 'Similar' button, which searches Freesound for sounds similar to the
currently-selected sound in the results list.
Add a freesound-download-dir config variable to decide the location
of sound files downloaded from Freesound.
Move Windows-specific logic to replace '/'s with '\'s from
Mootcher::changeWorkingDir() to Mootcher::ensureWorkingDir(), and remove
the now unused Mootcher::changeWorkingDir().
Use Glib::build_filename to construct paths.
2013-06-22 13:35:03 +01:00
48efe6c293
Add config variable for Freesound download folder location.
2013-06-21 21:30:52 +01:00
21914c884e
Make scroll-wheel modifier keys consistent in main editor window.
...
Add constants for the keyboard modifiers that should be used for vertical
zoom, horizontal zoom, and horizontal scrolling in the main editor window,
and use these where appropriate rather than using Keyboard::PrimaryModifier
and friends directly.
2013-06-21 20:13:44 +01:00
cc960c4f07
remove executable mode-bit from files
2013-06-16 21:54:08 +02:00
12584b7a7a
don't display freewheeling & samplerate LV2 ports on GUI
2013-06-14 17:33:29 +02:00
80a13145f3
Generalize no-plugin-state from AudioUnits to all plugins
...
Replace AU_STATE_SUPPORT compile-time define with NO_PLUGIN_STATE and make it prevent plugin state setting, preset loading, preset saving and plugin state saving. Blocks on these actions exist partially in the backend and partially in the GUI (this latter class are not absolute, and should OSC or MIDI be able to drive Plugin::save_preset() the block could be circumvented). Set NO_PLUGIN_STATE if --freebie is used at waf-configure time
2013-06-13 22:50:54 -04:00
5d52ae1825
Update Russian translation of Ardour 3.2
2013-06-14 02:21:02 +02:00
e2df0413f4
fix up versioning stuff for libardour, which should track regular ardour release versions
2013-06-13 10:53:36 -04:00
31e8c77609
update .po files
2013-06-11 08:49:52 -04:00
298da23619
save and restore Generic MIDI threshold/smoothing value
2013-06-10 12:37:09 -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
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
bdf91de8b7
more OSC socket fcntl() close-on-exec
2013-06-07 18:02:47 +02:00
6b19f5a444
OSC bail out if server cannot be started
2013-06-07 18:02:04 +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
024e556cb2
close network sockets on fork
...
fixes problem with external apps (ie. video-server) inheriting them.
2013-06-07 16:54:47 +02:00
7d8def38f4
fix compiler warnings
2013-06-06 21:00:34 +02:00
36359a7d8f
correct previous premature commit re: OSC and send gain
2013-06-06 11:19:23 -04:00
addb33bc63
implement OSC /ardour/route/send/gainabs and /ardour/route/send/gainDB
2013-06-06 11:14:31 -04:00
8bfaa2d3d9
move control surface prefs onto their own tab in the user prefs; for Generic MIDI GUI, rename "Threshold" to "Smoothing" and add a tooltip to describe it; fix misuse of S_() in prefs editor
2013-06-06 08:31:46 -04:00
e9341a7de3
fix memory leaks and compiler warnings in LXVST code
2013-06-06 02:24:49 +02:00
cc8dafad4f
lilv-backwards compatible min buffer-size implementation
2013-06-03 19:34:14 +02:00
1ee8f5c2e4
add forgotten free() -- fix tiny memory leak
2013-06-03 01:45:30 +02:00
6d33cd4362
fix typo in prev commit
2013-06-03 01:42:38 +02:00
b3014a63f1
lilv_port_get() for LV bufsize query requires new lilv
2013-06-03 01:40:10 +02:00
725e7443ad
properly clean up LV2 world
2013-06-03 00:51:34 +02:00
a1d0093bfa
honor LV2 rsz:minimumSize for Atom Event buffers
2013-06-03 00:48:17 +02:00
Sakari Bergen
b01ff11b04
Return null if deserializing an export timespan doesn't succeed with at least one range.
...
This should fix an issue with loading old sessions using the old way of
handling session ranges specially.
2013-05-26 21:25:22 +03:00
Sakari Bergen
0a364fd991
Remove special handling of session range in export. Fixes things when the session range is renamed.
2013-05-26 20:25:27 +03:00
13f51112c9
skip LV2 ports on GUI according to port-properties: notOnGUI and reportsLatency
2013-05-25 09:06:06 +02:00
db39613238
Forward midi feedback from LV2 plugins and allow to chain LV2 midi plugins.
2013-05-19 17:19:01 +02:00
126d592e8a
simplify prev commit
2013-05-17 13:52:16 +02:00