summaryrefslogtreecommitdiff
path: root/libs/ardour/lv2_plugin.cc
AgeCommit message (Collapse)Author
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
It's slightly possible that this causes trivial build failures on different configurations, but otherwise shouldn't cause any problems (i.e. no actual changes other than include/naming/namespace stuff). I deliberately avoided removing libardour-config.h since this can mysteriously break things, though a few of those do seem to be unnecessary. This commit only targets includes of ardour/*.h. There is also a very large number of unnecessary includes of stuff in gtk2_ardour; tackling that should also give a big improvement in build time when things are modified. git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02a variety of mostly unused parameter errors from OS X Lion's compilerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-21Use URI defines from LV2 headers instead of error-prone hardcoded URIs.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@12051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-21Fix crash when removing an LV2 plugin or on shutdown.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@12050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20Add "Description" pane to generic plugin UI for LV2 plugins with ↵David Robillard
documentation (rdfs:comment property). A Gtk::Entry might be better here, making Gtk::Label wrap based on size is tedious... git-svn-id: svn://localhost/ardour2/branches/3.0@12043 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20Set tooltips on generic UI controls for LV2 plugin controls with ↵David Robillard
documentation (rdfs:comment property). git-svn-id: svn://localhost/ardour2/branches/3.0@12042 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20Remove support for old and/or experimental LV2 stuff.David Robillard
Ardour 3 now simply depends on the latest version of Lilv, which depends on the LV2 package (which contains all the LV2 headers). git-svn-id: svn://localhost/ardour2/branches/3.0@12041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13Fix compilation with old lilv.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11960 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13Implement proper LV2 preset support.David Robillard
The old code here was attempting to load several various random methods of listing LV2 presets. IMO this situation has become untenable, the way implemented here is the way documented with examples in the extension, and if plugins don't work with it, they need to be updated. For the record, the rationale behind this change is to make preset data separately loadable, since it tends to be far too massive to have hosts loading it for all plugins when unnecessary. git-svn-id: svn://localhost/ardour2/branches/3.0@11957 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11Fix crash introduced in r11877 (oops). Add LV2Plugin::port_index().David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10Forward port LV2 BPM and freewheeling port stuff from 2.0-ongoing.David Robillard
Fix worker implementation to preserve error codes. git-svn-id: svn://localhost/ardour2/branches/3.0@11877 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-06Execute plugin worker tasks immediately in the audio thread if freewheeling.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11803 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05Implement LV2 worker extension.David Robillard
This is done by way of a generic Worker object/thread, which currently just applies to one LV2 plugin, but the idea is to share one thread and set of buffers among many plugins. The same pattern may also be useful elsewhere in Ardour. The responding part gets a bit tricker when sharing a worker between plugins, it's not a blocker, and I'm lazy, sooo here's this. This commit also adds a new portable in-process semaphore to PBD. The existing one is pretty weird and uses a named semaphore on OSX for reasons unknown to me. Perhaps as a quick fix to avoid POSIX semaphores being utterly broken on OSX? It would probably be a good idea to replace that with this new one, which uses Mach kernel semaphores on OSX which work well, though I am not sure how pedantically real-time safe they are to signal. git-svn-id: svn://localhost/ardour2/branches/3.0@11790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30Update to latest LV2 state extension.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-25Update to latest LV2 atom extension.David Robillard
Implement proper support for fixed size LV2 plugin UIs. git-svn-id: svn://localhost/ardour2/branches/3.0@11757 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21Use combo box for plugin controls for ports marked asCarl Hetherington
lv2:enumeration. git-svn-id: svn://localhost/ardour2/branches/3.0@11745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-17fix crash when setting an LV2 preset that refers to ports via incorrect ↵Paul Davis
names (from bazz) git-svn-id: svn://localhost/ardour2/branches/3.0@11719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-03Update for latest Lilv SVN.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11587 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-01Hopefully fix compilation without Suil.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-29Update to latest LV2 atom extension.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11548 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25Fix real-time violation, only send UI updates if explicitly requested by UI.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11522 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25Use FastScreenUpdate for UI message updating, and only if plugin has message ↵David Robillard
output ports. git-svn-id: svn://localhost/ardour2/branches/3.0@11521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25Full round-trip message communication between LV2 UIs and plugins.David Robillard
Still a little bit rough around the edges, but it works. This can be tested with the eg-sampler plugin from LV2 svn (whose UI can load different samples). git-svn-id: svn://localhost/ardour2/branches/3.0@11519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25Use more straightforward 1:1 names for URI nodes.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11518 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-25Support LV2 atom sequence ports alongside old event ports.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-24Clean up LV2 code in preparation for atom support.David Robillard
Merge all parameter_is_* boolvectors into a single vector of flags (smaller/faster). git-svn-id: svn://localhost/ardour2/branches/3.0@11515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-28Fix compilation with older Glib.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@11378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-28Fix compilation with older lilv (0.5.0)Sakari Bergen
git-svn-id: svn://localhost/ardour2/branches/3.0@11375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-28Use new Lilv state API to save LV2 plugin state.David Robillard
This saves a complete history of plugin state, i.e. save is no longer destructive. However, data is shared as much as possible, and new state is only written if the plugin state has actually changed. There is exactly one link in the entire session directory to any external file, so archiving will work with minimal copying. Not sure sure about the naming of the "externals" directory, but I have nothing better... git-svn-id: svn://localhost/ardour2/branches/3.0@11372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23Trim calls to parameter_count() a bit during the processCarl Hetherington
thread. git-svn-id: svn://localhost/ardour2/branches/3.0@11316 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23Cache results of lilv_port_is_a(...) in various places.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-09Support new URIs for LV2 presets.David Robillard
Old stuff continues to work for Calf, but it'd sure be nice if it would be updated... git-svn-id: svn://localhost/ardour2/branches/3.0@10952 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-24Save references to external files in LV2 state as symbolic links.David Robillard
With this commit it is possible to archive sessions that contain plugins with complex file-containing state (e.g. Linuxsampler with a sample bank loaded) with any archive tool, e.g.: tar -hjcf session.tar.bz2 session Which will give you a fully self-contained archive of everything used in the session, so you can e.g. send it to a collaborator who may not have the same sample banks in the same place as you and it will work. git-svn-id: svn://localhost/ardour2/branches/3.0@10817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23Rename lv2_plugin_lilv.cc back to lv2_plugin.cc.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10809 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-03Remove LV2 support via SLV2 (Lilv only now).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-12Set up default and upper/lower limit correctly on LV2 portsCarl Hetherington
whose values are expressed as a fraction of the sampling rate. Should fix #3767. git-svn-id: svn://localhost/ardour2/branches/3.0@9848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-15Support compilation with (old) SLV2, or (new) Lilv and (optionally) Suil.David Robillard
Fix ticket #0004041. git-svn-id: svn://localhost/ardour2/branches/3.0@9516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14Move SLV2-independent LV2 persist state implementation to lv2_state.h.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14Completely localist use of SLV2 to lv2_plugin.cc and lv2_plugin_ui.cc.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14Make LV2World local to lv2_plugin.ccDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9513 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14Generic scale points API.David Robillard
Hide scale points implementation inside specific Plugin subclass. Don't needlessley/slowly get scale points twice for each port while building UI. Remove dependence on specific plugin types from GenericPluginUI. git-svn-id: svn://localhost/ardour2/branches/3.0@9511 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-03without drobilla's new stuff, LV2Plugin::_ui_type points to global data so ↵Paul Davis
do not try to free it git-svn-id: svn://localhost/ardour2/branches/3.0@9464 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-28Fix external UIs (e.g. Calf git).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9442 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-28Update for new SLV2 API.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9438 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24reverse debugging stuffPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24yet more temporary debugging for slv2/calf issuePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24further temporary debugging for slv2/calf issuePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9421 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-24additional temporary debugging for slv2/calf issuePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-22Use new Suil and SLV2 APIs for LV2 plugin UIs.David Robillard
Add lv2_ui.h (required by lv2_external_ui.h). git-svn-id: svn://localhost/ardour2/branches/3.0@9406 d708f5d6-7413-0410-9779-e7cbd77b26cf