summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
AgeCommit message (Collapse)Author
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
2014-10-31More generic RT-safe implementation of LV2 properties.David Robillard
2014-10-22remove obsolete jack includes in libardourRobin Gareus
2013-12-03fix up wscript/build issues in exportvis after merge with masterPaul Davis
2013-10-23initialize plugin param descriptor structRobin Gareus
2013-10-22honor LV2 units:midiNote: display Note name instead of integer3.5.14Robin Gareus
2013-10-17add export visibility macros across libardourPaul 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
2012-07-11add StartTouch and EndTouch signals to Plugin class; make PluginInsert ↵Paul Davis
handle these signals and mark the start end of touch/gestures for a given AutomationControl; net result is that touch automation now works for AudioUnit plugins, at least those whose GUIs send kAudioUnitEvent_{Begin,End}ParameterGesture events git-svn-id: svn://localhost/ardour2/branches/3.0@13028 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19patch from colinf that adds an 'empty' preset to the preset drop-down list, ↵Paul Davis
so that plugins can be set back to the 'no preset' state rather than being stuck in the state of 'preset loaded and modified'. This should apply to all plugin types, though I've only tried it on LV2 and LADSPA. git-svn-id: svn://localhost/ardour2/branches/3.0@12787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13flip default value of Plugin::presets_are_MIDI_programs and ↵Paul Davis
Plugin::current_preset_uses_general_midi git-svn-id: svn://localhost/ardour2/branches/3.0@12697 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11lots more work trying to create a common structure for accessing plugin and ↵Paul Davis
MIDNAME patch/preset/program names. still not done git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf