13
0
Commit Graph

11400 Commits

Author SHA1 Message Date
5b0c902997 center VBAP UI crosshair 2014-01-13 19:16:10 +01:00
291618fe71 allow to custom select panner-type for each delivery. 2014-01-13 15:13:37 +01:00
9c595f8131 delete 'big' 2d panner window, if panner changes to mono|stereo 2014-01-13 12:02:00 +01:00
346310c60b fix delivery: check if panshell exists on session-load 2014-01-13 11:49:09 +01:00
35aed0efab ProcessorWindowProxy::processor_going_away takes care of deletion 2014-01-13 11:08:51 +01:00
1146d58d21 misc panning related UI tweaks:
* connect 2D panner "edit" to big window
* disconnect 2D-panner GUI when it's visible but panner-type changes
* ignore mixer-strip level-meter context-menu for Aux-sends
2014-01-13 11:08:37 +01:00
bc88203ef5 independent panning for external sends 2014-01-13 10:50:49 +01:00
d9cf6880b6 fix output metering for Sends (Aux and External) 2014-01-13 10:50:22 +01:00
0559c1babb add independent panner for internal (Aux) sends 2014-01-13 10:48:37 +01:00
0c384b7c21 update internal-send port-count when target port-count changes 2014-01-13 10:48:23 +01:00
5e2a145cdd ignore additional channels for AFL, PFL:
If the monitor-section has fewer-channels than the solo-listen point:
ignore additional channels.
2014-01-13 10:47:17 +01:00
35ab234e5e fix deadlock when removing monitoring-section 2014-01-13 10:46:11 +01:00
a08e7c0016 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-12 23:13:35 +01:00
7e3282486d 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-12 21:47:15 +01:00
0e77e578cc VBAP panner UI tweaks:
* fix mouse-grab of sentinel
* make GUI more hemisphere like (circles at latitude)
* change alpha slightly to show signal overlap
2014-01-12 21:41:02 +01:00
1eaa30b725 aubio 3+4 compat 2014-01-12 18:11:14 +01:00
58f82b52e5 cosmetic change - properly use lilv API 2014-01-12 17:14:14 +01:00
261638a5a0 don't display elevation if panner does not support it. 2014-01-12 03:56:35 +01:00
f9b8300ec6 swap channel VBAP channel 2014-01-12 03:36:20 +01:00
bf7c6c07bf credit where credit is due for speaker-config and VBAP fixes inspiration 2014-01-12 02:05:01 +01:00
4a0bcd658c VBAP GUI object-grab & position 2014-01-12 00:57:27 +01:00
b54a231035 hide speaker-config in menu (it's not implemented yet) 2014-01-11 23:38:29 +01:00
60960280d1 redefine Pi :) 2014-01-11 23:38:28 +01:00
407eba04cf add spinbox to control width in VBAP GUI,.. 2014-01-11 23:38:28 +01:00
72cec05d46 VBAP rework (part III): fix position computation backend & GUI 2014-01-11 23:38:28 +01:00
7ac05ccfa5 update default speaker position list 2014-01-11 23:38:28 +01:00
0669bb455b VBAP GUI depends on signal-position (not parameter changes) 2014-01-11 23:38:28 +01:00
d3e1d54280 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-11 23:38:27 +01:00
80127f9cca VBAP backend re-work (part one):
* fix azimuth, don't clamp but map to [0,1]
* prepare elevation (10+ speakers)
2014-01-11 23:38:27 +01:00
72d8ca89e2 Support midnam controller value labels. 2014-01-10 20:51:54 -05:00
0fe968a140 Fix whitespace (no functional changes). 2014-01-10 20:51:54 -05:00
0bdf4c25cf fix panner search path 2014-01-10 20:35:32 +01:00
7396fcf0b1 re-configure _all_ panners on a route, when panner type changes 2014-01-10 12:36:20 +01:00
8d64665ce1 add a fixed priority to panner modules 2014-01-10 12:13:22 +01:00
99ed84c429 display info about replicated processors 2014-01-10 12:12:06 +01:00
ca0667e088 updated balance GUI 2014-01-10 01:02:45 +01:00
2224b9a09c update mono & balance panner GUI 2014-01-09 21:57:18 +01:00
04ad07babf add [missing] left_half_rectangle util 2014-01-09 20:48:04 +01:00
11d67258d3 remove inadvertently commited debug printf() 2014-01-09 20:03:06 +01:00
dbc54d9688 NOOP - re-indent src (no more mixed tab+space style) 2014-01-09 19:22:18 +01:00
e5cad21a81 prepare mono panner rework move to pango 2014-01-09 19:20:41 +01:00
62d5b617d3 processor routing: use small boxes (instead of circles) for ports 2014-01-09 19:18:19 +01:00
d343ffbde5 refine stereo-panner GUI:
* cairo pixel alignment
* use pango for text
2014-01-09 18:19:57 +01:00
5d3b441bf7 draw settings of bypassed panners 2014-01-09 14:32:13 +01:00
21ca6a10a9 rework panning -- Squashed commit of the following:
commit 6f4f4f161b00cb36252727f67ecc4913eb944fd7
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 22:13:09 2014 +0100

    fix panner plugin discovery (prev commit)

