Commit graph

11433 commits

Author SHA1 Message Date
Paul Davis
17309c41c3 use Glib URI utility function to generate a local filename from a URI, rather than hand-crafted code 2014-01-17 09:24:32 -05:00
Robin Gareus
0479405e2f fix typo in auditioner-seek 2014-01-17 00:25:32 +01:00
Robin Gareus
b4462b3d22 add seeking to sfdb auditioner 2014-01-17 00:20:58 +01:00
Paul Davis
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
Paul Davis
8df4f67460 new basic MIDI map for m-audio oxygen-25 2014-01-16 09:31:23 -05:00
Paul Davis
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
Paul Davis
1c01ac5bc8 minor tweak to layout of vestige aeffectx.h 2014-01-15 20:37:26 -05:00
Paul Davis
c3984f35ac more work on debugging VST timeinfo issues 2014-01-15 16:48:22 -05:00
Paul Davis
3eadbaaf58 debug VST timeinfo callback, pt3 2014-01-15 16:31:10 -05:00
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