summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
AgeCommit message (Collapse)Author
2020-02-06always use plugin's ::midnam_model() method to provide the name of a custom, ↵Paul Davis
plugin provided MIDNAM document
2020-01-21Display LV2 plugin-name with errors/warningsRobin Gareus
2019-12-15LV2: add state:mapPath as supported feature and sort URIsRobin Gareus
2019-12-14Add Inline Control Port PropertyRobin Gareus
This allows to indicate that a control should by default be displayed inline in the mixer-strip. Previously that was hard-coded for and enabled for send-level controls only.
2019-11-22Add support for LV2/KX transient-ID optionRobin Gareus
2019-11-14Relax LV2 time-info re-transmission conditionRobin Gareus
Allow beat (quarter-note count) to drift by 1/100 beat before re-sync. This prevents excessive re-transmissions
2019-11-14LV2 extension for host's time-scale vari-speedRobin Gareus
Ardour 6 internally always runs at speed 1.0 (or -1.0, or stopped 0.0). There is no vari-speed that scale "BPM" or "n_sample" time progression per cycle. Instead Ardour 6 vari-speed mechanism transparently re-samples I/O. So process-time is scaled only relative to wall-clock time. From a plugin's POV this is similar to "freewheeling": The plugin processes data as if the host plays at speed 1.0. While the host plays this data at a different rate. Some plugins may like to be informed about the host's actual playback rate. Currently this is mainly for the benefit of github.com/x42/repitch.lv2.git
2019-11-14Initialize uninitialized variablesRobin Gareus
This also ensures that musical-time information is initially transmitted to a plugin.
2019-11-08Fix uninitialized valueRobin Gareus
ARDOUR::LV2Plugin::init -> lilv_state_restore () -> set_port_value () compares new against current value
2019-10-28Fixup prev commit (LV2 X11 UI) -- #7837Rui Nuno Capela
2019-10-28Improve 1477bca76, ensure suil supports x11-in-gtk2Robin Gareus
2019-10-28Skip X11 LV2UI check on Windows and MacOSRobin Gareus
2019-10-28NO-OP: whitespace and commentsRobin Gareus
2019-10-28Prefer X11 Plugin UIsRui Nuno Capela
Let LV2 Plugin UI support (via SUIL) prefer and select a X11 UI whenever multiple UI type options are provided by LV2 plugins (eg. Vee-One's do present several but their native Qt5UI should never be raised by Ardour, on any chance:)). Signed-off-by: Rui Nuno Capela <rncbc@rncbc.or
2019-10-02remove all use of NO_PLUGIN_STATE #ifdefPaul Davis
We determined several years that we should never ever do this, and changed the basis for the free/demo copy because of that.
2019-09-18Fix LV2 state:loadDefaultStateRobin Gareus
lilv_state_restore() needs to be called unconditionally (regardless if a plugin actually has a state-interface) to set port and properties. It has to be called after ports are enumerated and supported properties are loaded.
2019-08-26Add sample-rate as float option parameter for LV2 plugins and UIsRobin Gareus
2019-08-26Fix LV2 option sizeRobin Gareus
2019-08-26LV2 options for UI themeRobin Gareus
Inform plugins about host theme (fg, bg colors) and UI scale-factor. The latter follows an implementation already present in Carla and DPF. These extension use proposed official URLs.
2019-08-23Some hints for clang static analysisRobin Gareus
2019-08-19LV2 extension to override strict-i/o per pluginBen Loftis
This allows mono to stereo plugins to override the default routing and forces both outputs to be connected.
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-05-08Notify custom UIs when designated LV2 BPM port changesRobin Gareus
2019-05-08Hide designated [lv2] BPM port from GUIRobin Gareus
2019-05-03Extend list of supported LV2 featuresRobin Gareus
* boundedBlockLength is given since ardour sets min/max blocksize * add non-standard features (inline display, midnam, MIDI bank/patch notify)
2019-04-10Cleanup: Simplify conditionalsDavid Robillard
2019-04-10Remove support for building against LV2 older than 1.2.0David Robillard
LV2 1.2.0 was released in 2012, over 6 years ago now.
2019-04-10LV2: check required feature and optionsRobin Gareus
When discovering LV2 plugins, verify if a plugin's required features and required options can be be satisfied. This replaces a previous blacklist with a whitelist of supported features/options.
2019-04-08Undo yet more frame/sample replacementsRobin Gareus
2019-04-08NO-OP: whitespace, commentsRobin Gareus
2019-04-08Undo more incorrect sample/frame replacementsRobin Gareus
2019-03-22Prevent crashes when copying LV2 plugin stateRobin Gareus
LV2 plugin state-loading is generally safe to perform concurrently with running the plugin (as per LV2 spec). However concurrent run() is not.
2019-03-11Remove generic parameter-printerRobin Gareus
This has been superseded by value_as_string() along with meta-data from parameter-descriptor, which is supported by all standards, except VST.
2019-02-28Properly copy LV2 plugin instances on replicationRobin Gareus
This fixes issues for stateful plugins and plugins with previously loaded preset.
2019-02-17Clean up Latency API (Processor vs Plugin)Robin Gareus
Plugins are only a source of Latency (Plugin delay). The API to query, signal and override Latency is managed by PluginInsert.
2018-12-19Use lilv_world_get()David Robillard
Leaves the now-trivial get_value() helper there since it keeps the call sites shorter and nicer to read.
2018-12-19Remove conditional support for ancient versions of LilvDavid Robillard
This updates the dependency to 0.24.2, which was released in January 2017 and is the most recent version in Debian 9 (stretch).
2018-12-18Wouldn't it be nice if plugin presets had a description/comment?Robin Gareus
2018-12-18Add LV2 option/extension for plugin thread sched priorityRobin Gareus
This allows plugins that need threads to process to configure their thread priority to not interfere with the host's process threads.
2018-11-22Save LV2 Port Property values locallyRobin Gareus
This keeps track of lv2:Parameter properties modified with Port:Set, currently file-paths.
2018-11-04Optimize Plugin connect & run API, use const mapsRobin Gareus
2018-07-10Fix lv2-state templates with external files.Robin Gareus
This forces liblilv to collect external files in the template-folder and symlink to the original file instead of re-using the external-file folder of the session that was used to create the template.
2018-06-09Hide designated LV2 freewheeling port.Robin Gareus
2018-02-03Make sure that 'libardour-config,h' only gets #included when building with ↵John Emmas
waf (as it only gets generated when building with waf) When building with MSVC this was getting #included in a few places which had the effect of making my session files get generated in a very old format.
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-10-23lv2 compat for liblilv < 1.10.0Robin 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-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-08Add LV2 extension to notify host about midi-bank/pgm state.Robin Gareus
2017-08-11yet another Windows build fix (LV2 preset 89475b2c9)Robin Gareus