summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
AgeCommit message (Collapse)Author
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
2015-12-13update LV2 URIRobin Gareus
2015-12-10fix LV2 plugin state for copied plugins.Robin Gareus
2015-12-10LV2 specific instrument-plugin checkRobin Gareus
2015-12-06outline a "NoSampleAccurateControl" LV2 feature:Robin Gareus
Since control-ports have a fixed value for the current process-block, Ardour splits a plugin's run() process cycle on every automation event to facilitate sample-accurate automation. Since automation is interpolated between events, this ensures that each explicit automation point is reached (not interpolated). Plugins where this is not required and which favor a fixed block-size, can now specify an optional Feature: NoSampleAccurateControl. One example: a convolution plugin with smoothed gain control.
2015-11-18add dedicated API to check plugin classRobin Gareus
2015-10-26and another LV2-1.0.0 compat ifdefRobin Gareus
2015-10-26amend 311adde (LV2-1.0.0 compat)Robin Gareus
2015-10-23add ifdefs for LV2-1.0.0 compatRobin Gareus