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
Robin Gareus [Sat, 4 Jan 2014 04:29:06 +0000 (05:29 +0100)]
fix PixFader size allocation
previously faders in the processor box were only sized correctly
after the 2nd iteration: allocate -> request -> allocate
Robin Gareus [Fri, 3 Jan 2014 19:24:23 +0000 (20:24 +0100)]
pre-select reasonable-synth as Instrument
Robin Gareus [Fri, 3 Jan 2014 17:36:00 +0000 (18:36 +0100)]
don't split process cycle at end
Keep in mind: While this is the correct thing to do,
it hides another another bug under the hood, related to
_global_port_buffer_offset in MidiPort::flush_buffers.
For debugging the latter issue, revert this.
Paul Davis [Fri, 3 Jan 2014 17:19:18 +0000 (12:19 -0500)]
improve clarity of logic parentheses
Paul Davis [Fri, 3 Jan 2014 17:18:36 +0000 (12:18 -0500)]
Merge branch 'master' of https://github.com/derAbgang/ardour
Nils Philippsen [Thu, 2 Jan 2014 14:27:15 +0000 (15:27 +0100)]
don't declare hilight variable twice
Nils Philippsen [Thu, 2 Jan 2014 13:15:18 +0000 (14:15 +0100)]
get rid of const warnings
derAbgang [Thu, 2 Jan 2014 22:13:14 +0000 (17:13 -0500)]
Julien de Kozak [Thu, 2 Jan 2014 08:01:30 +0000 (09:01 +0100)]
Fix tests compilation after Control API changes
Paul Davis [Thu, 26 Dec 2013 16:29:26 +0000 (11:29 -0500)]
avoid GTK packing warning when using >1 backend
Robin Gareus [Wed, 1 Jan 2014 14:34:06 +0000 (15:34 +0100)]
visualize port connections in mixer/processor when in < out
Robin Gareus [Tue, 31 Dec 2013 10:44:19 +0000 (11:44 +0100)]
debug message: print uint8 channel as integer not char
Robin Gareus [Mon, 30 Dec 2013 15:58:46 +0000 (16:58 +0100)]
improve debug message
Robin Gareus [Mon, 30 Dec 2013 15:58:28 +0000 (16:58 +0100)]
remove cruft
Robin Gareus [Mon, 30 Dec 2013 15:24:27 +0000 (16:24 +0100)]
fix assert for non-existing MIDI patch-names
typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = MIDI::Name::ChannelNameSet; typename boost::detail::sp_member_access<T>::type = MIDI::Name::ChannelNameSet*]: Assertion `px != 0' failed.
Robin Gareus [Mon, 30 Dec 2013 14:55:17 +0000 (15:55 +0100)]
visualize # of channels in processor-box splitting icon
Robin Gareus [Mon, 30 Dec 2013 13:26:09 +0000 (14:26 +0100)]
optimize peak calculation of silent buffers
Robin Gareus [Mon, 30 Dec 2013 13:21:09 +0000 (14:21 +0100)]
NOOP. remove trailing whitespace
Robin Gareus [Mon, 30 Dec 2013 13:20:02 +0000 (14:20 +0100)]
make meters request constant buffers
Robin Gareus [Sun, 29 Dec 2013 20:48:14 +0000 (21:48 +0100)]
use buffer APIs instead of raw memcpy, fix plugin bypass
Robin Gareus [Sat, 28 Dec 2013 20:12:57 +0000 (21:12 +0100)]
fix replicate_missing_region_channels option
Robin Gareus [Sat, 28 Dec 2013 15:15:00 +0000 (16:15 +0100)]
prevent 0-pointer dereference in editor_routes.cc - fixes #5794
Robin Gareus [Sat, 28 Dec 2013 12:37:09 +0000 (13:37 +0100)]
remove unused API to explicitly set/unset buffer silent flag
Robin Gareus [Sat, 28 Dec 2013 12:43:44 +0000 (13:43 +0100)]
centralize buffer silent-flag
fixes possible x-talk 1 in, >= 2 out tracks:
Previously, only the first route-buffer of the input buffers
were marked as non-silent in Route::process_output_buffers().
Other buffers in the set (e.g. post-panner) would
contain audio but not marked as non-silent.
Robin Gareus [Fri, 27 Dec 2013 13:53:30 +0000 (14:53 +0100)]
add support for old compilers w/o implicit stdbool
Robin Gareus [Fri, 27 Dec 2013 13:04:49 +0000 (14:04 +0100)]
initialize some uninitialized variables
Sakari Bergen [Mon, 23 Dec 2013 18:47:37 +0000 (20:47 +0200)]
Fix export format dialog tagging state inconsistency
The state of a checkbox was used before the UI was properly initialized.
This always unset the tagging option in the format object.
Sakari Bergen [Mon, 23 Dec 2013 18:26:51 +0000 (20:26 +0200)]
Re-enable export file tagging. No idea why this code has dropped out at some stage...
Robin Gareus [Mon, 23 Dec 2013 09:28:32 +0000 (10:28 +0100)]
vtl: do not lock audio [to video] when extracting audio-only.
Paul Davis [Sun, 22 Dec 2013 18:39:57 +0000 (13:39 -0500)]
better, probably working fix for windows-vst-on-linux build
Paul Davis [Sun, 22 Dec 2013 18:13:47 +0000 (13:13 -0500)]
attempt to fix build with --windows-vst due to a bad merge of the external libs changes
Robin Gareus [Sun, 22 Dec 2013 08:25:33 +0000 (09:25 +0100)]
add K12/RMS meter type