Rename windows VST stuff with a Windows prefix.

git-svn-id: svn://localhost/ardour2/branches/3.0@10738 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-11-21 17:42:29 +00:00
parent 24a919ce6d
commit d9a3c6b89f
25 changed files with 226 additions and 221 deletions

View file

@ -43,7 +43,7 @@ class PluginManager : public boost::noncopyable {
~PluginManager ();
ARDOUR::PluginInfoList &vst_plugin_info ();
ARDOUR::PluginInfoList &windows_vst_plugin_info ();
ARDOUR::PluginInfoList &lxvst_plugin_info ();
ARDOUR::PluginInfoList &ladspa_plugin_info ();
ARDOUR::PluginInfoList &lv2_plugin_info ();
@ -52,7 +52,7 @@ class PluginManager : public boost::noncopyable {
void refresh ();
int add_ladspa_directory (std::string dirpath);
int add_vst_directory (std::string dirpath);
int add_windows_vst_directory (std::string dirpath);
int add_lxvst_directory (std::string dirpath);
enum PluginStatusType {
@ -95,7 +95,7 @@ class PluginManager : public boost::noncopyable {
PluginStatusList statuses;
ARDOUR::PluginInfoList _empty_plugin_info;
ARDOUR::PluginInfoList* _vst_plugin_info;
ARDOUR::PluginInfoList* _windows_vst_plugin_info;
ARDOUR::PluginInfoList* _lxvst_plugin_info;
ARDOUR::PluginInfoList* _ladspa_plugin_info;
ARDOUR::PluginInfoList* _lv2_plugin_info;
@ -104,16 +104,16 @@ class PluginManager : public boost::noncopyable {
std::map<uint32_t, std::string> rdf_type;
std::string ladspa_path;
std::string vst_path;
std::string windows_vst_path;
std::string lxvst_path;
void ladspa_refresh ();
void vst_refresh ();
void windows_vst_refresh ();
void lxvst_refresh ();
void add_lrdf_data (const std::string &path);
void add_ladspa_presets ();
void add_vst_presets ();
void add_windows_vst_presets ();
void add_lxvst_presets ();
void add_presets (std::string domain);
@ -121,8 +121,8 @@ class PluginManager : public boost::noncopyable {
void lv2_refresh ();
int vst_discover_from_path (std::string path);
int vst_discover (std::string path);
int windows_vst_discover_from_path (std::string path);
int windows_vst_discover (std::string path);
int lxvst_discover_from_path (std::string path);
int lxvst_discover (std::string path);

View file

@ -140,7 +140,7 @@ CONFIG_VARIABLE (bool, replicate_missing_region_channels, "replicate-missing-reg
CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture", true)
CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)
CONFIG_VARIABLE (bool, use_vst, "use-vst", true)
CONFIG_VARIABLE (bool, use_windows_vst, "use-windows-vst", true)
CONFIG_VARIABLE (bool, use_lxvst, "use-lxvst", true)
CONFIG_VARIABLE (bool, save_history, "save-history", true)
CONFIG_VARIABLE (int32_t, saved_history_depth, "save-history-depth", 20)

View file

@ -127,7 +127,7 @@ class Source;
class Speakers;
class TempoMap;
class Track;
class VSTPlugin;
class WindowsVSTPlugin;
extern void setup_enum_writer ();
@ -1420,14 +1420,16 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
boost::shared_ptr<Route> _master_out;
boost::shared_ptr<Route> _monitor_out;
/* VST support */
/* Windows VST support */
long _vst_callback (VSTPlugin*,
long opcode,
long index,
long value,
void* ptr,
float opt);
long _windows_vst_callback (
WindowsVSTPlugin*,
long opcode,
long index,
long value,
void* ptr,
float opt
);
/* number of hardware ports we're using,
based on max (requested,available)

View file

@ -462,7 +462,7 @@ namespace ARDOUR {
AudioUnit,
LADSPA,
LV2,
VST,
Windows_VST,
LXVST,
};

View file

@ -17,8 +17,8 @@
*/
#ifndef __ardour_vst_plugin_h__
#define __ardour_vst_plugin_h__
#ifndef __ardour_windows_vst_plugin_h__
#define __ardour_windows_vst_plugin_h__
#include <list>
#include <map>
@ -40,12 +40,12 @@ namespace ARDOUR {
class AudioEngine;
class Session;
class VSTPlugin : public ARDOUR::Plugin
class WindowsVSTPlugin : public ARDOUR::Plugin
{
public:
VSTPlugin (ARDOUR::AudioEngine&, ARDOUR::Session&, FSTHandle* handle);
VSTPlugin (const VSTPlugin &);
~VSTPlugin ();
WindowsVSTPlugin (ARDOUR::AudioEngine&, ARDOUR::Session&, FSTHandle* handle);
WindowsVSTPlugin (const WindowsVSTPlugin &);
~WindowsVSTPlugin ();
/* Plugin interface */
@ -70,7 +70,7 @@ class VSTPlugin : public ARDOUR::Plugin
pframes_t nframes, framecnt_t offset);
std::string describe_parameter (Evoral::Parameter);
std::string state_node_name() const { return "vst"; }
std::string state_node_name() const { return "windows-vst"; }
void print_parameter (uint32_t, char*, uint32_t len) const;
bool parameter_is_audio(uint32_t i) const { return false; }
@ -107,16 +107,16 @@ private:
bool been_resumed;
};
class VSTPluginInfo : public PluginInfo
class WindowsVSTPluginInfo : public PluginInfo
{
public:
VSTPluginInfo ();
~VSTPluginInfo () {}
WindowsVSTPluginInfo ();
~WindowsVSTPluginInfo () {}
PluginPtr load (Session& session);
};
typedef boost::shared_ptr<VSTPluginInfo> VSTPluginInfoPtr;
typedef boost::shared_ptr<WindowsVSTPluginInfo> WindowsVSTPluginInfoPtr;
} // namespace ARDOUR

View file

@ -37,7 +37,7 @@
#include "ardour/lv2_plugin.h"
#include "ardour/lv2_event_buffer.h"
#endif
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
#include "vestige/aeffectx.h"
#endif
@ -81,7 +81,7 @@ BufferSet::clear()
_count.reset();
_available.reset();
#if defined VST_SUPPORT || defined LXVST_SUPPORT
#if defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT
for (VSTBuffers::iterator i = _vst_buffers.begin(); i != _vst_buffers.end(); ++i) {
delete *i;
}
@ -197,7 +197,7 @@ BufferSet::ensure_buffers(DataType type, size_t num_buffers, size_t buffer_capac
}
#endif
#if defined VST_SUPPORT || defined LXVST_SUPPORT
#if defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT
// As above but for VST
if (type == DataType::MIDI) {
while (_vst_buffers.size() < _buffers[type].size()) {
@ -304,7 +304,7 @@ BufferSet::flush_lv2_midi(bool input, size_t i)
#endif /* LV2_SUPPORT */
#if defined VST_SUPPORT || defined LXVST_SUPPORT
#if defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT
VstEvents*
BufferSet::get_vst_midi (size_t b)
@ -381,7 +381,7 @@ BufferSet::VSTBuffer::push_back (Evoral::MIDIEvent<framepos_t> const & ev)
_events->numEvents++;
}
#endif /* VST_SUPPORT */
#endif /* WINDOWS_VST_SUPPORT */
/** Copy buffers of one type from `in' to this BufferSet */
void

View file

@ -306,7 +306,8 @@ setup_enum_writer ()
REGISTER_ENUM (AudioUnit);
REGISTER_ENUM (LADSPA);
REGISTER_ENUM (VST);
REGISTER_ENUM (Windows_VST);
REGISTER_ENUM (LXVST);
REGISTER (_PluginType);
REGISTER_ENUM (MTC);

View file

@ -29,7 +29,7 @@
#include <fcntl.h>
#include <errno.h>
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
#include <fst.h>
#endif
@ -241,7 +241,7 @@ lotsa_files_please ()
}
int
ARDOUR::init (bool use_vst, bool try_optimization)
ARDOUR::init (bool use_windows_vst, bool try_optimization)
{
if (!Glib::thread_supported()) {
Glib::thread_init();
@ -293,7 +293,7 @@ ARDOUR::init (bool use_vst, bool try_optimization)
return -1;
}
Config->set_use_vst (use_vst);
Config->set_use_windows_vst (use_windows_vst);
#ifdef LXVST_SUPPORT
Config->set_use_lxvst(true);
#endif
@ -301,8 +301,8 @@ ARDOUR::init (bool use_vst, bool try_optimization)
Profile = new RuntimeProfile;
#ifdef VST_SUPPORT
if (Config->get_use_vst() && fst_init (0)) {
#ifdef WINDOWS_VST_SUPPORT
if (Config->get_use_windows_vst() && fst_init (0)) {
return -1;
}
#endif
@ -386,7 +386,7 @@ ARDOUR::cleanup ()
delete Library;
lrdf_cleanup ();
delete &ControlProtocolManager::instance();
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
fst_exit ();
#endif

View file

@ -133,9 +133,9 @@ ARDOUR::find_plugin(Session& session, string identifier, PluginType type)
break;
#endif
#ifdef VST_SUPPORT
case ARDOUR::VST:
plugs = mgr.vst_plugin_info();
#ifdef WINDOWS_VST_SUPPORT
case ARDOUR::Windows_VST:
plugs = mgr.windows_vst_plugin_info();
break;
#endif
@ -163,7 +163,7 @@ ARDOUR::find_plugin(Session& session, string identifier, PluginType type)
}
}
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
/* hmm, we didn't find it. could be because in older versions of Ardour.
we used to store the name of a VST plugin, not its unique ID. so try
again.

View file

@ -42,8 +42,8 @@
#include "ardour/lv2_plugin.h"
#endif
#ifdef VST_SUPPORT
#include "ardour/vst_plugin.h"
#ifdef WINDOWS_VST_SUPPORT
#include "ardour/windows_vst_plugin.h"
#endif
#ifdef LXVST_SUPPORT
@ -609,8 +609,8 @@ PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other)
#ifdef LV2_SUPPORT
boost::shared_ptr<LV2Plugin> lv2p;
#endif
#ifdef VST_SUPPORT
boost::shared_ptr<VSTPlugin> vp;
#ifdef WINDOWS_VST_SUPPORT
boost::shared_ptr<WindowsVSTPlugin> vp;
#endif
#ifdef LXVST_SUPPORT
boost::shared_ptr<LXVSTPlugin> lxvp;
@ -625,9 +625,9 @@ PluginInsert::plugin_factory (boost::shared_ptr<Plugin> other)
} else if ((lv2p = boost::dynamic_pointer_cast<LV2Plugin> (other)) != 0) {
return boost::shared_ptr<Plugin> (new LV2Plugin (*lv2p));
#endif
#ifdef VST_SUPPORT
} else if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (other)) != 0) {
return boost::shared_ptr<Plugin> (new VSTPlugin (*vp));
#ifdef WINDOWS_VST_SUPPORT
} else if ((vp = boost::dynamic_pointer_cast<WindowsVSTPlugin> (other)) != 0) {
return boost::shared_ptr<Plugin> (new WindowsVSTPlugin (*vp));
#endif
#ifdef LXVST_SUPPORT
} else if ((lxvp = boost::dynamic_pointer_cast<LXVSTPlugin> (other)) != 0) {
@ -909,8 +909,8 @@ PluginInsert::set_state(const XMLNode& node, int version)
type = ARDOUR::LADSPA;
} else if (prop->value() == X_("lv2")) {
type = ARDOUR::LV2;
} else if (prop->value() == X_("vst")) {
type = ARDOUR::VST;
} else if (prop->value() == X_("windows-vst")) {
type = ARDOUR::Windows_VST;
} else if (prop->value() == X_("lxvst")) {
type = ARDOUR::LXVST;
} else if (prop->value() == X_("audiounit")) {
@ -925,11 +925,11 @@ PluginInsert::set_state(const XMLNode& node, int version)
prop = node.property ("unique-id");
if (prop == 0) {
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
/* older sessions contain VST plugins with only an "id" field.
*/
if (type == ARDOUR::VST) {
if (type == ARDOUR::Windows_VST) {
prop = node.property ("id");
}
#endif

View file

@ -30,11 +30,11 @@
#include <cstdlib>
#include <fstream>
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
#include <fst.h>
#include "pbd/basename.h"
#include <cstring>
#endif // VST_SUPPORT
#endif // WINDOWS_VST_SUPPORT
#ifdef LXVST_SUPPORT
#include <ardour/vstfx.h>
@ -59,8 +59,8 @@
#include "ardour/lv2_plugin.h"
#endif
#ifdef VST_SUPPORT
#include "ardour/vst_plugin.h"
#ifdef WINDOWS_VST_SUPPORT
#include "ardour/windows_vst_plugin.h"
#endif
#ifdef LXVST_SUPPORT
@ -93,7 +93,7 @@ PluginManager::instance()
}
PluginManager::PluginManager ()
: _vst_plugin_info(0)
: _windows_vst_plugin_info(0)
, _lxvst_plugin_info(0)
, _ladspa_plugin_info(0)
, _lv2_plugin_info(0)
@ -114,11 +114,11 @@ PluginManager::PluginManager ()
add_lrdf_data(lrdf_path);
add_ladspa_presets();
#ifdef VST_SUPPORT
if (Config->get_use_vst()) {
add_vst_presets();
#ifdef WINDOWS_VST_SUPPORT
if (Config->get_use_windows_vst ()) {
add_windows_vst_presets ();
}
#endif /* VST_SUPPORT */
#endif /* WINDOWS_VST_SUPPORT */
#ifdef LXVST_SUPPORT
if (Config->get_use_lxvst()) {
@ -131,9 +131,9 @@ PluginManager::PluginManager ()
}
if ((s = getenv ("VST_PATH"))) {
vst_path = s;
windows_vst_path = s;
} else if ((s = getenv ("VST_PLUGINS"))) {
vst_path = s;
windows_vst_path = s;
}
if ((s = getenv ("LXVST_PATH"))) {
@ -176,11 +176,11 @@ PluginManager::refresh ()
#ifdef LV2_SUPPORT
lv2_refresh ();
#endif
#ifdef VST_SUPPORT
if (Config->get_use_vst()) {
vst_refresh ();
#ifdef WINDOWS_VST_SUPPORT
if (Config->get_use_windows_vst()) {
windows_vst_refresh ();
}
#endif // VST_SUPPORT
#endif // WINDOWS_VST_SUPPORT
#ifdef LXVST_SUPPORT
if(Config->get_use_lxvst()) {
@ -300,9 +300,9 @@ PluginManager::add_ladspa_presets()
}
void
PluginManager::add_vst_presets()
PluginManager::add_windows_vst_presets()
{
add_presets ("vst");
add_presets ("windows-vst");
}
void
@ -526,35 +526,36 @@ PluginManager::au_refresh ()
#endif
#ifdef VST_SUPPORT
#ifdef WINDOWS_VST_SUPPORT
void
PluginManager::vst_refresh ()
PluginManager::windows_vst_refresh ()
{
if (_vst_plugin_info)
_vst_plugin_info->clear ();
else
_vst_plugin_info = new ARDOUR::PluginInfoList();
if (vst_path.length() == 0) {
vst_path = "/usr/local/lib/vst:/usr/lib/vst";
if (_windows_vst_plugin_info) {
_windows_vst_plugin_info->clear ();
} else {
_windows_vst_plugin_info = new ARDOUR::PluginInfoList();
}
vst_discover_from_path (vst_path);
if (windows_vst_path.length() == 0) {
windows_vst_path = "/usr/local/lib/vst:/usr/lib/vst";
}
windows_vst_discover_from_path (windows_vst_path);
}
int
PluginManager::add_vst_directory (string path)
PluginManager::add_windows_vst_directory (string path)
{
if (vst_discover_from_path (path) == 0) {
vst_path += ':';
vst_path += path;
if (windows_vst_discover_from_path (path) == 0) {
windows_vst_path += ':';
windows_vst_path += path;
return 0;
}
return -1;
}
static bool vst_filter (const string& str, void *arg)
static bool windows_vst_filter (const string& str, void *arg)
{
/* Not a dotfile, has a prefix before a period, suffix is "dll" */
@ -562,20 +563,20 @@ static bool vst_filter (const string& str, void *arg)
}
int
PluginManager::vst_discover_from_path (string path)
PluginManager::windows_vst_discover_from_path (string path)
{
PathScanner scanner;
vector<string *> *plugin_objects;
vector<string *>::iterator x;
int ret = 0;
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting VST plugins along %1\n", path));
DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting Windows VST plugins along %1\n", path));
plugin_objects = scanner (vst_path, vst_filter, 0, false, true);
plugin_objects = scanner (windows_vst_path, windows_vst_filter, 0, false, true);
if (plugin_objects) {
for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) {
vst_discover (**x);
windows_vst_discover (**x);
}
}
@ -584,13 +585,13 @@ PluginManager::vst_discover_from_path (string path)
}
int
PluginManager::vst_discover (string path)
PluginManager::windows_vst_discover (string path)
{
FSTInfo* finfo;
char buf[32];
if ((finfo = fst_get_info (const_cast<char *> (path.c_str()))) == 0) {
warning << "Cannot get VST information from " << path << endmsg;
warning << "Cannot get Windows VST information from " << path << endmsg;
return -1;
}
@ -600,7 +601,7 @@ PluginManager::vst_discover (string path)
<< endl;
}
PluginInfoPtr info(new VSTPluginInfo);
PluginInfoPtr info (new WindowsVSTPluginInfo);
/* what a joke freeware VST is */
@ -620,15 +621,15 @@ PluginManager::vst_discover (string path)
info->n_inputs.set_audio (finfo->numInputs);
info->n_outputs.set_audio (finfo->numOutputs);
info->n_inputs.set_midi (finfo->wantMidi ? 1 : 0);
info->type = ARDOUR::VST;
info->type = ARDOUR::Windows_VST;
_vst_plugin_info->push_back (info);
_windows_vst_plugin_info->push_back (info);
fst_free_info (finfo);
return 0;
}
#endif // VST_SUPPORT
#endif // WINDOWS_VST_SUPPORT
#ifdef LXVST_SUPPORT
@ -786,8 +787,8 @@ PluginManager::save_statuses ()
case LV2:
ofs << "LV2";
break;
case VST:
ofs << "VST";
case Windows_VST:
ofs << "Windows-VST";
break;
case LXVST:
ofs << "LXVST";
@ -874,8 +875,8 @@ PluginManager::load_statuses ()
type = AudioUnit;
} else if (stype == "LV2") {
type = LV2;
} else if (stype == "VST") {
type = VST;
} else if (stype == "Windows-VST") {
type = Windows_VST;
} else if (stype == "LXVST") {
type = LXVST;
} else {
@ -906,12 +907,13 @@ PluginManager::set_status (PluginType t, string id, PluginStatusType status)
}
ARDOUR::PluginInfoList&
PluginManager::vst_plugin_info ()
PluginManager::windows_vst_plugin_info ()
{
#ifdef VST_SUPPORT
if (!_vst_plugin_info)
vst_refresh();
return *_vst_plugin_info;
#ifdef WINDOWS_VST_SUPPORT
if (!_windows_vst_plugin_info) {
windows_vst_refresh ();
}
return *_windows_vst_plugin_info;
#else
return _empty_plugin_info;
#endif

View file

@ -38,8 +38,8 @@
#include "ardour/port_insert.h"
#include "ardour/plugin_insert.h"
#ifdef VST_SUPPORT
#include "ardour/vst_plugin.h"
#ifdef WINDOWS_VST_SUPPORT
#include "ardour/windows_vst_plugin.h"
#endif
#ifdef AUDIOUNIT_SUPPORT

View file

@ -25,7 +25,7 @@
#include "ardour/session.h"
#include "ardour/tempo.h"
#include "ardour/vst_plugin.h"
#include "ardour/windows_vst_plugin.h"
#include "i18n.h"
@ -48,7 +48,7 @@ long Session::vst_callback (AEffect* effect,
float opt)
{
static VstTimeInfo _timeInfo;
VSTPlugin* plug;
WindowsVSTPlugin* plug;
Session* session;
if (debug_callbacks < 0) {
@ -56,7 +56,7 @@ long Session::vst_callback (AEffect* effect,
}
if (effect && effect->user) {
plug = (VSTPlugin*) (effect->user);
plug = (WindowsVSTPlugin*) (effect->user);
session = &plug->session();
SHOW_CALLBACK ("am callback 0x%x, opcode = %ld, plugin = \"%s\" ", (int) pthread_self(), opcode, plug->name());
} else {

View file

@ -45,7 +45,7 @@
#include "ardour/session.h"
#include "ardour/audioengine.h"
#include "ardour/filesystem_paths.h"
#include "ardour/vst_plugin.h"
#include "ardour/windows_vst_plugin.h"
#include "ardour/buffer_set.h"
#include "ardour/audio_buffer.h"
#include "ardour/midi_buffer.h"
@ -61,7 +61,7 @@ using namespace PBD;
using std::min;
using std::max;
VSTPlugin::VSTPlugin (AudioEngine& e, Session& session, FSTHandle* h)
WindowsVSTPlugin::WindowsVSTPlugin (AudioEngine& e, Session& session, FSTHandle* h)
: Plugin (e, session)
{
handle = h;
@ -87,7 +87,7 @@ VSTPlugin::VSTPlugin (AudioEngine& e, Session& session, FSTHandle* h)
// Plugin::setup_controls ();
}
VSTPlugin::VSTPlugin (const VSTPlugin &other)
WindowsVSTPlugin::WindowsVSTPlugin (const WindowsVSTPlugin &other)
: Plugin (other)
{
handle = other.handle;
@ -100,14 +100,14 @@ VSTPlugin::VSTPlugin (const VSTPlugin &other)
// Plugin::setup_controls ();
}
VSTPlugin::~VSTPlugin ()
WindowsVSTPlugin::~WindowsVSTPlugin ()
{
deactivate ();
fst_close (_fst);
}
int
VSTPlugin::set_block_size (pframes_t nframes)
WindowsVSTPlugin::set_block_size (pframes_t nframes)
{
deactivate ();
_plugin->dispatcher (_plugin, effSetBlockSize, 0, nframes, NULL, 0.0f);
@ -116,13 +116,13 @@ VSTPlugin::set_block_size (pframes_t nframes)
}
float
VSTPlugin::default_value (uint32_t port)
WindowsVSTPlugin::default_value (uint32_t port)
{
return 0;
}
void
VSTPlugin::set_parameter (uint32_t which, float val)
WindowsVSTPlugin::set_parameter (uint32_t which, float val)
{
_plugin->setParameter (_plugin, which, val);
@ -137,14 +137,14 @@ VSTPlugin::set_parameter (uint32_t which, float val)
}
float
VSTPlugin::get_parameter (uint32_t which) const
WindowsVSTPlugin::get_parameter (uint32_t which) const
{
return _plugin->getParameter (_plugin, which);
}
uint32_t
VSTPlugin::nth_parameter (uint32_t n, bool& ok) const
WindowsVSTPlugin::nth_parameter (uint32_t n, bool& ok) const
{
ok = true;
return n;
@ -155,7 +155,7 @@ VSTPlugin::nth_parameter (uint32_t n, bool& ok) const
* @return 0-terminated base64-encoded data; must be passed to g_free () by caller.
*/
gchar *
VSTPlugin::get_chunk (bool single) const
WindowsVSTPlugin::get_chunk (bool single) const
{
guchar* data;
int32_t data_size = _plugin->dispatcher (_plugin, 23 /* effGetChunk */, single ? 1 : 0, 0, &data, 0);
@ -172,7 +172,7 @@ VSTPlugin::get_chunk (bool single) const
* @return 0 on success, non-0 on failure
*/
int
VSTPlugin::set_chunk (gchar const * data, bool single)
WindowsVSTPlugin::set_chunk (gchar const * data, bool single)
{
gsize size = 0;
guchar* raw_data = g_base64_decode (data, &size);
@ -182,7 +182,7 @@ VSTPlugin::set_chunk (gchar const * data, bool single)
}
void
VSTPlugin::add_state (XMLNode* root) const
WindowsVSTPlugin::add_state (XMLNode* root) const
{
LocaleGuard lg (X_("POSIX"));
@ -225,12 +225,12 @@ VSTPlugin::add_state (XMLNode* root) const
}
int
VSTPlugin::set_state (const XMLNode& node, int version)
WindowsVSTPlugin::set_state (const XMLNode& node, int version)
{
LocaleGuard lg (X_("POSIX"));
if (node.name() != state_node_name()) {
error << _("Bad node sent to VSTPlugin::set_state") << endmsg;
error << _("Bad node sent to WindowsVSTPlugin::set_state") << endmsg;
return 0;
}
@ -285,7 +285,7 @@ VSTPlugin::set_state (const XMLNode& node, int version)
}
int
VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) const
WindowsVSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc) const
{
VstParameterProperties prop;
@ -359,7 +359,7 @@ VSTPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor& desc)
}
bool
VSTPlugin::load_preset (PresetRecord r)
WindowsVSTPlugin::load_preset (PresetRecord r)
{
bool s;
@ -377,7 +377,7 @@ VSTPlugin::load_preset (PresetRecord r)
}
bool
VSTPlugin::load_plugin_preset (PresetRecord r)
WindowsVSTPlugin::load_plugin_preset (PresetRecord r)
{
/* This is a plugin-provided preset.
We can't dispatch directly here; too many plugins expects only one GUI thread.
@ -394,7 +394,7 @@ VSTPlugin::load_plugin_preset (PresetRecord r)
}
bool
VSTPlugin::load_user_preset (PresetRecord r)
WindowsVSTPlugin::load_user_preset (PresetRecord r)
{
/* This is a user preset; we load it, and this code also knows about the
non-direct-dispatch thing.
@ -464,7 +464,7 @@ VSTPlugin::load_user_preset (PresetRecord r)
}
string
VSTPlugin::do_save_preset (string name)
WindowsVSTPlugin::do_save_preset (string name)
{
boost::shared_ptr<XMLTree> t (presets_tree ());
if (t == 0) {
@ -512,7 +512,7 @@ VSTPlugin::do_save_preset (string name)
}
void
VSTPlugin::do_remove_preset (string name)
WindowsVSTPlugin::do_remove_preset (string name)
{
boost::shared_ptr<XMLTree> t (presets_tree ());
if (t == 0) {
@ -529,7 +529,7 @@ VSTPlugin::do_remove_preset (string name)
}
string
VSTPlugin::describe_parameter (Evoral::Parameter param)
WindowsVSTPlugin::describe_parameter (Evoral::Parameter param)
{
char name[64];
_plugin->dispatcher (_plugin, effGetParamName, param.id(), 0, name, 0);
@ -537,7 +537,7 @@ VSTPlugin::describe_parameter (Evoral::Parameter param)
}
framecnt_t
VSTPlugin::signal_latency () const
WindowsVSTPlugin::signal_latency () const
{
if (_user_latency) {
return _user_latency;
@ -551,7 +551,7 @@ VSTPlugin::signal_latency () const
}
set<Evoral::Parameter>
VSTPlugin::automatable () const
WindowsVSTPlugin::automatable () const
{
set<Evoral::Parameter> ret;
@ -563,7 +563,7 @@ VSTPlugin::automatable () const
}
int
VSTPlugin::connect_and_run (BufferSet& bufs,
WindowsVSTPlugin::connect_and_run (BufferSet& bufs,
ChanMapping in_map, ChanMapping out_map,
pframes_t nframes, framecnt_t offset)
{
@ -607,19 +607,19 @@ VSTPlugin::connect_and_run (BufferSet& bufs,
}
void
VSTPlugin::deactivate ()
WindowsVSTPlugin::deactivate ()
{
_plugin->dispatcher (_plugin, effMainsChanged, 0, 0, NULL, 0.0f);
}
void
VSTPlugin::activate ()
WindowsVSTPlugin::activate ()
{
_plugin->dispatcher (_plugin, effMainsChanged, 0, 1, NULL, 0.0f);
}
string
VSTPlugin::unique_id() const
WindowsVSTPlugin::unique_id() const
{
char buf[32];
@ -633,37 +633,37 @@ VSTPlugin::unique_id() const
const char *
VSTPlugin::name () const
WindowsVSTPlugin::name () const
{
return handle->name;
}
const char *
VSTPlugin::maker () const
WindowsVSTPlugin::maker () const
{
return _info->creator.c_str();
}
const char *
VSTPlugin::label () const
WindowsVSTPlugin::label () const
{
return handle->name;
}
uint32_t
VSTPlugin::parameter_count() const
WindowsVSTPlugin::parameter_count() const
{
return _plugin->numParams;
}
bool
VSTPlugin::has_editor () const
WindowsVSTPlugin::has_editor () const
{
return _plugin->flags & effFlagsHasEditor;
}
void
VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
WindowsVSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
{
char *first_nonws;
@ -685,12 +685,12 @@ VSTPlugin::print_parameter (uint32_t param, char *buf, uint32_t len) const
}
PluginPtr
VSTPluginInfo::load (Session& session)
WindowsVSTPluginInfo::load (Session& session)
{
try {
PluginPtr plugin;
if (Config->get_use_vst()) {
if (Config->get_use_windows_vst ()) {
FSTHandle* handle;
handle = fst_load(path.c_str());
@ -698,14 +698,14 @@ VSTPluginInfo::load (Session& session)
if ( (int)handle == -1) {
error << string_compose(_("VST: cannot load module from \"%1\""), path) << endmsg;
} else {
plugin.reset (new VSTPlugin (session.engine(), session, handle));
plugin.reset (new WindowsVSTPlugin (session.engine(), session, handle));
}
} else {
error << _("You asked ardour to not use any VST plugins") << endmsg;
return PluginPtr ((Plugin*) 0);
}
plugin->set_info(PluginInfoPtr(new VSTPluginInfo(*this)));
plugin->set_info(PluginInfoPtr(new WindowsVSTPluginInfo(*this)));
return plugin;
}
@ -715,7 +715,7 @@ VSTPluginInfo::load (Session& session)
}
void
VSTPlugin::find_presets ()
WindowsVSTPlugin::find_presets ()
{
/* Built-in presets */
@ -762,7 +762,7 @@ VSTPlugin::find_presets ()
* one was found, or 0 if one was present but badly-formatted.
*/
XMLTree *
VSTPlugin::presets_tree () const
WindowsVSTPlugin::presets_tree () const
{
XMLTree* t = new XMLTree;
@ -776,7 +776,7 @@ VSTPlugin::presets_tree () const
p /= presets_file ();
if (!exists (p)) {
t->set_root (new XMLNode (X_("VSTPresets")));
t->set_root (new XMLNode (X_("WindowsVSTPresets")));
return t;
}
@ -791,19 +791,19 @@ VSTPlugin::presets_tree () const
/** @return Index of the first user preset in our lists */
int
VSTPlugin::first_user_preset_index () const
WindowsVSTPlugin::first_user_preset_index () const
{
return _plugin->numPrograms;
}
string
VSTPlugin::presets_file () const
WindowsVSTPlugin::presets_file () const
{
return string_compose ("vst-%1", unique_id ());
}
VSTPluginInfo::VSTPluginInfo()
WindowsVSTPluginInfo::WindowsVSTPluginInfo()
{
type = ARDOUR::VST;
type = ARDOUR::Windows_VST;
}

View file

@ -383,10 +383,10 @@ def build(bld):
if bld.is_defined('HAVE_SUIL'):
obj.uselib += ['SUIL']
if bld.is_defined('VST_SUPPORT'):
obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ]
if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj.source += [ 'windows_vst_plugin.cc', 'session_vst.cc' ]
obj.includes += [ '../fst' ]
obj.defines += [ 'VST_SUPPORT' ]
obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
if bld.is_defined('LXVST_SUPPORT'):
obj.source += [ 'lxvst_plugin.cc', 'session_lxvst.cc', 'vstfx.cc', 'vstfxinfofile.cc' ]