summaryrefslogtreecommitdiff
path: root/libs/ardour/delivery.cc
AgeCommit message (Collapse)Author
2017-10-04Clean up State API:Robin Gareus
* Processor implement get_state(), classes derived from Processor implement protected ::state() -- as documented in processor.h * likewise for Route, Track: make ::state() a protected interface * removal of "full_state", use explicit "template_save" * use RAII/Unwind to skip saving automation-state
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
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-07-22NO-OP: whitespaceRobin Gareus
2017-07-22NO-OP: consistent [internal] API name for AutomatablesRobin Gareus
2017-04-19Use XMLNode::get/set_property API in ARDOUR::DeliveryTim Mayberry
2016-11-25Fix forwarding of output-buffers.Robin Gareus
fbc8504f9eb74 swapped the iterators: Instead of iterating over output buffers like BufferSet::read_from(), the new code iterates over the current buffers. In case of 1 in -> 2 out, only the 1st channel was be copied. Also unlike BufferSet::read_from() the ChanCount was not updated. Processors after a Delivery e.g. out-meter, AFL processor did not see all channels.
2016-10-17ignore send buffers for which there's no returnRobin Gareus
This fixes an issue with Audio+Midi sends feeding into an audio only return.
2016-09-13NO-OP: indentationPaul Davis
2016-09-13Delivery::run() now offsets data delivered to MIDI ports by the global port ↵Paul Davis
offset if the output is then re-used, MIDI data is readjusted to not use the global port offset
2016-09-13use class-static method rather than pretend there is a per-member value for ↵Paul Davis
Port::port_offset()
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-09Make Delivery::run more Datatype-agnosticJulien "_FrnchFrgg_" RIVAUD
Note that checking the number of output ports is not needed because IO::copy_to_outputs() will stop if there are less ports of the right type than buffers (or even none).
2016-06-25major internal plugin & processor API change:Robin Gareus
Pass current (latency compensated) cycle times to plugin. This fixes time-reporting to plugins and also fixes automation and when bouncing (the session->transport* is not valid) etc.
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-04-14fix odd case where a deliver has no ports e.g session load.Robin Gareus
2016-04-13NO-OP, whitespaceRobin Gareus
2016-04-13allow midi tracks with audio-out only (and vice versa)Robin Gareus
and a potential fix for odd noise on startup.
2015-11-28don't clear MIDI buffers during split-cyclesRobin Gareus
if dst_offset is zero, MidiBuffer::read_from() clears the buffer. copy_to_outputs() eventually calls MidiBuffer::read_from().
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-16Revert "add an Amp to Delivery, remove it from Send, make use of this in ↵Paul Davis
various ::run() methods" This reverts commit 601a34521c2ce1d0167ed2f3c66f2fa6eeeb6b8e.
2015-09-15move speed quietning code into Delivery, where it belongs.Paul Davis
Note: I find the -12dB reduction too much of a reduction.
2015-09-15add an Amp to Delivery, remove it from Send, make use of this in various ↵Paul Davis
::run() methods Delivery::_amp now will handle monitor-related delicks assuming the Session::config.get_use_monitor_fades() is true.
2015-04-22Initial Gain Coefficient tweaksBen Loftis
1) Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO 2) Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB) 3) GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale 4) GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-04-07low-pass filter gain-fader.Robin Gareus
fixes various fader zipper noise issues. It voids sample accuate fader automation (the fader-gain is low-pass filtered at 10Hz). Yet all musical purposes this makes a lot more sense than sample accuracy anyway.
2014-11-14add abort() to non-reached codeRobin Gareus
This cleans up a lot of false-positives in static analysis and also helps compilers to optimize code paths in general. (tagging the fatal stingstream operator as ‘noreturn’ is far less trivial)
2014-06-11fix possible crash when setting delivery name w/o panshellRobin Gareus
2014-06-11basic integration of delaylines (still un-nused)Robin Gareus
2014-02-07don't add a [shared] panner for the sends to monitoing sectionRobin Gareus
fixes issue with 'stuck' mono panners (when using a stereo monitoring section and auto-connect): the send to monitor section is added after the main panner. At this point the channel-count is different, but the send shared panner() with the main route. Here: mono-panner on track, stereo-panner; and they shared control settings. since stereo-panner's width is 1, the position cannot be changed.
2014-01-15don't pan send/return insertsRobin Gareus
2014-01-15re-allow panners for monitoring-section (for now)Robin Gareus
2014-01-15cont'd backend work on panner-linkingRobin Gareus
2014-01-13first stab at send+route panner linkRobin Gareus
2014-01-13allow to custom select panner-type for each delivery.Robin Gareus
2014-01-13fix delivery: check if panshell exists on session-loadRobin Gareus
2014-01-13independent panning for external sendsRobin Gareus
2014-01-13add independent panner for internal (Aux) sendsRobin Gareus
2014-01-13update internal-send port-count when target port-count changesRobin Gareus
2013-08-09remove another naming that refers to JACKPaul Davis
2013-08-02rework MIDI [processor|plugin] chainRobin Gareus
* forward midi-data around plugins that have no MIDI-out * allow to insert plugins with no MIDI-input at a point with one MIDI-channel This works because excess ports (both plugin and route) remain unconnected and use scratch-buffers. Tested with LV2, LXVST and LADSPA. (AU plugins with variable in/out retain the old behavior, no bypass) fixes http://tracker.ardour.org/view.php?id=5630
2013-01-27fix another semantically-significant-expression-in-assert case (though not a ↵Paul Davis
very important one, because the test is intended to fail) git-svn-id: svn://localhost/ardour2/branches/3.0@14010 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17make it possible to (and actually do) name insert and send ports as "return" ↵Paul Davis
and "send" rather than "in" and "out" (#5012) git-svn-id: svn://localhost/ardour2/branches/3.0@13052 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-04-30Remove unused return value.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11Remove unused parameter to Port::flush_buffers().Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11906 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14Remove thought-to-be-unnecessary setup of Delivery::_no_outs_cuz_we_no_monitorCarl Hetherington
at the start of each cycle; it is set up at the start of Route::process_output_buffers. git-svn-id: svn://localhost/ardour2/branches/3.0@11247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14get Delivery to disconnect from any signals it is connected to relatively ↵Paul Davis
early in its destructor, so that it is not possible to call Delivery::cycle_start() and encounter a partially formed Delivery-derived object. may fix a crash that geoff beasley has seen with jack2 git-svn-id: svn://localhost/ardour2/branches/3.0@11004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-20Make a few things private in Delivery; couple of minorCarl Hetherington
cleanups. git-svn-id: svn://localhost/ardour2/branches/3.0@10715 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-20Remove unused variables.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10714 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28Use shared_ptr for Port in the AudioEngine; improves thread-safety of the ↵Carl Hetherington
audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another. git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf