13
0
Commit Graph

6580 Commits

Author SHA1 Message Date
e63f3daa7e VST scanner tool.. part two 2014-02-25 14:57:58 +01:00
cfa94aeccc fix system-exec (wait for app to start) 2014-02-25 14:57:57 +01:00
e2adf46e0f update external VST scanner app 2014-02-25 14:57:57 +01:00
993ed56701 prepare standalone VST scanner tool.. part one 2014-02-25 14:57:57 +01:00
1c402f943f remove unnecessary files from native audio backend 2014-02-24 21:19:17 -05:00
7865acf563 fix some code typos (compiler warnings) 2014-02-25 00:52:37 +01:00
6c70caec5f implement VST blacklisting 2014-02-24 23:57:28 +01:00
adcb0faf6b preparations for VST blacklist (paths) 2014-02-24 23:57:28 +01:00
974626bf66 remove incorrectly placed export declaration 2014-02-24 15:25:46 -05:00
a17f797c52 add waves audio backend when building on apple 2014-02-24 15:17:18 -05:00
6666599e7b add -fms-extensions to allow earlier apple gcc to support anonymous union, as used by PortMidi 2014-02-24 15:16:46 -05:00
dd55b7894e remove SampleFormat code from waves audio backend 2014-02-24 14:49:14 -05:00
1de00ab6bb new audio engine backend for native CoreAudio audio I/O, and PortMIDI for MIDI.
Code builds, runs and functions. Full code review still pending, and some possibly changes to organization of code within the backend is possible
2014-02-24 14:49:13 -05:00
57ffd6c404 changes to wscript to build new audio engine backend 2014-02-24 14:49:13 -05:00
9dbdac2a19 remove unused and unimplementable audio engine sample format code 2014-02-24 14:46:19 -05:00
55f6c5ab76 remove unused and unimplementable audio engine sample format code 2014-02-24 14:46:08 -05:00
e58b337c84 add (finally) DEBUG::AudioEngine bit and convert existing debug trace messages to use it 2014-02-24 13:51:31 -05:00
59cc85b821 plugin scan progress-display & preferences 2014-02-24 03:53:53 +01:00
22905d8a93 prepare GUI notifications for plugin scan 2014-02-24 02:04:37 +01:00
8cca67e9c9 fix VST shell-scanner (double free), support for VST2.4 2014-02-24 02:02:29 +01:00
2e0c98c489 remaining bits for VST-shell plugin support ..and more VST rework 2014-02-23 21:11:53 +01:00
fac93f7a82 preparations for VST Shell plugins (mostly mixbus code forward port) 2014-02-23 17:52:49 +01:00
bcf6c76462 consolidate lxVST & winVST file-info code into libardour
first step and clennup before adding support for
VST shell-plugins (collections) and external scanner app...
2014-02-23 05:51:58 +01:00
8843679e1f fix minimum VST GUI window size (gtk padding) 2014-02-22 03:11:49 +01:00
dfdf9a35f1 resolve gtk + VST threading issues
while (gtk_events_pending()) gtk_main_iteration(); never returns
as long as there's a idle call registered somewhere (and it's not
called from an idle callback itself)
2014-02-22 03:11:48 +01:00
b3154e8ed6 NOOP, whitespace change only 2014-02-22 03:11:48 +01:00
dfeb68aeb4 Windows VST GUI related rework 2014-02-22 03:11:48 +01:00
40aa7e5e90 first part of merging windows and wine VST
libfst is now very ardour specific (no longer compatible with /upstream/)
2014-02-22 03:11:48 +01:00
99076689f7 update vestige header (from mixbus) 2014-02-22 03:11:48 +01:00
348115c0f7 add support for VST>=2.4 2014-02-22 03:11:47 +01:00
e2f18ea658 allow per-line configurability of the threshold used to determine if a PolyLine covers a given coordination 2014-02-20 12:53:08 -05:00
14b2d0b549 fix error in canvas PolyLine::covers(), so that the mouse can actually enter/leave such items 2014-02-19 23:42:01 -05:00
130df9c2b1 use new ControlList::add() argument 2014-02-19 23:25:08 -05:00
afdedbf948 do not needlessly keep starting touch/automation watch passes just because a command to start or stop touch was received 2014-02-19 23:25:08 -05:00
f049d0294c add option to skip guard points when adding new control points to a ControlList; add more debugging statements 2014-02-19 23:25:08 -05:00
08eecbf3fe clear up some stupid thinking in Amp regarding the way the underlying AutomationControl/Controllable gets set when Amp::set_gain() is called 2014-02-19 23:25:08 -05:00
80d83fd238 add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages 2014-02-19 23:25:08 -05:00
1d39cf7543 move SystemExec to libpbd 2014-02-19 03:38:43 +01:00
05d7947795 make stateful image canvas item actually compile 2014-02-17 16:05:52 -05:00
3eeaec5608 use boost::uuids method to get a string from a boost UUID 2014-02-17 15:29:18 -05:00
eb3c14db25 new canvas item to allow image-based GUI construction 2014-02-17 15:28:18 -05:00
f0ddf5281b debugging export format UUID creation 2014-02-14 17:41:45 -05:00
133251db91 possible fix for error during export format load-from-disk 2014-02-14 16:33:44 -05:00
172a4a853d fix up problems with patch change flgs not changing height correctly 2014-02-14 12:06:44 -05:00
1df483d3db since we now expand rectangles to the right always, adjust the bounding box computation 2014-02-14 09:49:16 -05:00
1a9076c0ba remove debug message 2014-02-13 18:18:53 -05:00
08b86fda5c fix up some issues with precise placement of ArdourCanvas::Rectangle frame/outline 2014-02-13 18:18:19 -05:00
79d2a686ff make Item::set_position() do nothing if the position doesn't change 2014-02-13 18:18:19 -05:00
f889f391a1 Guard some Debug output so that it only appears when applicable ('Item::name' is only available when CANVAS_DEBUG is defined) 2014-02-13 14:12:36 +00:00
f5499d206a slight code tidy for Line::render() ... don't use 0.5 pixel adjustment if the line width > 1.0 2014-02-12 15:26:53 -05:00
e247103a7e fix up major thinko's in ArdourCanvas::Group's handling of deletion (both its own, and child items) 2014-02-12 15:15:27 -05:00
50edf9b626 correct delete/free mess 2014-02-12 15:14:40 -05:00
6876906d9d fix major thinko in ArdourCanvas::Group::clear() 2014-02-11 22:49:39 -05:00
a329a44cc1 when delivering canvas events, if an item is grabbed, use it in preference to Canvas::_current_item, but still propagate to its ancestors if left unhandled 2014-02-11 22:49:10 -05:00
cc2aca44fb fix text placement in ArdourCanvas::Flag 2014-02-11 12:40:44 -05:00
f8ed1bbcf4 i18n updates (specifically .de from edgar a, but also contains results of ./waf i18n 2014-02-10 12:19:43 -05:00
d2f8f3808b string fix up, II 2014-02-10 11:51:22 -05:00
456fb789d3 string fix up 2014-02-10 11:47:04 -05:00
f4b5f4c72e Merge branch 'master' into cairocanvas 2014-02-08 11:18:17 -05:00
3566fa2d8e add kxstudio linux vst dirs to LXVST default search path 2014-02-08 11:17:50 -05:00
b9054a1f72 fix missing colon in extension of LXVST search path 2014-02-08 11:16:17 -05:00
2a7ed69c28 merge with master, with minor conflict fixes 2014-02-07 19:00:44 -05:00
89d5be353a equivalent change to realpath() error return as was done in master rev 60a9213035 2014-02-07 18:49:51 -05:00
d47fe167e3 when cleaning up sources, do not remove "stub" sources from the source list, even though they do not exist on disk yet; remove some debug output 2014-02-07 17:38:42 -05:00
f715cd877c add FileSource::is_stub() declaration 2014-02-07 17:30:34 -05:00
2c67913245 Fix egregious logic bug in FileSource::removable() and introduce FileSource::is_stub() to hide logic for deciding if a source (file) is a stub 2014-02-07 17:17:30 -05:00
60a9213035 fix utter confusion about session _path in new sessions.
Yikes!
2014-02-07 13:56:44 -05:00
7bc3e0dab4 don't add a [shared] panner for the sends to monitoing section
fixes issue with 'stuck' mono panners (when using a stereo
monitoring section and auto-connect): the send to monitor
section is added after the main panner. At this point the
channel-count is different, but the send shared panner() with
the main route.

Here: mono-panner on track, stereo-panner; and they shared control
settings. since stereo-panner's width is 1, the position cannot be
changed.
2014-02-07 19:30:43 +01:00
7c69b0ab82 add debug-message to track down missing Sources 2014-02-05 18:49:32 +01:00
2b9421fd39 merge (w/fix) with master 2014-02-04 14:21:35 -05:00
371e8bdb55 VBAP nomenclature s/Direction/Azimuth/ 2014-02-03 19:12:29 +01:00
591ff9ceb6 update audio-buffer assert, take offset into account 2014-02-03 16:59:59 +01:00
74385d7267 remove cruft - unused _size in audio-buffers 2014-02-03 16:59:51 +01:00
592be26a24 fix stem-export buffer-size check 2014-02-03 16:51:08 +01:00
9c0b62e2f3 fix processor_lock
Only WriterLock requires to hold process_lock() as well
otherwise Route::process_output_buffers() may deadlock
2014-02-03 15:09:17 +01:00
12576a9f29 forward port lv2_evbuf update (from jalv) 2014-02-01 23:07:23 +01:00
59076a7e4c Merge branch 'master' into cairocanvas 2014-01-30 11:19:22 -05:00
ce2feeac56 even though man alloca says to include <alloca.h>, it apparently isn't necessary and no such header exists in the msvc world 2014-01-30 11:18:58 -05:00
2ba58dfe65 Merge branch 'master' into cairocanvas 2014-01-29 16:08:52 -05:00
66d0241118 move check for n_speakers so that we avoid needless work 2014-01-29 15:50:17 -05:00
2d8352123a fix vbap-speaker calculations to work with alloca() 2014-01-29 21:45:13 +01:00
a754a7cc0d fix up the abomination caused by moving from variable length (multidimensional) arrays to alloca'ed arrays, specifically access to arr[a][b].
This needs checking by an actual VBAP+multispeaker user.
2014-01-27 20:37:17 -05:00
f8737f7012 add new folders to linux vst search path to help out AVLinux and some other specialized distros 2014-01-27 14:55:58 -05:00
10d577146a replace standards-wobbling variable-length-arrays with alloca() 2014-01-27 14:20:19 -05:00
bb05ae05a8 remove unused _wave_color member from waveview canvas item; use outline color for edge dots of waveforms instead of hardcoding black 2014-01-26 16:02:38 -05:00
241c1aaaed fix #5840 ; redefinition of typedef 'VstTimeInfo' 2014-01-26 19:11:54 +01:00
9a190b8d2b fix crash when removing synth from midi-track
(and there are bypassed audio-plugins after said synth)
2014-01-26 00:46:39 +01:00
79b7fb82f3 try to get export/visibility and build conditionals right for surfaces/, once more 2014-01-25 13:57:28 -05:00
7000afdc66 fix merge conflict with master 2014-01-23 13:41:20 -05:00
065e1e6334 alter surfaces build wscript to use "children" idea (like top level wscript)
Still not clear why this file requires the global keyword to make children global, but the toplevel wscript does not.
2014-01-23 13:39:43 -05:00
d16edb530e fix up obj.defines for generic MIDI wscript 2014-01-23 13:38:45 -05:00
9d01082243 mackie code does not use poll(2) and so does not need poll.h 2014-01-23 13:38:23 -05:00
8eed05be54 use correct export/visibility macros 2014-01-23 13:37:28 -05:00
40d8c5ae01 change VBAP visual parameter name again :) 2014-01-23 15:32:26 +01:00
b0b71782e9 VBAP change visual parameter name. Diffusion -> Spread 2014-01-23 14:57:19 +01:00
0da004202e LV2 plugin save/delete -- fixes 5835 2014-01-23 13:14:25 +01:00
d005e8866b midi-audition: make "no synth" selection work. 2014-01-23 00:22:02 +01:00
8ad30bb76e configurable midi audition synth 2014-01-22 23:59:24 +01:00
f0b95950ee Update Russian translation
Resync some terminology with proposed changes in the translation
of Mixbus (session, snapping, monitoring).
2014-01-22 21:06:54 +01:00
fb8af16778 attenuate master volume 2014-01-22 18:10:44 +01:00
9dd3ceddc4 fix crash -- midi tracker reset when seeking audio 2014-01-22 17:38:59 +01:00
1202cb57dd prepare midi-audition synth plugin config, incl no plugin external synth 2014-01-22 15:30:43 +01:00
114997b7e6 tweak reasonable synth:
* prevent denormals / cut low volume
* reduce default amplitude of fundamental
2014-01-22 15:30:38 +01:00
224b44c6e2 reset midi synth (panic) when seeking or re-starting audition 2014-01-22 15:30:32 +01:00
8aa6585702 remove cruft 2014-01-22 15:30:23 +01:00
a5de06a050 backend for auditioning midi-files:
* "downgrade" auditioner from AudioTrack to Track.
* add relevant methods from both AudioTrack and MidiTrack.
2014-01-22 15:30:18 +01:00
1e3ad60eb6 take all tracks inside a midi-file into account when loading model
* fixes [region] length calculation,
* prepare for auditioning midi files (one track plays it all)
2014-01-22 15:30:14 +01:00
9e799c6146 open external [read-only] midi-files on construction 2014-01-22 15:30:09 +01:00
eb853b79c4 fix midi source factory -- load_model() uses shared_from_this() 2014-01-22 15:30:04 +01:00
3bc0d3e57b fix evoral assignment operator (copy buffer) 2014-01-22 15:11:31 +01:00
06cc5e5240 fix bitslot already in use warning
in e45151b89c route.cc was changed to create internal sends
directly with role = Delivery::Aux; and not Delivery::Role (0).
This change was motivated to initialize the panner for Aux-sends
in the Delivery.

