summaryrefslogtreecommitdiff
path: root/libs/ardour/process_thread.cc
AgeCommit message (Collapse)Author
2017-06-03Add a scratch buffer for automation.Robin Gareus
Useful as temporary buffer: This allows a controllable to get a master's automation-curve and combine it with its own (gain, trim, send) automation buffer.
2017-06-03NO-OP: whitespaceRobin Gareus
2016-03-26add "no-inplace" buffers.Robin Gareus
When allowing to cross-connect plugin-ports, inplace processing can no longer be used. We need a complete set of independent input and output buffers. Since scratch and silent buffers are used by the various plugin implementations we cannot re-use them in the PluginInsert. Besides we need a complete BufferSet which can hold both: ins + outs.
2015-04-25prepare trim automationRobin Gareus
2013-08-01use zeroed scratch buffers for "silent" plugin runsRobin Gareus
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-07-31another amend to 00f26394a9Robin Gareus
2013-07-31fix stupid copy/paste error in 00f26394a9Robin Gareus
2013-07-30use dedicated buffers for route (and track)Robin Gareus
"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)
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16extra insurance against ProcessThread::init() being called more than oncePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12737 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11Make send automation work (#4734).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
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-03-15remove unused Glib::Thread* from ProcessThreadPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01a better fix for the silent buffer issue: whenever we run a plugin, mark all ↵Paul Davis
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-01force re-silence of buffers in ProcessThread::get_silent_buffers(), an ↵Paul Davis
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-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13remove babbling torrent of debug outputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13substantive change: use the JACK wait API and provide "thread buffers" ↵Paul Davis
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