summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
AgeCommit message (Collapse)Author
2018-01-30Remove unused APIRobin 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-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-09LV2/midnam tweaks - fix race conditionsRobin Gareus
* Emit signal once midnam was actually updated * only re-read midnam if was it changed. This allows idempotent calls to read_midnam() - from the same thread. At session-load a synth-plugin may load a soundfont in the background and emit midnam_update() after the synth was initialized but before the GUI thread connects to the signal. By making the call idempotent the GUI can call read_midnam() after connecting to the signal to catch up.
2017-09-09Allow to send MIDI data directly to a pluginRobin Gareus
2017-09-08Add LV2 extension to notify host about midi-bank/pgm state.Robin Gareus
2017-07-31Indicate whether to show plugin's inline display in GUIJohannes Mueller
This is currently done by an extension data similarly to LV2_INLINEDISPLAY__interface.
2017-04-25Add an API to conveniently query plugin-parameter labelsRobin Gareus
2017-02-28Tweak/optimize VST callback:Robin Gareus
The audioMasterAutomate callback from plugin to host does include the parameter-value. Previously there was a redundant call Plugin::parameter_changed_externally() -> get_parameter -> VSTPlugin::get_parameter() back into the plugin to query the value. calling back into the plugin from the callback, may explain oddities and/or crashes with some VSTs.
2017-02-21Add API allowing plugin preset load to affect automationRobin Gareus
2017-01-20Fix oddities when replacing VST-presets.Robin Gareus
VST used the count of available of presets as URI: - add 2 presets (1,2) - remove first, add another one -> two presets with same URI (2,2) PluginInfo::get_presets() simply lists all (name only) in a vector. Plugin::find_presets() uses the URI in a map (unique by URI). ..various ensuing bugs: eg. Plugin::remove_preset() looked up by name, but didn't check for NULL.
2016-11-10Parse PortGroups into Plugin::IOPortDescriptionRobin Gareus
2016-10-29Prototype LV2 extension for plugins to provide MidnamsRobin Gareus
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-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-08add an plugin API to query generic-gui grid-layoutRobin Gareus
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-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-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-13fix configurable IO MIDI FX w/strict-i/oRobin Gareus
2016-04-12some strategic documentationRobin Gareus
Prevent class descriptions inheriting the doc from PBD:Stateful by adding some specific doc.
2016-04-08add Plugin LatencyChanged() signal and max latency reportRobin Gareus
2016-04-03add Plugin API to query port-labels and side-chain property.Robin Gareus
2016-03-30Delegated plugin configuration is now always successful.. exceptRobin Gareus
..in case of outright errors (e.g. data format mismatch) or non-implemented edge-cases e.g. midi generators (no audio in, no midi in, no audio-out) or control-data filters (only control ports).
2016-03-27allow no-inplace processingRobin Gareus
PluginInsert supports that due to Pin Management
2016-03-14update [LV2] Plugin Inline Display API: drop cairo dependencyRobin Gareus
2016-03-14Implement LV2 Inline Display ExtensionRobin Gareus
2016-03-14prototype online self-automating LV2 plugin interfaceRobin Gareus
goes along with https://github.com/x42/automate.lv2
2016-02-23fix LV2Plugin::requires_fixed_sized_buffers()Robin Gareus
ARDOUR::Plugin() does not inherit from ARDOUR::Processor(), the virtual function was never called.
2016-01-09API evolutionRobin Gareus
The Session-reference is only needed to instantiate/load the plugin. Indexing presets is not supposed to call load() and be const WRT to PluginInfo
2016-01-08remove default implementation to query plugin-preset namesRobin Gareus
2016-01-07Add API to allow querying plugin-presets without instantiating the pluginRobin Gareus
2016-01-07NO-OP, re-order headerRobin Gareus
2015-12-25Keep plugin presets in sync across plugin-instances.Robin Gareus
2015-12-25don't assume plugin presets start their numbering at zero.Robin Gareus
2015-12-25add a PluginPreset struct: combined plugin-info + preset-recordRobin Gareus
...in preparation to allow adding presets directly.
2015-12-18save/restore plugin state with track-templateRobin Gareus
2015-11-18add dedicated API to check plugin classRobin Gareus
2015-10-20rename Plugin::ParameterChanged to ParameterChangedExternally to reflect its ↵Paul Davis
intent, and clean up the libardour side of result. The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST) has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics.
2015-10-20Revert "rename ParameterChanged signal in Plugin to ↵Paul Davis
ParameterChangedExternally to reflect its intent, and clean up the result." This reverts commit 336b2eb9a4a8634bae84a15e952d20335aa28c12.
2015-10-20rename ParameterChanged signal in Plugin to ParameterChangedExternally to ↵Paul Davis
reflect its intent, and clean up the result. The signal exists to notify listeners that something outside of the host's control (e.g. a plugin's own GUI for AU or VST) has modified a plugin parameter. Previous code had strange feedback loops and ambiguous semantics. Significant modification of LV2 GUI updating was required. Still to be tested for feedback loop issues: AudioUnits
2015-10-14Fix a problem where VST automation data wasn't getting written (if the ↵4.3John Emmas
adjustments were made from the plugin's own controls)
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.
2014-12-30Fix some mangled whitespace (noop).David Robillard
2014-11-03Reduce coupling between Plugin and PluginInsert.David Robillard
2014-11-02Automation of LV2 plugin properties.David Robillard
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02Move ParameterDescriptor from Plugin to its own header.David Robillard
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02Decouple ControlUI from port index.David Robillard