Role(0) was used to override bitslot numbering during initial
construction of the object when the state is loaded from XML after
construction.

This patch adds an explicit flag for that.
(The previous Role(0) approach only worked for Aux-Sends
but not Sends, anyway.)
2014-01-22 13:06:58 +01:00
25a6296f86 Merge branch 'windows+cc' into cairocanvas 2014-01-20 18:18:21 +00:00
bd16d6afea I thought I'd committed these changes to 'windows+cc' but I must have forgot.... 2014-01-20 17:51:53 +00:00
b5e9e7c04c 'libs/gtkmm2ext' - 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) 2014-01-20 17:01:58 +00:00
5451b5fb13 remove unused static member from MouseButton 2014-01-20 11:33:28 -05:00
3c5a870289 a better, more general fix for the previous Canvas::item_going_away() issue. There is no need to repick the current item if the item going away is NOT the current item 2014-01-20 10:59:44 -05:00
2691209050 When removing an item which is event-insensitive, there is no need to repick the current item, since it can never have been used as the current item.
This fixes crashes associated with ghost notes in midi regions.
2014-01-20 10:53:58 -05:00
e97b7bb924 add required virtual method for SrcFileSource 2014-01-20 09:25:13 -05:00
6acdfc69b7 visibility macros and flush() added to SrcFileSource; merge with master 2014-01-19 17:54:47 -05:00
ca8fa56b61 lock source list when destroying it. 2014-01-19 22:49:58 +01:00
b3dd518b22 remove cruft 2014-01-19 22:49:48 +01:00
7f8faff384 fix typo in VST flags 2014-01-18 13:51:05 +01:00
c6b94acd7f mark session dirty when panner-bypass is toggled 2014-01-18 13:51:05 +01:00
73c6122591 towards a SRC source + resampling during audition 2014-01-18 13:51:05 +01:00
96cbcf0ee4 Fix crash when instrument plugins fail to instantiate. 2014-01-17 19:34:51 -05:00
31b68d1db8 use "portable" approach to forcing visible symbols in third party libs (qm-dsp, vamp-plugins, appleutility, clearlooks) 2014-01-17 13:19:42 -05:00
7418c12a5b override -fvisibility=hidden for the LV2plugin descriptor 2014-01-17 16:10:03 +01:00
0506f85e9d remove cruft 2014-01-17 16:00:17 +01:00
3ebd42b873 override visibility default for Apple's "appleutility" library, which was written without symbol export control 2014-01-17 09:52:13 -05:00
c0e6f8e4c3 Merge branch 'master' into cairocanvas 2014-01-17 09:13:44 -05:00
0479405e2f fix typo in auditioner-seek 2014-01-17 00:25:32 +01:00
b4462b3d22 add seeking to sfdb auditioner 2014-01-17 00:20:58 +01:00
2e27e21d3a Merge branch 'master' into cairocanvas 2014-01-16 17:26:50 -05:00
10933e2003 allow auditioning via the monitor section to work.
Ideally, we would feed the monitor section via an internal (aux) send/return, but this is an improvement over what we had before
2014-01-16 17:22:19 -05:00
620e1e6677 add event type string function to canvas (since it does not use gtkmm2ext) 2014-01-16 10:52:34 -05:00
016a9cc533 add Gtkmm2ext::event_type_string() 2014-01-16 10:14:42 -05:00
e279b9892b Merge branch 'master' into cairocanvas 2014-01-15 22:28:34 -05:00
0b9199163d continue with tweaks to VST timeinfo, such that the again demo plugin appears to work exactly as expected 2014-01-15 22:28:01 -05:00
1745340c67 Merge branch 'master' into cairocanvas 2014-01-15 20:40:11 -05:00
1c01ac5bc8 minor tweak to layout of vestige aeffectx.h 2014-01-15 20:37:26 -05:00
c3984f35ac more work on debugging VST timeinfo issues 2014-01-15 16:48:22 -05:00
3eadbaaf58 debug VST timeinfo callback, pt3 2014-01-15 16:31:10 -05:00
4365ea06e3 debug VST timeinfo callback, pt2 2014-01-15 16:26:21 -05:00
0265f3f1e2 debug VST timeinfo callback 2014-01-15 16:24:03 -05:00
40e7379569 don't require VST plugins to actually ask for time info fields 2014-01-15 16:19:04 -05:00
a882e96db1 Merge branch 'master' into cairocanvas 2014-01-15 16:10:09 -05:00
af3481fb78 add lots more BBT-based time info for VST plugins (see 5737) 2014-01-15 16:08:27 -05:00
a454bedc1d update VstTimeInfo structure, from Qtractor's version of vestige, which has all fields thanks to some steinberg online docs 2014-01-15 16:07:47 -05:00
00f145dbdf Revert "update VstTimeInfo structure, from Qtractor's version of vestige, which has all fields thanks to some steinberg online docs"
This reverts commit febc6b957e.
2014-01-15 16:06:57 -05:00
febc6b957e update VstTimeInfo structure, from Qtractor's version of vestige, which has all fields thanks to some steinberg online docs 2014-01-15 16:06:35 -05:00
ca621b3fbf improve comment explaining the use of alloca() 2014-01-15 15:00:07 -05:00
e8202dded8 add back comment explaining the use of alloca() 2014-01-15 14:58:59 -05:00
9aacefc170 merge with master 2014-01-15 14:29:32 -05:00
f9a5f87003 don't pan send/return inserts 2014-01-15 17:59:16 +01:00
b06fa27ccb rework LXVST port assignments - fixes #5827 2014-01-15 14:55:26 +01:00
c8f9405386 stereo-panner: clamp width during processing to valid range 2014-01-15 14:07:02 +01:00
abb75d4a2e prevent stackoverflow when pannable changes to fewer params
endless loop: e.g.  2in2out -> balance (or 1in1out)
#23 0xb7ab5c17 in ARDOUR::Pannable::value_as_string
#24 0xb2ebb206 in ARDOUR::Pannerbalance::value_as_string
#25 0xb7ab5c17 in ARDOUR::Pannable::value_as_string
#26 0xb2ebb206 in ARDOUR::Pannerbalance::value_as_string
ad infinitum
2014-01-15 10:38:32 +01:00
d27d6e673f re-allow panners for monitoring-section (for now) 2014-01-15 10:37:25 +01:00
a4dc05f603 fix invalid width when swiching to 2in2out 2014-01-15 09:45:02 +01:00
58def58bf5 VBAP GUI convention: top == front ^= azimuth == .5
This allows to move from stereo,mono panners to VBAP and back
and also facilitates sharing pannables of all currently
existing panners with semantically similar results.

