13
0
Commit Graph

5622 Commits

Author SHA1 Message Date
f9b8300ec6 swap channel VBAP channel 2014-01-12 03:36:20 +01:00
60960280d1 redefine Pi :) 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
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
04ad07babf add [missing] left_half_rectangle util 2014-01-09 20:48:04 +01:00
21ca6a10a9 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
2014-01-09 00:18:45 +01:00
Sakari Bergen
054ead24cc 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
52309c0c4f
2014-01-08 20:33:17 +02:00
c4cdf61971 make LV2 presets immediately available 2014-01-07 02:17:25 +01:00
58363e5490 remove inadvertently commited debug/devel code 2014-01-07 01:45:20 +01:00
2163467d31 add M-Audio 2496 as a recognized card for the mudita24 control panel/app.
(Yes, this hard coding thing is awful)
2014-01-06 11:35:57 -05:00
00fbc9c342 fix plugin log-sliders for ranges [0..] 2014-01-06 00:01:24 +01:00
7eca991971 fix fader default-value line position 2014-01-05 13:09:08 +01:00
d89573f8e7 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
2014-01-05 13:07:31 +01:00
f3d858f9df 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.
2014-01-04 19:28:15 +01:00
e8e4e677aa processor drag box only 2014-01-04 05:43:20 +01:00
52d6cbc1e9 fix PixFader size allocation
previously faders in the processor box were only sized correctly
after the 2nd iteration: allocate -> request -> allocate
2014-01-04 05:42:31 +01:00
d85ec4ee17 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.
2014-01-03 18:36:00 +01:00
a37112bdd7 improve clarity of logic parentheses 2014-01-03 12:19:18 -05:00
31a1b73752 Merge branch 'master' of https://github.com/derAbgang/ardour 2014-01-03 12:18:36 -05:00
Nils Philippsen
aa15f90959 don't declare hilight variable twice 2014-01-03 18:11:30 +01:00
Nils Philippsen
156283936b get rid of const warnings 2014-01-03 18:11:30 +01:00
derAbgang
f1a93bc8a1 mantis 0005805 2014-01-02 17:13:14 -05:00
Julien de Kozak
b439b79813 Fix tests compilation after Control API changes 2014-01-02 09:00:58 -05:00
2644aaddb1 visualize port connections in mixer/processor when in < out 2014-01-01 15:34:06 +01:00
91ae2c0e81 debug message: print uint8 channel as integer not char 2013-12-31 11:44:19 +01:00
bcc5a4d7d2 improve debug message 2013-12-30 16:58:46 +01:00
e281f5653c 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.
2013-12-30 16:24:27 +01:00
c284823413 optimize peak calculation of silent buffers 2013-12-30 14:26:09 +01:00
a3ba6163b3 NOOP. remove trailing whitespace 2013-12-30 14:21:09 +01:00
ee5186a461 make meters request constant buffers 2013-12-30 14:20:02 +01:00
9875d43414 use buffer APIs instead of raw memcpy, fix plugin bypass 2013-12-29 21:48:14 +01:00
f4060c6b38 fix replicate_missing_region_channels option 2013-12-28 21:12:57 +01:00
0f6686eea9 remove unused API to explicitly set/unset buffer silent flag 2013-12-28 13:43:57 +01:00
37264c85a5 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.
2013-12-28 13:43:44 +01:00
8f69af4af3 add support for old compilers w/o implicit stdbool 2013-12-27 14:53:30 +01:00
3f75d78848 initialize some uninitialized variables 2013-12-27 14:04:49 +01:00
Sakari Bergen
e00d9dd585 Re-enable export file tagging. No idea why this code has dropped out at some stage... 2013-12-23 20:26:51 +02:00
0acafa4d3d add K12/RMS meter type 2013-12-22 09:25:33 +01:00
2065a2a2ac fix up OSC support to conform to new CP API and pay attention to feedback setting, even though feedback does nothing right now 2013-12-21 15:31:28 -05:00
e9c47051f7 conform to new CP API 2013-12-21 15:31:28 -05:00
91e2b5f88a conform to new CP API 2013-12-21 15:31:28 -05:00
362769e967 new CP API and fix several egregious bugs with port handling when switching devices, setting state etc. 2013-12-21 15:31:28 -05:00
644ead06b4 remove debug output 2013-12-21 15:31:28 -05:00
5ebc8de6cc conform to new CP API design 2013-12-21 15:31:28 -05:00
ea5fde0787 conform to new CP API design 2013-12-21 15:31:28 -05:00
b0a10da783 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
8a005319b8 clean up aspects of ControlProtocol API 2013-12-21 15:31:28 -05:00
0cf8b9d3ea new ControlProtocolManager API, and proper handling of view/model changes in the RC options (prefs) editor 2013-12-21 15:31:28 -05:00
Hans Baier
611d1ffc29 midi_clock_slave: fix bandwidth to 2/60 for best results 2013-12-19 05:42:52 +07:00
Hans Baier
6e5240c24b interpolation_test: add some necessary assertions 2013-12-19 05:31:39 +07:00
Hans Baier
caac41a9cb midi_clock_slave: fix wrong calculation of loop error
since transport_frame refers to cycle start, the should be position has
to account for position of the midi clock event.
2013-12-18 09:55:15 +07:00
Hans Baier
bc5d23d5fa midi_clock_slave.cc: Better debug messages 2013-12-18 08:26:43 +07:00
Hans Baier
d826de83ae midi clock slave: make bandwidth variable according to period size 2013-12-18 06:19:21 +07:00
f6c9fa4d89 fix a crash caused by not checking if MackieControlProtocol::_surfaces_state exists
I forgot to add this check when i changed the member variable to a pointer.
2013-12-14 11:10:54 -05:00
e82ccd7648 rsynth.lv2: fix note off+on follow up:
special case if the same note is turned off and on in the
same [internal] synth cycle (64samples). x-fade to ADSR attack.
2013-12-14 04:29:12 +01:00
afabc09fbf change Generic MIDI control so that it handles a SendFeedback request synchronously within a process callback 2013-12-13 16:56:34 -05:00
89adeb2a9f make MIDI UI in libardour handle CallSlot requests like it used to (and like it should) 2013-12-13 16:55:57 -05:00
85cd647226 Mackie Control support now saves & restores port connections for devices not using ipMIDI (not required for ipMIDI anyway) 2013-12-13 16:04:34 -05:00
a17bafa964 remove some unused code from mackie support 2013-12-13 16:04:34 -05:00
6c84362959 fix reasonable synth octave 2013-12-13 20:59:08 +01:00
c43a1f39a6 xmas-egg 2013-12-13 20:28:30 +01:00
fd1eb73ef2 adjust LV2 ringbuffer size according to LV2:resize-port
The message-size itself is part of the message which
stored in the ringbuffer. If the rinbuffer overflows
the message is misinterpreted -> segfault.

