summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.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-29Update Send: Include internal 'thru' delay-lineRobin Gareus
This allows to push latency upstream and delay the source in case the destination has a longer latency. Also add a signal to notify the Session in case this happens, intended to queue a latency-recompute.
2017-09-29Delayline naming -- for debug purposesRobin Gareus
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-06-29Fix send mono to stereo (or N to M; M > N) sends #7409 part 1/2Robin Gareus
2017-04-19Use XMLNode::get/set_property API in ARDOUR::InternalSend classTim Mayberry
2017-03-05Fix AFL/PFL from MIDI tracks without audio (zero buffers)Robin Gareus
2016-10-14allow feedback (loops) from internal sendsRobin Gareus
This facilitates custom "Echo" chains: Bus 1 [FX] [aux-send to Bus 2] -> master Bus 2 [FX] -> Bus 2
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-09handle internal-sends from audio to midi bussesRobin Gareus
2016-07-09Make internal sends aware of non-audio dataJulien "_FrnchFrgg_" RIVAUD
When most internal sends are created, they are given a panner shell which is then responsible for audio dispatch. Other data types were left there without handling them at all. Ensure that all available data is sent provided the internal send has enough outgoing buffers.
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-01-18working version of new gain control designPaul Davis
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
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-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-09-03release shared route pointer kept by InternalSend when dropping refs.Robin Gareus
fixes "SessionHandleRef exists across session deletion" when using AuxSends
2014-06-23en/disable internal send+returns with tracks en/disable.Robin 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-22fix bitslot already in use warningRobin Gareus
in e45151b89c64 route.cc was changed to create internal sends directly with role = Delivery::Aux; and not Delivery::Role (0). This change was motivated to initialize the panner for Aux-sends in the Delivery. Role(0) was used to override bitslot numbering during initial construction of the object when the state is loaded from XML after construction. This patch adds an explicit flag for that. (The previous Role(0) approach only worked for Aux-Sends but not Sends, anyway.)
2014-01-13update internal-send port-count when target port-count changesRobin Gareus
2014-01-13ignore additional channels for AFL, PFL:Robin Gareus
If the monitor-section has fewer-channels than the solo-listen point: ignore additional channels.
2013-08-05fix conflicts after merge with masterPaul 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-07-24part-way through getting the audioengine changes to compilePaul Davis
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-05-02more fixes/tweaks from the land of the lionPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24more useful error message when an internal send fails to find its targetPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18fix reload of session with new send naming in place, drop "aux-" prefix from ↵Paul Davis
name of aux sends git-svn-id: svn://localhost/ardour2/branches/3.0@11264 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-11-20Fill extra channels if monitor sends have more outputs thanCarl Hetherington
inputs (#4468). git-svn-id: svn://localhost/ardour2/branches/3.0@10708 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28Improve audioengine includes slightly.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@10326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-17Discard MIDI when sending to the monitor bus. FixesCarl Hetherington
#4372. git-svn-id: svn://localhost/ardour2/branches/3.0@10212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-29Move what I'm pretty sure is a misplaced assert; a pannerCarl Hetherington
can copy from more to fewer buffers. git-svn-id: svn://localhost/ardour2/branches/3.0@10027 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-10fix leftover bug from hacking on internal send panning stuffPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9976 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-10add virtual Delivery::pan_outs() so that internal sends correctly configure ↵Paul Davis
their panner for the number of outputs on the target rather than the output of the internal send processor within the route. fixes a crash when adding internal sends git-svn-id: svn://localhost/ardour2/branches/3.0@9975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-18improved fix for #4158 etc, hopefullyPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9896 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14Move panner bypass state up to the PannerShell so that it is preserved even ↵Carl Hetherington
when new Panners are dropped in (refixes #4185). git-svn-id: svn://localhost/ardour2/branches/3.0@9877 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-12Correct (I think) previous fix.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-12Set mixbufs count in the case of a panner being used, asCarl Hetherington
happens in read_from when no panner is being used. Should fix #4158. git-svn-id: svn://localhost/ardour2/branches/3.0@9845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-10Set up initial gains with init_gain() before (rather than after) potentially ↵Carl Hetherington
restoring gain with Send::set_state (should fix #3546). git-svn-id: svn://localhost/ardour2/branches/3.0@9834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14monitor send gets access to the (shared) pannable of the track/bus, thus ↵Paul Davis
ensuring that the monitor feed is panned. required a few fixes along the way git-svn-id: svn://localhost/ardour2/branches/3.0@9731 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14fix initialization of gain for Listen internal sends (to monitor bus); ↵Paul Davis
remove pannable object from monitor bus after (re)creation from XML git-svn-id: svn://localhost/ardour2/branches/3.0@9730 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
2011-04-18Initialise aux send gain to -inf dB (#3990).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9368 d708f5d6-7413-0410-9779-e7cbd77b26cf