(somewhat dirty solution, this retains PBD::spherical_to_cartesian
and maps angles pretty much everywhere else)
2014-01-15 09:37:20 +01:00
96586e81f4 the vampplugins lib that we build needs to use VAMPSDK 2014-01-14 21:46:41 -05:00
37b1f5017e merge with master 2014-01-14 21:13:21 -05:00
35c170937d NOOP, semantic update, don't pannable's panner for direct access. 2014-01-15 02:51:53 +01:00
813ead6d8b cont'd backend work on panner-linking 2014-01-15 02:51:52 +01:00
218cf268b9 remove debug code 2014-01-15 02:51:52 +01:00
d434287811 fix compilation problem on OS X caused by a missing implementation of a virtual method 2014-01-14 17:27:21 -05:00
adc2edc05c add back required extern 2014-01-14 15:11:32 -05:00
e332900055 revert incorrect include path changes and removal of export macros for two libardour symbols (revision and ardour_config_info) 2014-01-14 12:22:18 -05:00
b3526d855e 'libs/ardour' - Non-visibility stuff changed for MSVC (mostly alterations to #include paths) 2014-01-14 16:47:29 +00:00
b9390869ea 'libs/ardour' - Remove the old 'visibility.h' (so as not to merge it into cairocanvas) 2014-01-14 16:47:28 +00:00
10a4b2d3ed 'libs/ardour' - 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) 2014-01-14 16:47:27 +00:00
cf806123ca merge (with conflict fixes) with master (even against rgareus' recommendation) 2014-01-14 10:56:17 -05:00
cfc9a1f22e fix broken build after addition of normalizer.cc 2014-01-14 09:33:02 -05:00
eb023b7496 'libs/ardour' - 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) 2014-01-14 10:13:12 +00:00
e45151b89c first stab at send+route panner link 2014-01-13 23:21:30 +01:00
a1a3f6c826 Merge branch 'windows+cc' into cairocanvas 2014-01-13 15:05:30 +00:00
5f0492deae 'libs/audiographer' - Add a new source file (to accommodate the stuff removed from 'normalizer.h') 2014-01-13 15:01:14 +00:00
5fc1cbb65c 'libs/audiographer' - 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) 2014-01-13 14:58:04 +00:00
b9c389eac5 fix botched merge of vbap changes 2014-01-13 09:47:20 -05:00
e10bfb8054 VBAP backend re-work (part one):
* fix azimuth, don't clamp but map to [0,1]
* prepare elevation (10+ speakers)
2014-01-13 09:40:41 -05:00
fbe94f4470 pixel-align canvas PolyItems with single-pixel outlines, for crispness 2014-01-13 09:39:50 -05:00
2f3830eddb fix delivery: check if panshell exists on session-load 2014-01-13 09:39:50 -05:00
113f28b6fe independent panning for external sends 2014-01-13 09:39:50 -05:00
533e0091b7 fix output metering for Sends (Aux and External) 2014-01-13 09:39:50 -05:00
7e1e7e7629 add independent panner for internal (Aux) sends 2014-01-13 09:39:50 -05:00
0da58eeebf update internal-send port-count when target port-count changes 2014-01-13 09:39:50 -05:00
b4dea5309d ignore additional channels for AFL, PFL:
If the monitor-section has fewer-channels than the solo-listen point:
ignore additional channels.
2014-01-13 09:39:50 -05:00
1e4e6499e3 fix deadlock when removing monitoring-section 2014-01-13 09:39:50 -05:00
1b24aad933 fix processor -> reconfigure I/O || process concurrency
Add a ReaderLock to Route::process_output_buffers().

