Commit Graph

17 Commits

Author SHA1 Message Date
Robin Gareus 1c4323e32f
Fix crash on MIDI bounce w/processing
Bounce (Session::write_one_track) uses bounce_chunk_size = 8192
to process data. This requires gain_automation_buffer, and
scratch buffers that can hold 8k samples.

Previously the buffers were not allocated when bounding MIDI
(no synth), leading to a crash when automation was used.
2021-06-12 02:34:22 +02:00
Robin Gareus 76f30fe74e
NO-OP: whitespace (clang-format) 2021-06-12 02:34:22 +02:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus 0c57199a6c Add a scratch buffer for automation.
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-03 13:54:55 +02:00
Robin Gareus 7962176219 properly calculate requrired thread buffers 2016-04-14 14:13:26 +02:00
Robin Gareus 0954efffd3 add "no-inplace" buffers.
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.
2016-03-26 00:40:51 +01:00
Robin Gareus 517467f297 prepare trim automation 2015-04-25 21:24:58 +02:00
Robin Gareus bb727f4588 allow to set custom thread-buffer size
This is needed for gain and pan automation buffers
as well as silent and scratch buffers when bouncing or
exporting with larger chunk size than the current engine
period.
2014-05-26 06:56:04 +02:00
Robin Gareus 205b5d97d5 partial fix for #5871 - midi-buffer size 2014-05-17 22:13:03 +02:00
Paul Davis d1cc7e5a50 fix up a bunch of confusion regarding the size/capacity/allocation of audio & midi buffers 2013-11-29 22:26:33 -05:00
Robin Gareus 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
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
David Robillard 040aef6cc3 Ensure we always have at least 1 MIDI buffer
git-svn-id: svn://localhost/ardour2/branches/3.0@10293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-23 20:28:20 +00:00
Paul Davis 15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
Carl Hetherington 73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Paul Davis 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