Commit Graph

34 Commits

Author SHA1 Message Date
Robin Gareus 619d523bbe
Fix state version for copy-construction (1/2)
In some cases copying an instance requires an explicit
set_state() call (e.g. copy internal plugin state). This is
done by calling `set_state(other->get_state())`.

::get_state() produces XML as matching current_state_version.
(not loading_state_version).
2022-11-04 17:51:09 +01:00
Robin Gareus 39fd3ff62a
VST2: use new scanner 2021-07-03 19:07:26 +02:00
Robin Gareus 767d5f93ba
Fix segfault when plugin insantiation fails
*PluginInfo::load() eventually calls `plugin->set_info()`
which depends on a valid PluginPtr. The method needs to return
early if `plugin` is unset or null.
2020-11-21 22:28:48 +01:00
Paul Davis f470d3e856 remove all use of NO_PLUGIN_STATE #ifdef
We determined several years that we should never ever do this,
and changed the basis for the free/demo copy because of that.
2019-10-02 18:04:40 -06:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 41abf75077 Consolidate VST Plugin Info
This unifies common PluginManager VST code to construct *VSTPluginInfo
and also provides a dedicated is_instrument() method for VST plugins.
2018-11-07 23:37:10 +01:00
Robin Gareus 4e1464e70f Sort VST factory presets
This is more of a workaround than a fix. Simply by forcing the
URI to be sortable (VST-user presets are sorted at the end).


This eventually needs a deeper cleanup and API consolidation

PluginInfo::get_presets(bool) returns an ordered std::vector.
However this API is only used in a few cases where the plugin is
not instantiated. PluginInfo::get_presets(bool).

The problem is Plugin::get_presets(). The method returns
information that was previously cached by Plugin::find_presets() in
std::map<URI, ...>
2018-10-22 15:46:59 +02:00
Robin Gareus fd8053da9e Don't use VST ->user points, prefer host-reserved ptr
Apparently "user" is for plugins (not hosts) to use.
2017-07-08 18:13:42 +02:00
Tim Mayberry a65c3ef28f Remove unnecessary LocaleGuards from VSTPlugin derived classes
VSTPlugin::set_state and VSTPlugin::add_state methods both already contain
LocaleGuard instances.
2017-06-22 10:48:38 +10:00
Robin Gareus e1095310a8 Rework VST initialization:
Set the AEffect* plugin pointer before calling effOpen.
effOpen may call back into the host (masterCallback) and invoke
actions which depend on _plugin (eg. to call back into the plugin again)
2017-03-07 00:13:56 +01:00
Robin Gareus 126dd02c85 Set rate and blocksize for multi-instance VSTs 2017-01-13 11:29:30 +01:00
Robin Gareus ec31741ee6 copy VST state on copy construction
This fixes issues with replicate instances & plugin-analysis instances
not using the same set of parameters.
2016-11-13 16:35:06 +01:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis 17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
Robin Gareus e6e7377cd8 API evolution
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-09 15:22:16 +01:00
Robin Gareus 1973e6ec93 lxvst preset name display (user presets only) 2016-01-07 22:58:27 +01:00
Paul Davis 4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus 2e0c98c489 remaining bits for VST-shell plugin support ..and more VST rework 2014-02-23 21:11:53 +01:00
Robin Gareus cc960c4f07 remove executable mode-bit from files 2013-06-16 21:54:08 +02:00
Paul Davis 63b02a265a Revert "fix LXVST support for plugins that make audioMaster callbacks from
within effOpen (e.g. glitch)"

This patch broke just about all other LVXST plugins. Glitch is doing something
wrong, or there is more magic about VST that we have yet to understand.

This reverts commit 56bc98f78b.
2013-04-28 20:31:25 -04:00
Paul Davis 56bc98f78b fix LXVST support for plugins that make audioMaster callbacks from within effOpen (e.g. glitch) 2013-04-10 08:32:39 -04:00
Carl Hetherington 7c87036ee3 Rename linux VST files to be more friendly.
git-svn-id: svn://localhost/ardour2/branches/3.0@10808 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 19:31:04 +00:00
Carl Hetherington 8e34ec7c0e Use same VST callback for both Linux and Windows VSTs.
git-svn-id: svn://localhost/ardour2/branches/3.0@10775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 16:30:58 +00:00
Carl Hetherington d1226a8628 Push most of LXVSTPlugin and WindowsVSTPlugin up to VSTPlugin parent.
git-svn-id: svn://localhost/ardour2/branches/3.0@10773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 15:14:41 +00:00
Carl Hetherington ff98e0490d Share VSTHandle and VSTInfo between windows/linux VSTs.
git-svn-id: svn://localhost/ardour2/branches/3.0@10758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 01:28:34 +00:00
Carl Hetherington d7b38512b8 Remove VESTIGE_HEADER stuff since we will always use it.
git-svn-id: svn://localhost/ardour2/branches/3.0@10755 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 00:15:46 +00:00
Paul Davis eba4f18a92 fix a few warnings from newer versions of gcc
git-svn-id: svn://localhost/ardour2/branches/3.0@10734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 17:03:06 +00:00
Paul Davis 4085309cdb make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 13:18:47 +00:00
Paul Davis f81821c68e update vestige header; fix 64 bit issues
git-svn-id: svn://localhost/ardour2/branches/3.0@10185 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-03 19:56:30 +00:00
Paul Davis 0938a42440 fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
Carl Hetherington fa9e3b3165 Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@10124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 15:01:19 +00:00
Paul Davis 23dfd4af19 minor correction in return type cast
git-svn-id: svn://localhost/ardour2/branches/3.0@10121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-25 20:07:02 +00:00
Paul Davis 2e59536dd8 a few coding style (indentation etc.) cleanups to LX VST code
git-svn-id: svn://localhost/ardour2/branches/3.0@10102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-20 22:33:27 +00:00
Paul Davis d4433b9ab3 (native) Linux VST support from LinuxDSP
git-svn-id: svn://localhost/ardour2/branches/3.0@10101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-20 20:29:47 +00:00