Commit graph

11474 commits

Author SHA1 Message Date
Paul Davis
4365ea06e3 debug VST timeinfo callback, pt2 2014-01-15 16:26:21 -05:00
Paul Davis
0265f3f1e2 debug VST timeinfo callback 2014-01-15 16:24:03 -05:00
Paul Davis
40e7379569 don't require VST plugins to actually ask for time info fields 2014-01-15 16:19:04 -05:00
Paul Davis
af3481fb78 add lots more BBT-based time info for VST plugins (see 5737) 2014-01-15 16:08:27 -05:00
Paul Davis
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
Robin Gareus
79b56b1d33 fix pan-width automation 2014-01-15 20:03:20 +01:00
Robin Gareus
f9a5f87003 don't pan send/return inserts 2014-01-15 17:59:16 +01:00
Robin Gareus
b06fa27ccb rework LXVST port assignments - fixes #5827 2014-01-15 14:55:26 +01:00
Robin Gareus
c8f9405386 stereo-panner: clamp width during processing to valid range 2014-01-15 14:07:02 +01:00
Robin Gareus
ab838a1260 Midi-track fader & pan automation
NB. Fader automation lane always shows 'dB' value and is logarithmic.
OK for pre-fader synths, but not for raw-midi data.
2014-01-15 11:30:54 +01:00
Robin Gareus
b73b2ceecd update pan automation-track display 2014-01-15 11:23:38 +01:00
Robin Gareus
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
Robin Gareus
d27d6e673f re-allow panners for monitoring-section (for now) 2014-01-15 10:37:25 +01:00
Robin Gareus
a4dc05f603 fix invalid width when swiching to 2in2out 2014-01-15 09:45:02 +01:00
Robin Gareus
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
Robin Gareus
35c170937d NOOP, semantic update, don't pannable's panner for direct access. 2014-01-15 02:51:53 +01:00
Robin Gareus
6bebe1d886 update panGUI connections (panner-shell vs pannable vs panner) 2014-01-15 02:51:52 +01:00
Robin Gareus
c46e74012e NOOP, clean up whitespace/TAB mess 2014-01-15 02:51:52 +01:00
Robin Gareus
813ead6d8b cont'd backend work on panner-linking 2014-01-15 02:51:52 +01:00
Robin Gareus
218cf268b9 remove debug code 2014-01-15 02:51:52 +01:00
Paul Davis
d434287811 fix compilation problem on OS X caused by a missing implementation of a virtual method 2014-01-14 17:27:21 -05:00
Paul Davis
5abac7cddd new MIDI binding map for Roland V-Studio 20, from Keith (Milner?) 2014-01-14 12:43:43 -05:00
Robin Gareus
d9296b7123 add preference -- link-send-and-route-panner default 2014-01-13 23:22:02 +01:00
Robin Gareus
e45151b89c first stab at send+route panner link 2014-01-13 23:21:30 +01:00
Robin Gareus
5b0c902997 center VBAP UI crosshair 2014-01-13 19:16:10 +01:00
Robin Gareus
291618fe71 allow to custom select panner-type for each delivery. 2014-01-13 15:13:37 +01:00
Robin Gareus
9c595f8131 delete 'big' 2d panner window, if panner changes to mono|stereo 2014-01-13 12:02:00 +01:00
Robin Gareus
346310c60b fix delivery: check if panshell exists on session-load 2014-01-13 11:49:09 +01:00
Robin Gareus
35aed0efab ProcessorWindowProxy::processor_going_away takes care of deletion 2014-01-13 11:08:51 +01:00
Robin Gareus
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
Robin Gareus
bc88203ef5 independent panning for external sends 2014-01-13 10:50:49 +01:00
Robin Gareus
d9cf6880b6 fix output metering for Sends (Aux and External) 2014-01-13 10:50:22 +01:00
Robin Gareus
0559c1babb add independent panner for internal (Aux) sends 2014-01-13 10:48:37 +01:00
Robin Gareus
0c384b7c21 update internal-send port-count when target port-count changes 2014-01-13 10:48:23 +01:00
Robin Gareus
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
Robin Gareus
35ab234e5e fix deadlock when removing monitoring-section 2014-01-13 10:46:11 +01:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
1eaa30b725 aubio 3+4 compat 2014-01-12 18:11:14 +01:00
Robin Gareus
58f82b52e5 cosmetic change - properly use lilv API 2014-01-12 17:14:14 +01:00
Robin Gareus
261638a5a0 don't display elevation if panner does not support it. 2014-01-12 03:56:35 +01:00
Robin Gareus
f9b8300ec6 swap channel VBAP channel 2014-01-12 03:36:20 +01:00
Robin Gareus
bf7c6c07bf credit where credit is due for speaker-config and VBAP fixes inspiration 2014-01-12 02:05:01 +01:00
Robin Gareus
4a0bcd658c VBAP GUI object-grab & position 2014-01-12 00:57:27 +01:00
Robin Gareus
b54a231035 hide speaker-config in menu (it's not implemented yet) 2014-01-11 23:38:29 +01:00
Robin Gareus
60960280d1 redefine Pi :) 2014-01-11 23:38:28 +01:00
Robin Gareus
407eba04cf add spinbox to control width in VBAP GUI,.. 2014-01-11 23:38:28 +01:00
Robin Gareus
72cec05d46 VBAP rework (part III): fix position computation backend & GUI 2014-01-11 23:38:28 +01:00
Robin Gareus
7ac05ccfa5 update default speaker position list 2014-01-11 23:38:28 +01:00