summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin_insert.h
AgeCommit message (Collapse)Author
2020-04-16Plugin: bypass <> enabled mappingRobin Gareus
LV2 uses "enabled": -1: inactive, 0: bypassed, 1:enabled VST3 has "bypass: 0:active, 1: bypassed
2020-03-10Avoid using 'boost::aligned_storage' which is known to be problematic in ↵John Emmas
MSVC builds:- https://www.boost.org/doc/libs/1_65_0/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html
2020-03-06RT-safety use stack (not heap) for plugin pin mappingsRobin Gareus
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-10-02Plugin type lookup does not change PIRobin Gareus
2019-10-02Remove unused API (and some MIXBUS specifics)Robin Gareus
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-03-22Update cAutomationControl values when copying stateRobin Gareus
This fixes a bug that can result in inconsistent session-state when copying plugin state from one plugin to another (via drag/drop ProcessorBox::object_drop, LINK). The underlying plugin state and settings are copied, port _shadow_data is updated, and ::get_parameter() shows the correct new value. However the Controllable was not updated. On Session save/restore the value may have be lost or was inconsistently restored.
2019-03-11Use VST's print_parameter() when applicable.Robin Gareus
2019-02-28Take latency into account when analyzing live signalRobin Gareus
2019-02-20Add unified API to select plugins to show on control-surfacesRobin Gareus
e.g. Mixbus channelstrip should be hidden, also mixbus' built-in effects are exposed as well-known controls
2018-12-16Optimize plugin-processing for non-automated paramsRobin Gareus
Keep a dedicated list of automated parameters to evaluate in realtime. This fixes a performance issue with plugins that have many controls with only few of them being automated.
2018-12-03Special case Mixbus Chanstrip for load calculationRobin Gareus
These processors don't have a UI, so their load stats are not easily visible. The stats can still be queried via Lua API or DSP-load overview window, so we retain this for debug builds.
2018-11-04Remove C++11'ismRobin Gareus
While gnu-gcc had `std::map:at const` as non-standard extension it is n/a for older gcc on OSX. Surprisingly this const& p() const; performs a tad better as well, likely due to different exception handling. Perhaps it is also worth investigating boost::flat_map<> as replacement for std::map<>, here. Our common case is just a single entry, so using a std::vector emulated mapping might help.
2018-11-01Create sidechain ports when created from template (#0007680)Johannes Mueller
When a route with a sidechain is created from a template or by route duplication the number of ports of the sidechain are set according to the XMLNode defining the sidechain. Then the names are set according to the name of the newly created route. Thus all the pin connections defined in the template are replicated in the newly created route.
2018-11-01Update names of sidechains.Johannes Mueller
When a PluginInsert is created it does not have an owner right away. That's why a we need to set the sidechains name once the owner is known, in order to include owner's name into the name. Furthermore we need to follow renames of the owner.
2018-08-15Add API to reset plugin timing statsRobin Gareus
2018-07-31Prepare for non-bypassable plugins (Mixbus channelstrip)Robin Gareus
2018-05-17Collect plugin runtime profile statistics.Robin Gareus
2018-01-30Update plugin classificationRobin Gareus
* dedicated API for classes (effect, instrument, util) * prepare for tags (rather than categories) * prepare removal of per-plugin in_category() API
2017-11-26Remove unused APIRobin Gareus
2017-11-01Wrap automation on loop-position, split plugin processingRobin Gareus
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-09-09Allow to send MIDI data directly to a pluginRobin Gareus
2017-07-16Rename private methodRobin Gareus
The same name (automation_run) is used in different context (mute) for only processing automation.
2017-04-12Add a ReadOnlyControl parameter abstractionRobin Gareus
This allows to pass a sperici Controllable alike instance around without relying on directly exposing the Plugin instance and parameter-id.
2017-02-21Add API allowing plugin preset load to affect automationRobin Gareus
2017-01-21Instrument insert options:Robin Gareus
* allow to directly fan-out when adding a multi-channel instrument * Mixbus: move multi-channel instruments after Comp & EQ.
2016-10-14Revert "change return type of AutomationControl::actually_set_value() from ↵Paul Davis
void to bool, to indicate if value was changed." This reverts commit c104c9d4726f3ba1ecd352d13b88a57f2f964510.
2016-10-12change return type of AutomationControl::actually_set_value() from void to ↵Paul Davis
bool, to indicate if value was changed. Don't call Session::set_dirty() when no change occurs
2016-10-10Forward "owner" from Processor to PluginRobin Gareus
2016-10-07Clean up is_instrument vs needs-midi-in APIRobin Gareus
The latter is only really relevant for Audio Units. This fixes an issue with vocoders or audio-plugins that simply have a MIDI input for other purposes to be wrongly categorized as Instruments.. .. and thereby override strict-i/o rules (prefer stereo)
2016-07-26add initial midi sidechain if plugin has one.Robin Gareus
2016-07-09move LatencyChanged detection from Plugin to Processor (plugin-insert)Robin Gareus
* support all Plugin APIs (not implementation specific) * also check for latency changes when plugins are hard en/disabled
2016-07-05add API to use a plugin provided bypass control portRobin Gareus
* new separate API: en/disable * old API remains in place for hard bypass * PluginInsert::enable() falls back to activate/deativate if a plugin does not provided designated bypass control port
2016-07-05fix bypassing plugins with sidechain i/oRobin Gareus
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-06-16set latency of sidechain portRobin Gareus
2016-05-31universal change in the design of the way Route/Track controls are designed ↵Paul Davis
and used. The controls now own their own state, rather than proxy for state in their owners. Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-19prepare plugin configuration and replacing instrumentsRobin Gareus
2016-05-19move "needs output port selector" (from pin-dialog) to backendRobin Gareus
2016-05-18bypass plugin(s) - not processor (plugin-insert keeps mapping)Robin Gareus
2016-04-27allow to customize variable i/o plugin inputsRobin Gareus
2016-04-22add API to load plugin presets for all instancesRobin Gareus
2016-04-19some plugin-insert debuggingRobin Gareus
* report inplace * debug-dump reason(s) why i/o maps are reset
2016-04-15variable plugin port config.Robin Gareus
* extend plugin API (query IO ports) * collect possible variable plugin configurations (AU, Lua) * prepare semi-automatic configuration (presets: mono, stereo, N)
2016-04-14properly calculate requrired thread buffersRobin Gareus
2016-04-13fix configurable IO MIDI FX w/strict-i/oRobin Gareus
2016-04-08Latency compensation for plugin thru routing.Robin Gareus