Commit graph

11650 commits

Author SHA1 Message Date
Robin Gareus
24282065aa clear [midi] plugin audio output buffers before running plugin.
some samplers don't zero the output buffers if they're not configured
or no samples are loaded.
2016-04-19 20:39:40 +02:00
Robin Gareus
3715602ea7 Revert/amend "fix a const-cast issue"
This reverts commit c9d55cb172.
because it it's "const" one cannot set it from lua.
2016-04-19 19:07:09 +02:00
Robin Gareus
c69a9d7a06 some plugin-insert debugging
* report inplace
* debug-dump reason(s) why i/o maps are reset
2016-04-19 19:03:16 +02:00
Paul Davis
c9d55cb172 fix a const-cast issue 2016-04-19 12:58:54 -04:00
Robin Gareus
00169f1da1 hidden config option to replace TRY_AUTOSTART_ENGINE environment var.
It's really only used by the GUI, but engine states are part of
ARDOUR::Config::extra_xml  so this is at least similarly inconsistent.
2016-04-19 16:43:06 +02:00
Robin Gareus
00b703ebe8 default strict-i/o preference to enable
This makes a lot of sense for all midi-instruments and the
vast majority of mono+stereo workflows
2016-04-19 16:40:17 +02:00
Robin Gareus
170fca53ee Mixbus specific Pin Mapping tweaks 2016-04-19 13:54:07 +02:00
Robin Gareus
2729f59aba NO-OP, whitespace and comments 2016-04-19 13:21:54 +02:00
Robin Gareus
428c82b1bc fix plugin silence runs (e.g. during audition)
* use max of in+out buffers
* special case Mixbus
* clear delay-lines
2016-04-19 00:57:56 +02:00
Robin Gareus
26532364bb fix possible crash at session close.
In the wake of 81faa3b420. Disconnect Signal from process
callback, may notify an IO that just reached a zero shared ptr refcount
due to route-deletion (GUI thread) resulting in a double free.
2016-04-18 21:55:50 +02:00
Robin Gareus
008eda2858 add some assert for reloading saved plugin pin connections 2016-04-18 17:22:55 +02:00
Robin Gareus
b2149de37b add notification if Engine Rate changes and mismatches session's SR 2016-04-18 15:16:27 +02:00
Robin Gareus
888614b714 never ever change sample-rate saved with the session after creation. 2016-04-18 14:50:09 +02:00
Robin Gareus
9840a11537 implement metadata-set for remaining backends 2016-04-18 00:35:51 +02:00
Robin Gareus
fa73112f08 set sidechain port pretty name 2016-04-17 21:50:20 +02:00
Robin Gareus
cb09b0b34e add IOProcessors pretty name support 2016-04-17 21:50:13 +02:00
Robin Gareus
81faa3b420 notify IO about port disconnection due to port removal
[Jack] Ports can be deleted without being disconnected first.
the IO Object does not catch that condition.
2016-04-17 18:36:40 +02:00
Robin Gareus
10bffda810 add API to set pretty names for ardour ports 2016-04-17 18:34:17 +02:00
Robin Gareus
10140a8e68 implement pretty-name set-property for ALSA and Dummy 2016-04-17 18:22:21 +02:00
Robin Gareus
1f43878050 add portengine set-property API (follows jack_set_property) 2016-04-17 18:18:16 +02:00
Robin Gareus
dc1102844a disconnect SideChain on delete, trigger Send self-destruct 2016-04-17 17:35:30 +02:00
Robin Gareus
6e94b1fb9f copy plugin state to all instances when instantiating. 2016-04-17 16:09:25 +02:00
Robin Gareus
ab1242ca65 don't use lv2plug.in for non-standard URIs 2016-04-17 16:08:53 +02:00
Robin Gareus
bb090c0012 add self-removing Sends (remove on disconnect)
The idea is to dynamically add/remove sends for feeding a sidechain
and re-use all existing "External Send" infrastructure in particular
latency compensation.
2016-04-17 14:01:09 +02:00
Robin Gareus
3079a73488 don't let the AudioEngine inherit PortEngine's class doc. 2016-04-16 12:45:52 +02:00
Robin Gareus
8f367ddaa0 Remove dangling plugin thru-connections
fixes crash when removing a thru-connected output
2016-04-16 12:43:56 +02:00
Damien Zammit
277893b130 ptformat: Make PT import more resilient to bad user choices and display messages
Previously, libptformat would attempt to parse all kinds of files,
now the library stops parsing when the version number and session rate
is outside valid ranges, returning an error code to the caller.

