summaryrefslogtreecommitdiff
path: root/libs/ardour/delivery.cc
AgeCommit message (Collapse)Author
2020-03-02Refactor send naming (#7905)Robin Gareus
This allows users to rename sends without enforcing a numeric bitslot number. However this prevents a user to to use "send" names that are potentially used for new sends or inserts.
2020-02-24Fix initial audible noise on muted or silenced tracksRobin Gareus
When loading a session with muted tracks, those tracks were not initially muted, but ardour only faded them out. The same happened to sends, and also tracks with non unity fader: an initial fade from unity to target gain was done. Now this send and deliveries always fade-in (like default Amp does).
2019-11-06fix unconditional note resolution during DiskReader::realtime_locate()Paul Davis
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-04avoid use of Port::port_offset() everywhere except Port::flush_buffers() and ↵Paul Davis
Port::get_buffer() Split cycles are run as if they are an entire self-contained cycle, starting at zero and running for "nframes". We adjust the timing and position of data only when retrieving and writing it to Port buffers.
2019-09-26rename BufferSet::get* to BufferSet::get_available*Paul Davis
This tries to make it clear what the BufferSet limit semantics really are
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2018-11-12Changed send/deliver role "Personal" to "Foldback" so bus type can matchLen Ovens
2018-10-19Add personal monitor sendsLen Ovens
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