Choose a more conservative ring-buffer size and take
the requested LV2 size into account.
2013-12-12 14:42:02 +01:00
Nils Philippsen
527b0a78a1 fix const-ness of names array 2013-12-10 23:07:48 +01:00
Nils Philippsen
96947e2f3a add cmp_nocase_utf8()
This is like cmp_nocase(), only that it doesn't use toupper(), tolower()
and therefore is agnostic of the current locale, and attempts to compare
strings in a UTF8-aware way (or falls back to ASCII if one of the
strings isn't UTF8-encoded).
2013-12-10 23:07:47 +01:00
Nils Philippsen
71f6104340 use correct argument order with memset() 2013-12-10 23:07:47 +01:00
Nils Philippsen
27a3f2837a use std::fill_n to fill gain buffer with samples
Using memset fills the buffer with whatever 1.0 as a double or float has
in its LSB.
2013-12-10 23:07:47 +01:00
Nils Philippsen
a86b66181a ignore "unofficial" states in jack_sync_callback() 2013-12-09 17:56:06 +01:00
bbd79b6792 print a warning for every VST >=2.4 plugin
17:29 < rgareus> las: ok. I'll make this translatable, but this warning will show up every time ardour starts (and scans for plugins) which can be annoying.
17:30 < las> rgareus: yeah, well we need to do black/whitelisting of plugins anyway so ...
2013-12-07 18:45:40 +01:00
0c2494595d detect VST >= 2.4 plugins. 2013-12-07 18:04:31 +01:00
ce7bfb489c change "cpu" in cpu load backend functions 2013-12-04 11:48:31 -05:00
ae6b0b9f1a minor tweaks to MIDI clock support, including delivery of position events/messages when stopped 2013-12-02 23:34:12 -05:00
76ea055b85 don't run MIDI clock "tick" if session is silent (e.g. due to a locate) 2013-12-02 23:33:33 -05:00
c19f9f8a47 fix continuous send of MIDI start/position/stop messages introduced by mistake 2013-12-01 12:18:57 -05:00
d1cc7e5a50 fix up a bunch of confusion regarding the size/capacity/allocation of audio & midi buffers 2013-11-29 22:26:33 -05:00
0c4457fa83 drop capacity argument from Buffer constructor, since the abstract class cannot (and should not) do anything with it 2013-11-29 22:25:36 -05:00
146734526c fix indentation 2013-11-29 22:24:59 -05:00
1190f1d0e0 make JACK backend return the right set of values when asked for buffer sizes or sample rate of a device other than the one in use 2013-11-27 17:41:54 -05:00
611d93830a add 0.5 second sleep after closing JACK connection so that next startup/connect is likely to work (allowing JACK time to shutdown). Ugh 2013-11-27 15:25:10 -05:00
56716a1f28 add error check to call to PortManager::reestablish_ports 2013-11-27 15:24:24 -05:00
dc4a984cd6 move AudioBackend::_start() into protected, and expand a bit on documenting ::start() vs ::_start() 2013-11-27 14:27:27 -05:00
4d0caa6ddd add yet more missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh) 2013-11-27 14:08:22 -05:00
4a71e6f28f add missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh) 2013-11-27 13:53:58 -05:00
ac4d691fe9 remove unintended linkage between libmidipp and jack 2013-11-27 12:44:23 -05:00
Sakari Bergen
52309c0c4f Fix invalid assertions in AudioGrapher SampleFormatConverter
This fixes an export crash with e.g. 8-bit export
2013-11-23 18:43:54 +02:00
5cbd4ce759 fix crash @ session-restore of plugins windows
The question is: why is _owner not set [yet], when the
window is restored. This rather smells like a race condition.
2013-11-22 18:22:55 +01:00
2eb79acefd lv2: increase scratch buffer size to request port minimum size 2013-11-17 00:33:32 +01:00
982c38dda1 allow to include In/Disk button on Meterbridge 2013-11-09 13:16:08 +01:00
3ce39cc410 update .po files with --no-fuzzy-matching in use 2013-11-05 11:15:46 -05:00
0f33baf32f back-port two actual bug fixes from cairocanvas branch 2013-11-05 10:17:40 -05:00
7aa46da32f fix incorrect use of sizeof() in snprintf (function never actually used in ardour,but ... ) 2013-11-05 10:17:22 -05:00
Julien de Kozak
6992153ae9 fix tests compilation 2013-11-05 07:51:04 +01:00
Sakari Bergen
3fca030603 Fix invalid silence trimmer end-of-input behavior (multiple EndOfInputs)
This caused an export bug when:
a) normalizing
b) adding silence to end
c) having more than one channel

The sound was corrupted by repeating each jack frame as many times
as there were channels.
2013-11-03 21:22:00 +02:00
7fec991077 fix thinko in declaration of ARDOUR::PortEngine::get_port_by_name() 2013-10-28 09:46:59 -04:00