summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
AgeCommit message (Collapse)Author
2016-07-31Fix state features arrayDavid Robillard
2016-07-31Support thread-safe LV2 state restorationDavid Robillard
The original LV2 state extension required that run() is suspended during restore(). Ardour violates this rule, which can lead to crashes and other issues. The state extension has been updated to allow restoring state in a thread-safe way by using the worker to enqueue state changes. This commit supports that new specification, i.e. supports dropout-free state restoration properly. However, the bug with old plugins that do not use this facility is still not fixed.
2016-07-31Support LV2 log trace messagesDavid Robillard
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-15a-EQ: Remove LPF/HPF completely from this pluginDamien Zammit
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-05implement lv2:designation processing#enable (for bypass ports)Robin Gareus
2016-07-05add support for http://lv2plug.in/ns/ext/port-props/#rangeStepsRobin Gareus
2016-07-04LV2 render-value: override precisionRobin Gareus
lv2's units.ttl specifies "%f" for many values by default which results in useless high precision
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-05plugin support for Controllable::NotAutomatableRobin Gareus
2016-06-05prepare for LV2 non-automatable control portsRobin Gareus
2016-06-05refine self-automating plugin interfaceRobin Gareus
* thin automation at end * allow plugins to disable its internal write state (ctrl port) * Debug messages
2016-06-03allow latent self-automating pluginsRobin Gareus
2016-06-01isspaceRobin Gareus
2016-06-01strip trailing whitespace from lv2 log messageRobin Gareus
2016-05-27Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> ↵nick_m
frame_at_bbt()
2016-05-27Tempo ramps - rename for consistency, remove some testing code, add meter ↵nick_m
based bbt->pulse conversions.
2016-05-27Tempo ramps - respect tempo note type and meter note divisor correctly.nick_m
- tempo and meter position is now pulse-based, although meter still has a beat for convenience.
2016-05-27Tempo ramps - api rename, fix various meter and tempo dialog bugs.nick_m
2016-05-07fix LV2 locale guard (missed in 6d343ba search/replace)Robin Gareus
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-04-28add a debug message for LV2 per port buffer allocationRobin Gareus
2016-04-27tweak LV2 atom buffer allocation strategyRobin Gareus
Allow to re-use Midi buffers for GUI communication. Honor resize-port extension for all Atom Sequence buffers. (following example of http://lv2plug.in/book/#_sampler)
2016-04-24plug some memory leaks in libardourRobin Gareus
2016-04-17don't use lv2plug.in for non-standard URIsRobin Gareus
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-08add Plugin LatencyChanged() signal and max latency reportRobin Gareus
2016-04-03Implement describe_io_port() API for LV2Robin Gareus
2016-03-18Fix blocked patch:Set messages.Hanspeter Portner
2016-03-16add missing ifdefRobin Gareus
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-21prevent some mess when automating control ports on midi synthsRobin Gareus
2016-02-16work-around case where metric is NULL in split cycles.Robin Gareus
This really needs to be fixed on a higher level. e.g Pluin::connect_and_run() needs to be passed the current time identical to PluginInsert::connect_and_run()
2016-02-16try to catch https://github.com/rncbc/synthv1/issues/1#issuecomment-183041991Robin Gareus
(n_samples = 64 but Ardour sends midi-buffer with an event at 960) some guesses as to why: - split cycle for looping (nominal: 1024, cycle split:64) - plugin uses _session.transport_frame() directly :( (not latency compensated offset or looped position) - "offset" is not taken into account for midi buffers - tempo/metric change (metric iterator is wrong after loop)
2016-01-29Another attempt fixing crash at exit on windows.Robin Gareus
2016-01-15force LV2 plugin-state save for templates - #6709Robin Gareus
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-09Leave a ToDo note: distinguish LV2 user and factory presets.Robin Gareus
2016-01-07don't re-activate LV2 plugin before cleanup.Robin Gareus
2016-01-07LV2 - query presets without instantiating the pluginRobin Gareus
2015-12-19cont'd work on plugin-state templates - #6709Robin Gareus
Refactor and consolidate code and re-use it for session-templates. This avoids recursive copying of the plugin-dir()
2015-12-18save/restore plugin state with track-templateRobin Gareus
2015-12-17leave some todo-notes #6709 (track templates & state)Robin Gareus
2015-12-15update URI (see lv2-dev email list)Robin Gareus