commit 26e514f4a80af9192cae3cbd62fde0ae95474dfc
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 18:56:59 2014 +0100

    update panner plugin discovery

    * recurse dirs in 'PANNER_PATH' and 'panner_dir_name' up to 1 level.
    * don't look in ardour_dll_directory() -- no panners are supposed to be in there
    * use .dylib on OSX exclusively.

commit a514c3f1c425dccf3d42eee9d2b183b44fd26a03
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:48:34 2014 +0100

    remove debug/devel printf()s

commit d863742ddc69af493ee6a8817bc778968d9b0800
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:17:13 2014 +0100

    panner-type: session backward/forward compatibility

commit 25d5e4c663ada34129451b0f9045ab047d6cc2f0
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 16:09:07 2014 +0100

    update URIs -> URLs

commit 00a606a43d9456cfbaf43cae4fb598549326ba71
Merge: 0f1cec1 382eb0f
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 03:29:45 2014 +0100

    Merge branch 'master' into panning

commit 0f1cec19babae538c9697eed4be5d6ddc851b013
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 02:41:15 2014 +0100

    switch panner ID to URI

commit 575282b412c3ae1cd8219cf75f00a1a4239e2813
Author: Robin Gareus <robin@gareus.org>
Date:   Wed Jan 8 00:50:15 2014 +0100

    prepare API for panner URI

commit ea62cd049308859782a7bb16e4f18169d8638b46
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 19:57:06 2014 +0100

    update development doc relating to panner selection

commit 586d7de2392e26b9d7f597b1a00b98dfaa42ecdc
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 19:56:24 2014 +0100

    clean up PanShell::set_user_selected_panner_type() API

commit 99077886a5a1cacece908d87c29c3be12903027e
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 04:46:22 2014 +0100

    panner bypass: visualize & [in]sensitivity

commit 46d688d216f0e67d672376a607157af02b359fb2
Merge: 4e67573 c4cdf61
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 02:18:54 2014 +0100

    Merge branch 'master' into panning

commit 4e67573517b3d60ddf65729783687b16cfb2adb7
Author: Robin Gareus <robin@gareus.org>
Date:   Tue Jan 7 01:05:17 2014 +0100

    don't call configure_io() for merely swapping panners

commit d32a4c51f6967f48f7680554866f1f7b311ccde1
Merge: a3226d4 cec3116
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 23:49:55 2014 +0100

    Merge branch 'master' into panning

commit a3226d46b598afae54a65ac69320eca84669f347
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:52:38 2014 +0100

    add notes about panner re-design

commit d1ae2366024605f22b05572a81ee249e6fdbcd2f
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 15:06:40 2014 +0100

    add simple stereo-balance panner for testing

commit e0ddd256ff2288b8d8cfad3ad485a916964ce5b5
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:02:52 2014 +0100

    add frontend/GUI for panner selection

commit 2cb8f846755eb5aea8a2620d31ea981c446c4041
Author: Robin Gareus <robin@gareus.org>
Date:   Mon Jan 6 17:02:20 2014 +0100

    prepare backend for panner selection
2014-01-09 00:18:45 +01:00
Sakari Bergen
f45ec9f87b Add unit test runner (artest) and a config option to run tests after builds 2014-01-08 22:00:34 +02:00
Sakari Bergen
3a59899193 Add -fno-omit-frame-pointer to AddressSanitizer options 2014-01-08 20:35:46 +02:00
Sakari Bergen
054ead24cc Fix dither data width assertions and related tests
Fixes 32-bit export

This was broken from the start, and was broken in a new way in
52309c0c4f
2014-01-08 20:33:17 +02:00
382eb0fc68 fix issue with editor-mixer:
* width+processor box display:
  - show editor-mixer
  - hide editor-mixer
  - select a different track or bus
  - show editor mixer
  -> width is wrong, processor may be displayed w/1px height
* no routes on initial display -> possible segfault
2014-01-08 03:29:06 +01:00
c4cdf61971 make LV2 presets immediately available 2014-01-07 02:17:25 +01:00