If there is a valid PT file detected, but some audio files are missing,
Ardour now pops up an error message to inform the user that some files
may be missing from the import.  A success message is displayed otherwise.

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-04-16 12:21:12 +02:00
Robin Gareus
241f734af4 disallow strict-i/o output on monitor and auditioner
monitor follows the master bus outs,
auditioner is fixed stereo and synth dependent.
(fixes crash when adding/removing the monitor section)
2016-04-16 00:10:48 +02:00
Robin Gareus
b6c8b96cf2 fix duplicate definition (typo in 5242aeb8) 2016-04-15 18:43:06 +02:00
Robin Gareus
424cacfbc8 variable plugin port config.
* extend plugin API (query IO ports)
* collect possible variable plugin configurations (AU, Lua)
* prepare semi-automatic configuration (presets: mono, stereo, N)
2016-04-15 17:57:40 +02:00
Robin Gareus
ed3eddaf19 special case mixbus routing 2016-04-15 14:52:19 +02:00
Robin Gareus
426e2f2a19 AU synth inplace processing 2016-04-15 13:36:02 +02:00
Robin Gareus
52a8bad4a2 luaproc error logging 2016-04-15 03:24:37 +02:00
Robin Gareus
9041fc8d54 find a good match for variable i/o plugins 2016-04-15 03:24:22 +02:00
Robin Gareus
ba67217dbc document buffer requirement, add sidechain constraint. 2016-04-14 22:43:14 +02:00
Robin Gareus
03db4805fd fix locking when switching strict i/o.
try_configure_processors_unlocked() needs process lock
2016-04-14 22:13:25 +02:00
Robin Gareus
4f3fed1c08 fix split plugin default connection with strict-i/o
Only connect the available input channels, ignore others.
2016-04-14 21:02:28 +02:00
Robin Gareus
a3eaa4d3f0 Mixbus enforces output port count
Ardour features  N in -> M out panners. It can make sense that
the last processor has fewer outputs than the route.
In Mixbus this is not the case.
2016-04-14 20:01:52 +02:00
Robin Gareus
104fafbdc2 fix odd case where a deliver has no ports e.g session load. 2016-04-14 19:20:39 +02:00
Robin Gareus
7962176219 properly calculate requrired thread buffers 2016-04-14 14:13:26 +02:00
Robin Gareus
5af4ce47eb alternative approach for 48532baaa, C++98 compat that actually works, too 2016-04-14 12:46:23 +02:00
Robin Gareus
eda1508da1 Revert "remove C++11'isms from libptformat. back to C++98 compat."
This reverts commit 48532baaa7.
2016-04-14 12:45:02 +02:00
Robin Gareus
204c8016c7 allow to compare C class instances from lua 2016-04-14 03:08:02 +02:00
Robin Gareus
1b097d57bd NO-OP, whitespace 2016-04-13 20:58:35 +02:00
Robin Gareus
9b8faf1679 allow midi tracks with audio-out only (and vice versa)
and a potential fix for odd noise on startup.
2016-04-13 20:57:40 +02:00
Robin Gareus
9fedb74b36 strict i/o sets enforces output port count. 2016-04-13 20:54:42 +02:00
Robin Gareus
868ed41d09 fix typo 2016-04-13 20:31:14 +02:00
Robin Gareus
ab6d93bf59 fix configurable IO MIDI FX w/strict-i/o 2016-04-13 20:13:39 +02:00
Robin Gareus
b4e4bd8733 fix crash introduced in 0d1cd3865d 2016-04-13 19:10:43 +02:00
Robin Gareus
bc0bb9662e prepare fix for copying plugin state 2016-04-13 18:53:47 +02:00