13
0
Commit Graph

15 Commits

Author SHA1 Message Date
517467f297 prepare trim automation 2015-04-25 21:24:58 +02:00
4dc74ae2ea use zeroed scratch buffers for "silent" plugin runs
Plugins rewrite the buffer data in-place and some plugins
can produce output even when fed with silence.

Hence, during a PluginInsert::silence() run a plugin can
inject data into the "silent" buffers which causes side-effects.

Kudos to Chris 'oofus' Goddard for finding this issue.
2013-08-01 00:35:24 +02:00
1c08b910f0 another amend to 00f26394a9 2013-07-31 14:21:40 +02:00
e8dc221191 fix stupid copy/paste error in 00f26394a9 2013-07-31 02:00:31 +02:00
00f26394a9 use dedicated buffers for route (and track)
"scratch buffers are by definition scratch and their contents are undefined at all times"
"silent buffers are by definition all-zero and should not be used for real data"

But track & route were using those for actual data; plugins (which may run
in the same thread and may get the same buffers) use them for scratch thereby
overwriting real data.

In particular get_silent_buffers() (used by LadspaPlugin::connect_and_run)
clears the buffer which can holds real data:
e.g. via  Route::passthru_silence() -> plugin1 -> plugin2 (clears output of plugin1)
2013-07-30 16:55:33 +02:00
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
223a5e217a extra insurance against ProcessThread::init() being called more than once
git-svn-id: svn://localhost/ardour2/branches/3.0@12737 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 02:53:50 +00:00
Carl Hetherington
c40437430a Make send automation work (#4734).
git-svn-id: svn://localhost/ardour2/branches/3.0@12650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11 10:42:30 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
cfaf6ff7e3 remove unused Glib::Thread* from ProcessThread
git-svn-id: svn://localhost/ardour2/branches/3.0@11696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-15 13:39:06 +00:00
8771e00fab a better fix for the silent buffer issue: whenever we run a plugin, mark all the buffers passed to it as non-silent. a few plugin APIs allow the plugin to indicate whether or not it generated silence or not, but we ignore this for now (and possibly forever)
git-svn-id: svn://localhost/ardour2/branches/3.0@10385 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 21:28:16 +00:00
ddff1489f2 force re-silence of buffers in ProcessThread::get_silent_buffers(), an interim fix before actually finding out why the buffers are marked silent when they were not
git-svn-id: svn://localhost/ardour2/branches/3.0@10383 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 21:10:46 +00:00
a473d630eb Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
a83157de45 remove babbling torrent of debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@6889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13 21:05:59 +00:00
3ea10b38bb substantive change: use the JACK wait API and provide "thread buffers" separately from session in preparation for parallelization. lots of debug output at present. If using JACK1, requires a very current version of JACK1 SVN (0.119.0)
git-svn-id: svn://localhost/ardour2/branches/3.0@6888 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13 20:48:33 +00:00