13
0
Commit Graph

11406 Commits

Author SHA1 Message Date
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
5abac7cddd new MIDI binding map for Roland V-Studio 20, from Keith (Milner?) 2014-01-14 12:43:43 -05:00
d9296b7123 add preference -- link-send-and-route-panner default 2014-01-13 23:22:02 +01:00
e45151b89c first stab at send+route panner link 2014-01-13 23:21:30 +01:00
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