13
0
Commit Graph

11065 Commits

Author SHA1 Message Date
44a3f042a7 prepare sharing C++ class instances across lua-interpreters
in particular: lua-lifefime (!) C++ instances.
This allows for dynamic allocation of custom user-data, bound to
the lifetime of the allocating lua-context.
2016-07-07 15:37:11 +02:00
225a8a47a4 lua PBD ringbuffer bindings 2016-07-07 15:37:11 +02:00
44de8560a6 Add a-EQ (basic 4 band EQ) with inline display based on SVF filters 2016-07-07 22:15:44 +10:00
d40cc6f6f9 OSC: Make sure selected strip is corrected when it's stripable vanishes 2016-07-06 19:28:41 -07:00
44fcbd988c mackie: ensure that the strip where select was pressed ends up as the first_selected_stripable 2016-07-06 21:40:29 -04:00
77a8da9010 set ControlProtocol::_first_selected_stripable at the right time only 2016-07-06 20:58:33 -04:00
6911702f21 Don't add audio outs to non-audio routes with strict I/O
If a route has strict I/O then the main delivery follows the output of
the last processor, but libardour ensures it has at least as many
outputs as inputs in the master strip. A good consequence is that mono
tracks get their expected panner.

An akward side-effect is that MIDI-only routes (e.g. midi tracks or busses
without a synth) get two audio channels that have no use (and indeed no
panner is added because there is nothing to pan).

Skip the completion of audio outs if there was no audio out to begin
with.
2016-07-07 01:33:42 +02:00
db3223478c quick checks on empty control lists, to avoid unnecessary work 2016-07-06 15:20:17 -04:00
cf9706974c a few post-rebase cleanups 2016-07-06 14:03:24 -04:00
2047ee527c restore/extend/simplify ControlProtocol API to allow tracking of selection 2016-07-06 13:39:10 -04:00
eed3ea5047 remove a bunch of code that will no longer be used 2016-07-06 13:38:13 -04:00
d514cd2fbf remove a bunch of code that will no longer be used 2016-07-06 13:38:13 -04:00
a2f249d1d7 tweak lua gc
lua C++ bindings require ~400KB worth of tables now; so bump memory
available to rt-safe scripts (full interpreter) to 2MB.

Also switch to incremental GC.
2016-07-06 03:32:08 +02:00
6cff31c878 update route/processor semantics
* active(): hard bypass: en/disable. When disabled, run() is not called.
* enabled(): plugin run()s but may do nothing (or only be latent)
2016-07-05 23:30:21 +02:00
ac325cea25 implement lv2:designation processing#enable (for bypass ports) 2016-07-05 23:30:21 +02:00
e845b9f935 add API to use a plugin provided bypass control port
* new separate API: en/disable
* old API remains in place for hard bypass
* PluginInsert::enable() falls back to activate/deativate if a plugin
  does not provided designated bypass control port
2016-07-05 23:30:21 +02:00
860ffed6d1 OSC: Clear expand Lamp on strip observer destroy 2016-07-05 14:11:16 -07:00
f2f7414751 a-delay: Fix compiler warning 2016-07-06 02:18:10 +10:00
de4cb2f8af Add a-Delay plugin 2016-07-06 01:53:59 +10:00
83e1d9fff3 tweak a-series plugin names 2016-07-05 17:17:59 +02:00
e542e501a0 add support for http://lv2plug.in/ns/ext/port-props/#rangeSteps 2016-07-05 16:21:09 +02:00
5966612a4f consistent use of fmaxf() in a-comp 2016-07-05 15:38:24 +02:00
54d8def68c amend d9de72215 - bypass replicated instances w/sidechain inputs 2016-07-05 15:37:59 +02:00
a16c0c445a a-comp: Use input signal x as cutoff for inline comp curve 2016-07-05 18:36:04 +10:00
2a7bd996cd a-comp: Fix inline comp curve shading 2016-07-05 18:19:00 +10:00
bf7c4c7d60 a-comp: Fix peak level on both stereo and mono plugins 2016-07-05 15:07:06 +10:00
fef79d46bb OSC: Signal for editor mixer change. (Selected or not) 2016-07-04 20:07:38 -07:00
bc1f571954 OSC: /strip/select * should set new selected strip not toggle what is there. 2016-07-04 18:34:48 -07:00
d9de72215b fix bypassing plugins with sidechain i/o 2016-07-05 00:39:46 +02:00
17b162c5da add fill-area feature to poly-line 2016-07-05 00:39:39 +02:00
b6ccf0e223 fix AU sidechain busses 2016-07-04 21:46:01 +02:00
8507d2c9dd add required check for cairo in a-comp 2016-07-04 15:10:35 -04:00
27d06075a7 remove temporarily added signal 2016-07-04 13:42:47 -04:00
291aec468f use session stripable selection API
and remove old ControlProtocol signals to talk to GUI etc.
2016-07-04 12:45:53 -04:00
57ee61772b add session-scope selection ops for Stripables 2016-07-04 12:45:53 -04:00
5c32fc3bab fix another logic error in PresentationInfo::flag_match() 2016-07-04 12:45:53 -04:00
2f7c167fc9 a-comp: Make ratio control logarithmic 2016-07-05 02:32:05 +10:00
46bfe2b51a a-comp: Add stereo version 2016-07-05 02:15:47 +10:00
b27d9bb02a OSC: select is global not per surface. 2016-07-04 08:27:16 -07:00
a1a6dd3865 a-comp display is getting fancy :) 2016-07-04 15:50:05 +02:00
14c50b317c operate directly on realtime controls, not via Session 2016-07-04 09:27:33 -04:00
97f0415130 2nd part of previous commit 2016-07-04 09:27:33 -04:00
2e3c25eca7 make sure that rec-enable changes get to do their non-RT stuff before being queued for RT-context execution 2016-07-04 09:27:33 -04:00
d2f20120b7 display level in a-comp display 2016-07-04 14:26:37 +02:00
49294644fb con't work on a-comp inline-display 2016-07-04 14:07:05 +02:00
ebdb8dc2ce add C99 flags for lv2 plugin 2016-07-04 13:08:23 +02:00
d9ba78d594 basic inline display for a-comp 2016-07-04 12:59:04 +02:00
da5ab866c2 a-comp: Tweak control bounds and clear state on deactivate 2016-07-04 19:43:06 +10:00
ed5cd83c63 experimental support for AU sidechain busses
some plugins include a sidechain bus which is not explicitly
listed under "Reported Channel Capabilities" list,
nor the "Input/Output Channel Handling"
2016-07-04 03:57:04 +02:00
a373e4cfc8 UI: Add editor_mixer route pointer to session so all UIs can know the same current_strip even in a selected group. 2016-07-03 18:22:09 -07:00