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