Paul Davis [Thu, 16 Jan 2014 14:31:23 +0000 (09:31 -0500)]
new basic MIDI map for m-audio oxygen-25
Paul Davis [Thu, 16 Jan 2014 03:28:01 +0000 (22:28 -0500)]
continue with tweaks to VST timeinfo, such that the again demo plugin appears to work exactly as expected
Paul Davis [Thu, 16 Jan 2014 01:37:26 +0000 (20:37 -0500)]
minor tweak to layout of vestige aeffectx.h
Paul Davis [Wed, 15 Jan 2014 21:48:22 +0000 (16:48 -0500)]
more work on debugging VST timeinfo issues
Paul Davis [Wed, 15 Jan 2014 21:31:10 +0000 (16:31 -0500)]
debug VST timeinfo callback, pt3
Paul Davis [Wed, 15 Jan 2014 21:26:21 +0000 (16:26 -0500)]
debug VST timeinfo callback, pt2
Paul Davis [Wed, 15 Jan 2014 21:24:03 +0000 (16:24 -0500)]
debug VST timeinfo callback
Paul Davis [Wed, 15 Jan 2014 21:19:04 +0000 (16:19 -0500)]
don't require VST plugins to actually ask for time info fields
Paul Davis [Wed, 15 Jan 2014 21:08:27 +0000 (16:08 -0500)]
add lots more BBT-based time info for VST plugins (see 5737)
Paul Davis [Wed, 15 Jan 2014 21:07:47 +0000 (16:07 -0500)]
update VstTimeInfo structure, from Qtractor's version of vestige, which has all fields thanks to some steinberg online docs
Robin Gareus [Wed, 15 Jan 2014 19:03:20 +0000 (20:03 +0100)]
fix pan-width automation
Robin Gareus [Wed, 15 Jan 2014 16:59:16 +0000 (17:59 +0100)]
don't pan send/return inserts
Robin Gareus [Wed, 15 Jan 2014 13:55:26 +0000 (14:55 +0100)]
rework LXVST port assignments - fixes #5827
Robin Gareus [Wed, 15 Jan 2014 13:07:02 +0000 (14:07 +0100)]
stereo-panner: clamp width during processing to valid range
Robin Gareus [Wed, 15 Jan 2014 10:30:54 +0000 (11:30 +0100)]
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.
Robin Gareus [Wed, 15 Jan 2014 10:23:38 +0000 (11:23 +0100)]
update pan automation-track display
Robin Gareus [Wed, 15 Jan 2014 09:38:32 +0000 (10:38 +0100)]
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
Robin Gareus [Wed, 15 Jan 2014 09:37:25 +0000 (10:37 +0100)]
re-allow panners for monitoring-section (for now)
Robin Gareus [Wed, 15 Jan 2014 08:45:02 +0000 (09:45 +0100)]
fix invalid width when swiching to 2in2out
Robin Gareus [Wed, 15 Jan 2014 08:37:20 +0000 (09:37 +0100)]
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)
Robin Gareus [Wed, 15 Jan 2014 01:51:09 +0000 (02:51 +0100)]
NOOP, semantic update, don't pannable's panner for direct access.
Robin Gareus [Tue, 14 Jan 2014 22:08:34 +0000 (23:08 +0100)]
update panGUI connections (panner-shell vs pannable vs panner)
Robin Gareus [Tue, 14 Jan 2014 20:11:41 +0000 (21:11 +0100)]
NOOP, clean up whitespace/TAB mess
Robin Gareus [Wed, 15 Jan 2014 01:50:17 +0000 (02:50 +0100)]
cont'd backend work on panner-linking
Robin Gareus [Tue, 14 Jan 2014 15:19:49 +0000 (16:19 +0100)]
remove debug code
Paul Davis [Tue, 14 Jan 2014 22:27:21 +0000 (17:27 -0500)]
fix compilation problem on OS X caused by a missing implementation of a virtual method
Paul Davis [Tue, 14 Jan 2014 17:43:27 +0000 (12:43 -0500)]
new MIDI binding map for Roland V-Studio 20, from Keith (Milner?)
Robin Gareus [Mon, 13 Jan 2014 22:22:02 +0000 (23:22 +0100)]
add preference -- link-send-and-route-panner default
Robin Gareus [Mon, 13 Jan 2014 22:21:30 +0000 (23:21 +0100)]
first stab at send+route panner link
Robin Gareus [Mon, 13 Jan 2014 18:16:10 +0000 (19:16 +0100)]
center VBAP UI crosshair
Robin Gareus [Mon, 13 Jan 2014 14:13:37 +0000 (15:13 +0100)]
allow to custom select panner-type for each delivery.
Robin Gareus [Mon, 13 Jan 2014 11:02:00 +0000 (12:02 +0100)]
delete 'big' 2d panner window, if panner changes to mono|stereo
Robin Gareus [Mon, 13 Jan 2014 10:49:09 +0000 (11:49 +0100)]
fix delivery: check if panshell exists on session-load
Robin Gareus [Mon, 13 Jan 2014 10:08:51 +0000 (11:08 +0100)]
ProcessorWindowProxy::processor_going_away takes care of deletion
Robin Gareus [Mon, 13 Jan 2014 10:08:37 +0000 (11:08 +0100)]
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
Robin Gareus [Mon, 13 Jan 2014 09:50:49 +0000 (10:50 +0100)]
independent panning for external sends
Robin Gareus [Mon, 13 Jan 2014 09:50:22 +0000 (10:50 +0100)]
fix output metering for Sends (Aux and External)
Robin Gareus [Mon, 13 Jan 2014 09:48:37 +0000 (10:48 +0100)]
add independent panner for internal (Aux) sends
Robin Gareus [Mon, 13 Jan 2014 09:48:23 +0000 (10:48 +0100)]
update internal-send port-count when target port-count changes
Robin Gareus [Mon, 13 Jan 2014 09:47:17 +0000 (10:47 +0100)]
ignore additional channels for AFL, PFL:
If the monitor-section has fewer-channels than the solo-listen point:
ignore additional channels.
Robin Gareus [Mon, 13 Jan 2014 09:46:11 +0000 (10:46 +0100)]
fix deadlock when removing monitoring-section
Robin Gareus [Sun, 12 Jan 2014 22:13:35 +0000 (23:13 +0100)]
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.
Robin Gareus [Sun, 12 Jan 2014 20:47:15 +0000 (21:47 +0100)]
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.
Robin Gareus [Sun, 12 Jan 2014 20:41:02 +0000 (21:41 +0100)]
VBAP panner UI tweaks:
* fix mouse-grab of sentinel
* make GUI more hemisphere like (circles at latitude)
* change alpha slightly to show signal overlap
Robin Gareus [Sun, 12 Jan 2014 17:11:14 +0000 (18:11 +0100)]
aubio 3+4 compat
Robin Gareus [Sun, 12 Jan 2014 16:14:14 +0000 (17:14 +0100)]
cosmetic change - properly use lilv API
Robin Gareus [Sun, 12 Jan 2014 02:56:35 +0000 (03:56 +0100)]
don't display elevation if panner does not support it.
Robin Gareus [Sun, 12 Jan 2014 02:36:20 +0000 (03:36 +0100)]
swap channel VBAP channel
Robin Gareus [Sun, 12 Jan 2014 01:05:01 +0000 (02:05 +0100)]
credit where credit is due for speaker-config and VBAP fixes inspiration
Robin Gareus [Sat, 11 Jan 2014 23:57:27 +0000 (00:57 +0100)]
VBAP GUI object-grab & position
Robin Gareus [Sat, 11 Jan 2014 22:34:19 +0000 (23:34 +0100)]
hide speaker-config in menu (it's not implemented yet)
Robin Gareus [Sat, 11 Jan 2014 22:30:22 +0000 (23:30 +0100)]
redefine Pi :)
Robin Gareus [Sat, 11 Jan 2014 22:30:13 +0000 (23:30 +0100)]
add spinbox to control width in VBAP GUI,..
Robin Gareus [Sat, 11 Jan 2014 22:30:01 +0000 (23:30 +0100)]
VBAP rework (part III): fix position computation backend & GUI
Robin Gareus [Sat, 11 Jan 2014 22:29:46 +0000 (23:29 +0100)]
update default speaker position list
Robin Gareus [Sat, 11 Jan 2014 22:29:36 +0000 (23:29 +0100)]
VBAP GUI depends on signal-position (not parameter changes)
Robin Gareus [Sat, 11 Jan 2014 22:29:23 +0000 (23:29 +0100)]
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()
)
Robin Gareus [Sat, 11 Jan 2014 21:59:25 +0000 (22:59 +0100)]
VBAP backend re-work (part one):
* fix azimuth, don't clamp but map to [0,1]
* prepare elevation (10+ speakers)
David Robillard [Mon, 6 Jan 2014 22:02:55 +0000 (17:02 -0500)]
Support midnam controller value labels.
David Robillard [Mon, 6 Jan 2014 20:32:37 +0000 (15:32 -0500)]
Fix whitespace (no functional changes).
Robin Gareus [Fri, 10 Jan 2014 19:35:32 +0000 (20:35 +0100)]
fix panner search path
Robin Gareus [Fri, 10 Jan 2014 11:36:20 +0000 (12:36 +0100)]
re-configure _all_ panners on a route, when panner type changes
Robin Gareus [Fri, 10 Jan 2014 11:13:22 +0000 (12:13 +0100)]
add a fixed priority to panner modules
Robin Gareus [Fri, 10 Jan 2014 11:12:06 +0000 (12:12 +0100)]
display info about replicated processors
Robin Gareus [Fri, 10 Jan 2014 00:02:45 +0000 (01:02 +0100)]
updated balance GUI
Robin Gareus [Thu, 9 Jan 2014 20:57:18 +0000 (21:57 +0100)]
update mono & balance panner GUI
Robin Gareus [Thu, 9 Jan 2014 19:48:04 +0000 (20:48 +0100)]
add [missing] left_half_rectangle util
Robin Gareus [Thu, 9 Jan 2014 19:03:06 +0000 (20:03 +0100)]
remove inadvertently commited debug printf()
Robin Gareus [Thu, 9 Jan 2014 18:22:18 +0000 (19:22 +0100)]
NOOP - re-indent src (no more mixed tab+space style)
Robin Gareus [Thu, 9 Jan 2014 18:20:41 +0000 (19:20 +0100)]
prepare mono panner rework move to pango
Robin Gareus [Thu, 9 Jan 2014 18:18:19 +0000 (19:18 +0100)]
processor routing: use small boxes (instead of circles) for ports
Robin Gareus [Thu, 9 Jan 2014 17:19:57 +0000 (18:19 +0100)]
refine stereo-panner GUI:
* cairo pixel alignment
* use pango for text
Robin Gareus [Thu, 9 Jan 2014 13:32:13 +0000 (14:32 +0100)]
draw settings of bypassed panners
Robin Gareus [Wed, 8 Jan 2014 23:18:29 +0000 (00:18 +0100)]
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
Sakari Bergen [Wed, 8 Jan 2014 20:00:34 +0000 (22:00 +0200)]
Add unit test runner (artest) and a config option to run tests after builds
Sakari Bergen [Wed, 8 Jan 2014 18:35:46 +0000 (20:35 +0200)]
Add -fno-omit-frame-pointer to AddressSanitizer options
Sakari Bergen [Wed, 8 Jan 2014 18:33:17 +0000 (20:33 +0200)]
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
52309c0c4fc107cdde9a99f2340fe4d8cf4ff382
Robin Gareus [Wed, 8 Jan 2014 02:29:06 +0000 (03:29 +0100)]
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
Robin Gareus [Tue, 7 Jan 2014 01:17:25 +0000 (02:17 +0100)]
make LV2 presets immediately available
Robin Gareus [Tue, 7 Jan 2014 00:45:20 +0000 (01:45 +0100)]
remove inadvertently commited debug/devel code
Robin Gareus [Mon, 6 Jan 2014 22:00:11 +0000 (23:00 +0100)]
fix processor-box wire-display in editor-mixer -- work around gtk_show_all()
David Robillard [Mon, 6 Jan 2014 18:49:09 +0000 (13:49 -0500)]
Document controller values for Moog Minitaur.
David Robillard [Mon, 6 Jan 2014 18:31:54 +0000 (13:31 -0500)]
Add midnam files for Moog MF-104M and MF-108M.
Robin Gareus [Mon, 6 Jan 2014 04:03:39 +0000 (05:03 +0100)]
remove cruft
Paul Davis [Mon, 6 Jan 2014 16:35:46 +0000 (11:35 -0500)]
add M-Audio 2496 as a recognized card for the mudita24 control panel/app.
(Yes, this hard coding thing is awful)
Sakari Bergen [Mon, 6 Jan 2014 15:03:46 +0000 (17:03 +0200)]
Add config option for address sanitizer
Robin Gareus [Sun, 5 Jan 2014 23:01:24 +0000 (00:01 +0100)]
fix plugin log-sliders for ranges [0..]
Robin Gareus [Sun, 5 Jan 2014 20:05:48 +0000 (21:05 +0100)]
processor-box: remove label-cruft and properly label 'Send' & 'Return'
Robin Gareus [Sun, 5 Jan 2014 15:02:40 +0000 (16:02 +0100)]
processor-box: remove cruft
Robin Gareus [Sun, 5 Jan 2014 14:50:13 +0000 (15:50 +0100)]
more processor-routing tweaks: compact view
* hide 'input' ports if mapping matches
-> display half circles
* show ports for top-most processor (allos insertion point)
* reduce line-size to 1.0 and routing-box height to 7 (cairo .5 px align)
Robin Gareus [Sun, 5 Jan 2014 13:04:33 +0000 (14:04 +0100)]
processor-box wiring - re-use colors from ingen/patchage
Robin Gareus [Sun, 5 Jan 2014 12:13:28 +0000 (13:13 +0100)]
update processor control toggle button style
Robin Gareus [Sun, 5 Jan 2014 12:09:08 +0000 (13:09 +0100)]
fix fader default-value line position
Robin Gareus [Sun, 5 Jan 2014 12:07:31 +0000 (13:07 +0100)]
update slider rendering & set style for faders
* render background -- outside of rounded corners
* visually align unity-location with fader at 0.
* sharp lines (no more AA blur) x/y offset, radius
Robin Gareus [Sat, 4 Jan 2014 18:28:15 +0000 (19:28 +0100)]
fix detection of aubio library - aubio-0.4 breaks API and ABI.
ideally we'll want atleast_version='0.3.2', max_version='0.3.9'
(or anything before 0.4.0) for the time being.
but waf/autowaf don't seem to allow that.
aubio-0.3.2 was the previous minimum requirement and is
also the last release of audio-0.3.X, so we're good with
exact_version for now.
Robin Gareus [Sat, 4 Jan 2014 18:03:47 +0000 (19:03 +0100)]
add padding to in-line plugin controls
Robin Gareus [Sat, 4 Jan 2014 17:48:28 +0000 (18:48 +0100)]
fix tooltip on processor button widget
Robin Gareus [Sat, 4 Jan 2014 14:05:45 +0000 (15:05 +0100)]
fix ardour-button text bleed
Robin Gareus [Sat, 4 Jan 2014 04:54:20 +0000 (05:54 +0100)]
continued work on processor-routing visualization
major re-design.
* change splitting-icon into routing-icon
* add it to all processors (not only plugin-inserts)
* subscribe to ChanCount configuration changes
* add 'wiring' to BlankProcessorEntry pre-fader placeholder
* visualize routing for non-matching port-counts
currently still wire+color design with #if'ed debug messages
and optional #ifdef wires for matching connections.
Robin Gareus [Sat, 4 Jan 2014 04:43:20 +0000 (05:43 +0100)]
processor drag box only