But process_output_buffers() is always called with processor-lock
held. To avoid deadlocks, a processor WriterLock must always imply
a process-lock (IFF reconfigure-I/O is called with _processor_lock).

Otherwise: e.g.
*  add_processor() -> takes processor-lock. set up and activate processor.
*  simult. audio-engine process, process-lock -> call process_output_buffers() -> wait for processor-lock
*  add_processor() continues -> calls reconfigure-io -> take process-lock -> deadlock.
2014-01-13 09:39:50 -05:00
ac8eb0581d take process lock when adding processors:
fixes possible crash if a processor modifies port-count

1. a processor is inserted and activated with processor-lock held
2. only after that the process_lock() is taken, configure_processors() is called which reconfigures-IO

BUT if the processor that is inserted changes the channel count AND audio is processed before IOs are reconfigured
 -> possible crash (invalid port-buffers)

To reproduce: Bus1 (2in, 3out), Bus2 (2in, 3out)
- add a send from Bus1 to Bus2,
- then add a processor to Bus1, just before the send which
  increases the channel-count to 4 -> occasional crash or assert.
2014-01-13 09:39:18 -05:00
a919ac8a86 aubio 3+4 compat 2014-01-13 09:38:24 -05:00
75e21d3ab4 cosmetic change - properly use lilv API 2014-01-13 09:38:24 -05:00
28470af5f7 swap channel VBAP channel 2014-01-13 09:38:24 -05:00
dd4c0e040f VBAP rework (part III): fix position computation backend & GUI 2014-01-13 09:37:35 -05:00
431babc272 update default speaker position list 2014-01-13 09:37:35 -05:00
60fe9606f4 VBAP GUI depends on signal-position (not parameter changes) 2014-01-13 09:37:35 -05:00
1bf9c4c990 VBAP backend re-work (part two): speaker positioning
* clean up source (whitespace)
* fix speaker 3x3 matrix iteration
* update math to go along with Ardour Cartesian -- fixes rounding errors
* fix division by zero in cross_prod()
* disable old debug output

(NB PBD::spherical_to_cartesian() returns
  3.7494e-33, 6.12323e-17, 1 for azimuth 90 elevation 90 distance 1
while it should return
  0.000000, 0.000000, 1 for azimuth 90 elevation 90 distance 1
IOW  cos(90.0 * 2.0 * M_PI / 360.0) != 0
Cause unknown. This is currently worked around check in vec_length()
)
2014-01-13 09:37:34 -05:00
112de00841 VBAP backend re-work (part one):
* fix azimuth, don't clamp but map to [0,1]
* prepare elevation (10+ speakers)
2014-01-13 09:35:57 -05:00
1fb9437e26 'libs/timecode' - Change some instances of 'rint' to be 'lrint' (better compatibility with MSVC) 2014-01-13 14:26:19 +00:00
291618fe71 allow to custom select panner-type for each delivery. 2014-01-13 15:13:37 +01:00