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

@ -452,9 +452,9 @@ sigpipe_handler (int /*signal*/)
void close_external_ui_windows(); void close_external_ui_windows();
#endif #endif
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
extern int gui_init (int* argc, char** argv[]); extern int windows_vst_gui_init (int* argc, char** argv[]);
/* this is called from the entry point of a wine-compiled /* this is called from the entry point of a wine-compiled
executable that is linked against gtk2_ardour built executable that is linked against gtk2_ardour built
@ -474,11 +474,11 @@ int main (int argc, char *argv[])
gtk_set_locale (); gtk_set_locale ();
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
/* this does some magic that is needed to make GTK and Wine's own /* this does some magic that is needed to make GTK and Wine's own
X11 client interact properly. X11 client interact properly.
*/ */
gui_init (&argc, &argv); windows_vst_gui_init (&argc, &argv);
#endif #endif
(void) bindtextdomain (PACKAGE, localedir); (void) bindtextdomain (PACKAGE, localedir);
@ -564,7 +564,7 @@ int main (int argc, char *argv[])
#endif #endif
return 0; return 0;
} }
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
} // end of extern C block } // end of extern C block
#endif #endif

View file

@ -66,7 +66,7 @@ print_help (const char *execname)
<< _(" -N, --new session-name Create a new session from the command line\n") << _(" -N, --new session-name Create a new session from the command line\n")
<< _(" -O, --no-hw-optimizations Disable h/w specific optimizations\n") << _(" -O, --no-hw-optimizations Disable h/w specific optimizations\n")
<< _(" -S, --sync Draw the gui synchronously \n") << _(" -S, --sync Draw the gui synchronously \n")
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
<< _(" -V, --novst Do not use VST support\n") << _(" -V, --novst Do not use VST support\n")
#endif #endif
<< _(" -E, --save <file> Load the specified session, save it to <file> and then quit\n") << _(" -E, --save <file> Load the specified session, save it to <file> and then quit\n")
@ -184,9 +184,9 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
break; break;
case 'V': case 'V':
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
use_vst = false; use_vst = false;
#endif /* VST_SUPPORT */ #endif /* WINDOWS_VST_SUPPORT */
break; break;
case 'c': case 'c':

View file

@ -238,7 +238,7 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
case LV2: case LV2:
compstr = X_("LV2"); compstr = X_("LV2");
break; break;
case VST: case Windows_VST:
compstr = X_("VST"); compstr = X_("VST");
break; break;
case LXVST: case LXVST:
@ -351,14 +351,14 @@ PluginSelector::lv2_refiller (const std::string& filterstr)
} }
void void
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
PluginSelector::vst_refiller (const std::string& filterstr) PluginSelector::vst_refiller (const std::string& filterstr)
#else #else
PluginSelector::vst_refiller (const std::string&) PluginSelector::vst_refiller (const std::string&)
#endif #endif
{ {
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
refiller (manager.vst_plugin_info(), filterstr, "VST"); refiller (manager.windows_vst_plugin_info(), filterstr, "VST");
#endif #endif
} }
@ -599,8 +599,8 @@ PluginSelector::build_plugin_menu ()
PluginInfoList all_plugs; PluginInfoList all_plugs;
all_plugs.insert (all_plugs.end(), manager.ladspa_plugin_info().begin(), manager.ladspa_plugin_info().end()); all_plugs.insert (all_plugs.end(), manager.ladspa_plugin_info().begin(), manager.ladspa_plugin_info().end());
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
all_plugs.insert (all_plugs.end(), manager.vst_plugin_info().begin(), manager.vst_plugin_info().end()); all_plugs.insert (all_plugs.end(), manager.windows_vst_plugin_info().begin(), manager.windows_vst_plugin_info().end());
#endif #endif
#ifdef LXVST_SUPPORT #ifdef LXVST_SUPPORT
all_plugs.insert (all_plugs.end(), manager.lxvst_plugin_info().begin(), manager.lxvst_plugin_info().end()); all_plugs.insert (all_plugs.end(), manager.lxvst_plugin_info().begin(), manager.lxvst_plugin_info().end());

View file

@ -46,9 +46,9 @@
#include "ardour/plugin.h" #include "ardour/plugin.h"
#include "ardour/plugin_insert.h" #include "ardour/plugin_insert.h"
#include "ardour/ladspa_plugin.h" #include "ardour/ladspa_plugin.h"
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
#include "ardour/vst_plugin.h" #include "ardour/windows_vst_plugin.h"
#include "vst_pluginui.h" #include "windows_vst_plugin_ui.h"
#endif #endif
#ifdef LXVST_SUPPORT #ifdef LXVST_SUPPORT
#include "ardour/lxvst_plugin.h" #include "ardour/lxvst_plugin.h"
@ -99,8 +99,8 @@ PluginUIWindow::PluginUIWindow (
<< " editor: " << editor << std::endl; << " editor: " << editor << std::endl;
if (editor && insert->plugin()->has_editor()) { if (editor && insert->plugin()->has_editor()) {
switch (insert->type()) { switch (insert->type()) {
case ARDOUR::VST: case ARDOUR::Windows_VST:
have_gui = create_vst_editor (insert); have_gui = create_windows_vst_editor (insert);
break; break;
case ARDOUR::LXVST: case ARDOUR::LXVST:
@ -120,7 +120,7 @@ PluginUIWindow::PluginUIWindow (
break; break;
default: default:
#ifndef VST_SUPPORT #ifndef WINDOWS_VST_SUPPORT
error << _("unknown type of editor-supplying plugin (note: no VST support in this version of ardour)") error << _("unknown type of editor-supplying plugin (note: no VST support in this version of ardour)")
<< endmsg; << endmsg;
#else #else
@ -253,24 +253,24 @@ PluginUIWindow::set_title(const std::string& title)
} }
bool bool
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
PluginUIWindow::create_vst_editor(boost::shared_ptr<PluginInsert> insert) PluginUIWindow::create_windows_vst_editor(boost::shared_ptr<PluginInsert> insert)
#else #else
PluginUIWindow::create_vst_editor(boost::shared_ptr<PluginInsert>) PluginUIWindow::create_windows_vst_editor(boost::shared_ptr<PluginInsert>)
#endif #endif
{ {
#ifndef VST_SUPPORT #ifndef WINDOWS_VST_SUPPORT
return false; return false;
#else #else
boost::shared_ptr<VSTPlugin> vp; boost::shared_ptr<WindowsVSTPlugin> vp;
if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (insert->plugin())) == 0) { if ((vp = boost::dynamic_pointer_cast<WindowsVSTPlugin> (insert->plugin())) == 0) {
error << _("unknown type of editor-supplying plugin (note: no VST support in this version of ardour)") error << _("unknown type of editor-supplying plugin (note: no VST support in this version of ardour)")
<< endmsg; << endmsg;
throw failed_constructor (); throw failed_constructor ();
} else { } else {
VSTPluginUI* vpu = new VSTPluginUI (insert, vp); WindowsVSTPluginUI* vpu = new WindowsVSTPluginUI (insert, vp);
_pluginui = vpu; _pluginui = vpu;
_pluginui->KeyboardFocused.connect (sigc::mem_fun (*this, &PluginUIWindow::keyboard_focused)); _pluginui->KeyboardFocused.connect (sigc::mem_fun (*this, &PluginUIWindow::keyboard_focused));

View file

@ -53,7 +53,7 @@
namespace ARDOUR { namespace ARDOUR {
class PluginInsert; class PluginInsert;
class Plugin; class Plugin;
class VSTPlugin; class WindowsVSTPlugin;
class LXVSTPlugin; class LXVSTPlugin;
class IOProcessor; class IOProcessor;
class AUPlugin; class AUPlugin;
@ -297,7 +297,7 @@ class PluginUIWindow : public Gtk::Window
void app_activated (bool); void app_activated (bool);
void plugin_going_away (); void plugin_going_away ();
bool create_vst_editor (boost::shared_ptr<ARDOUR::PluginInsert>); bool create_windows_vst_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
bool create_lxvst_editor(boost::shared_ptr<ARDOUR::PluginInsert>); bool create_lxvst_editor(boost::shared_ptr<ARDOUR::PluginInsert>);
bool create_audiounit_editor (boost::shared_ptr<ARDOUR::PluginInsert>); bool create_audiounit_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
bool create_lv2_editor (boost::shared_ptr<ARDOUR::PluginInsert>); bool create_lv2_editor (boost::shared_ptr<ARDOUR::PluginInsert>);

View file

@ -21,9 +21,9 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtksocket.h> #include <gtk/gtksocket.h>
#include "ardour/plugin_insert.h" #include "ardour/plugin_insert.h"
#include "ardour/vst_plugin.h" #include "ardour/windows_vst_plugin.h"
#include "vst_pluginui.h" #include "windows_vst_plugin_ui.h"
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
@ -31,7 +31,7 @@ using namespace Gtk;
using namespace ARDOUR; using namespace ARDOUR;
using namespace PBD; using namespace PBD;
VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<VSTPlugin> vp) WindowsVSTPluginUI::WindowsVSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<WindowsVSTPlugin> vp)
: PlugUIBase (pi), : PlugUIBase (pi),
vst (vp) vst (vp)
{ {
@ -53,37 +53,37 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<
pack_start (plugin_analysis_expander, true, true); pack_start (plugin_analysis_expander, true, true);
} }
VSTPluginUI::~VSTPluginUI () WindowsVSTPluginUI::~WindowsVSTPluginUI ()
{ {
// plugin destructor destroys the custom GUI, via Windows fun-and-games, // plugin destructor destroys the custom GUI, via Windows fun-and-games,
// and then our PluginUIWindow does the rest // and then our PluginUIWindow does the rest
} }
void void
VSTPluginUI::preset_selected () WindowsVSTPluginUI::preset_selected ()
{ {
socket.grab_focus (); socket.grab_focus ();
PlugUIBase::preset_selected (); PlugUIBase::preset_selected ();
} }
int int
VSTPluginUI::get_preferred_height () WindowsVSTPluginUI::get_preferred_height ()
{ {
return vst->fst()->height; return vst->fst()->height;
} }
int int
VSTPluginUI::get_preferred_width () WindowsVSTPluginUI::get_preferred_width ()
{ {
return vst->fst()->width; return vst->fst()->width;
} }
int int
VSTPluginUI::package (Gtk::Window& win) WindowsVSTPluginUI::package (Gtk::Window& win)
{ {
/* forward configure events to plugin window */ /* forward configure events to plugin window */
win.signal_configure_event().connect (sigc::bind (sigc::mem_fun (*this, &VSTPluginUI::configure_handler), &socket), false); win.signal_configure_event().connect (sigc::bind (sigc::mem_fun (*this, &WindowsVSTPluginUI::configure_handler), &socket), false);
/* /*
this assumes that the window's owner understands the XEmbed protocol. this assumes that the window's owner understands the XEmbed protocol.
@ -97,7 +97,7 @@ VSTPluginUI::package (Gtk::Window& win)
} }
bool bool
VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket) WindowsVSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
{ {
XEvent event; XEvent event;
gint x, y; gint x, y;
@ -136,7 +136,7 @@ VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
} }
void void
VSTPluginUI::forward_key_event (GdkEventKey* ev) WindowsVSTPluginUI::forward_key_event (GdkEventKey* ev)
{ {
if (ev->type == GDK_KEY_PRESS) { if (ev->type == GDK_KEY_PRESS) {
@ -199,7 +199,7 @@ fst_xerror_handler( Display *disp, XErrorEvent *ev )
} }
void void
gui_init (int *argc, char **argv[]) windows_vst_gui_init (int *argc, char **argv[])
{ {
wine_error_handler = XSetErrorHandler (NULL); wine_error_handler = XSetErrorHandler (NULL);
gtk_init (argc, argv); gtk_init (argc, argv);

View file

@ -19,11 +19,11 @@
#include "plugin_ui.h" #include "plugin_ui.h"
class VSTPluginUI : public PlugUIBase, public Gtk::VBox class WindowsVSTPluginUI : public PlugUIBase, public Gtk::VBox
{ {
public: public:
VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::VSTPlugin>); WindowsVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::WindowsVSTPlugin>);
~VSTPluginUI (); ~WindowsVSTPluginUI ();
gint get_preferred_height (); gint get_preferred_height ();
gint get_preferred_width (); gint get_preferred_width ();
@ -36,7 +36,7 @@ class VSTPluginUI : public PlugUIBase, public Gtk::VBox
bool non_gtk_gui () const { return true; } bool non_gtk_gui () const { return true; }
private: private:
boost::shared_ptr<ARDOUR::VSTPlugin> vst; boost::shared_ptr<ARDOUR::WindowsVSTPlugin> vst;
Gtk::Socket socket; Gtk::Socket socket;
Gtk::HBox preset_box; Gtk::HBox preset_box;
Gtk::VBox vpacker; Gtk::VBox vpacker;

View file

@ -345,7 +345,7 @@ def build_color_scheme(path, prefix):
def build(bld): def build(bld):
# GTK front-end; if we're using VST we build this as a shared library, # GTK front-end; if we're using VST we build this as a shared library,
# otherwise it's a normal executabale # otherwise it's a normal executabale
if bld.is_defined('VST_SUPPORT'): if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj = bld(features = 'cxx c cxxshlib') obj = bld(features = 'cxx c cxxshlib')
else: else:
obj = bld(features = 'cxx c cxxprogram') obj = bld(features = 'cxx c cxxprogram')
@ -354,7 +354,7 @@ def build(bld):
obj.source = gtk2_ardour_sources obj.source = gtk2_ardour_sources
obj.name = 'gtk2_ardour' obj.name = 'gtk2_ardour'
obj.linkflags = [] obj.linkflags = []
if bld.is_defined('VST_SUPPORT'): if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj.target = 'gtk2_ardour' obj.target = 'gtk2_ardour'
obj.includes += ['../libs/fst'] obj.includes += ['../libs/fst']
else: else:
@ -392,9 +392,9 @@ def build(bld):
obj.source += [ 'sfdb_freesound_mootcher.cc' ] obj.source += [ 'sfdb_freesound_mootcher.cc' ]
obj.defines += [ 'FREESOUND' ] obj.defines += [ 'FREESOUND' ]
if bld.is_defined('VST_SUPPORT'): if bld.is_defined('WINDOWS_VST_SUPPORT'):
obj.source += [ 'vst_pluginui.cc' ] obj.source += [ 'windows_vst_plugin_ui.cc' ]
obj.defines += [ 'VST_SUPPORT' ] obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
obj.uselib += ' X11 ' obj.uselib += ' X11 '
if bld.is_defined('LXVST_SUPPORT'): if bld.is_defined('LXVST_SUPPORT'):
@ -410,7 +410,7 @@ def build(bld):
obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ] obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ]
obj.use += ' libappleutility ' obj.use += ' libappleutility '
if bld.is_defined('VST_SUPPORT'): if bld.is_defined('WINDOWS_VST_SUPPORT'):
# If we require VST support we build a stub main() and the FST library # If we require VST support we build a stub main() and the FST library
# here using winegcc, and link it to the GTK front-end library # here using winegcc, and link it to the GTK front-end library
obj = bld(features = 'cxx c cxxprogram wine') obj = bld(features = 'cxx c cxxprogram wine')
@ -423,7 +423,7 @@ def build(bld):
''' '''
obj.includes = '../libs/fst' obj.includes = '../libs/fst'
obj.target = 'ardour-3.0-vst' obj.target = 'ardour-3.0-vst'
obj.linkflags += ['-mwindows', '-Wl,--export-dynamic', '-lpthread'] obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread']
obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX'] obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
obj.uselib = 'ALSA' obj.uselib = 'ALSA'
obj.use = ['libpbd','libmidipp','libtaglib','libardour', obj.use = ['libpbd','libmidipp','libtaglib','libardour',

View file

@ -43,7 +43,7 @@ class PluginManager : public boost::noncopyable {
~PluginManager (); ~PluginManager ();
ARDOUR::PluginInfoList &vst_plugin_info (); ARDOUR::PluginInfoList &windows_vst_plugin_info ();
ARDOUR::PluginInfoList &lxvst_plugin_info (); ARDOUR::PluginInfoList &lxvst_plugin_info ();
ARDOUR::PluginInfoList &ladspa_plugin_info (); ARDOUR::PluginInfoList &ladspa_plugin_info ();
ARDOUR::PluginInfoList &lv2_plugin_info (); ARDOUR::PluginInfoList &lv2_plugin_info ();
@ -52,7 +52,7 @@ class PluginManager : public boost::noncopyable {
void refresh (); void refresh ();
int add_ladspa_directory (std::string dirpath); 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); int add_lxvst_directory (std::string dirpath);
enum PluginStatusType { enum PluginStatusType {
@ -95,7 +95,7 @@ class PluginManager : public boost::noncopyable {
PluginStatusList statuses; PluginStatusList statuses;
ARDOUR::PluginInfoList _empty_plugin_info; ARDOUR::PluginInfoList _empty_plugin_info;
ARDOUR::PluginInfoList* _vst_plugin_info; ARDOUR::PluginInfoList* _windows_vst_plugin_info;
ARDOUR::PluginInfoList* _lxvst_plugin_info; ARDOUR::PluginInfoList* _lxvst_plugin_info;
ARDOUR::PluginInfoList* _ladspa_plugin_info; ARDOUR::PluginInfoList* _ladspa_plugin_info;
ARDOUR::PluginInfoList* _lv2_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::map<uint32_t, std::string> rdf_type;
std::string ladspa_path; std::string ladspa_path;
std::string vst_path; std::string windows_vst_path;
std::string lxvst_path; std::string lxvst_path;
void ladspa_refresh (); void ladspa_refresh ();
void vst_refresh (); void windows_vst_refresh ();
void lxvst_refresh (); void lxvst_refresh ();
void add_lrdf_data (const std::string &path); void add_lrdf_data (const std::string &path);
void add_ladspa_presets (); void add_ladspa_presets ();
void add_vst_presets (); void add_windows_vst_presets ();
void add_lxvst_presets (); void add_lxvst_presets ();
void add_presets (std::string domain); void add_presets (std::string domain);
@ -121,8 +121,8 @@ class PluginManager : public boost::noncopyable {
void lv2_refresh (); void lv2_refresh ();
int vst_discover_from_path (std::string path); int windows_vst_discover_from_path (std::string path);
int vst_discover (std::string path); int windows_vst_discover (std::string path);
int lxvst_discover_from_path (std::string path); int lxvst_discover_from_path (std::string path);
int lxvst_discover (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, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture", 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, 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, use_lxvst, "use-lxvst", true)
CONFIG_VARIABLE (bool, save_history, "save-history", true) CONFIG_VARIABLE (bool, save_history, "save-history", true)
CONFIG_VARIABLE (int32_t, saved_history_depth, "save-history-depth", 20) CONFIG_VARIABLE (int32_t, saved_history_depth, "save-history-depth", 20)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -133,9 +133,9 @@ ARDOUR::find_plugin(Session& session, string identifier, PluginType type)
break; break;
#endif #endif
#ifdef VST_SUPPORT #ifdef WINDOWS_VST_SUPPORT
case ARDOUR::VST: case ARDOUR::Windows_VST:
plugs = mgr.vst_plugin_info(); plugs = mgr.windows_vst_plugin_info();
break; break;
#endif #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. /* 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 we used to store the name of a VST plugin, not its unique ID. so try
again. again.

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh . `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
export LD_LIBRARY_PATH=$libs/../gtk2_ardour:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$libs/../gtk2_ardour:$LD_LIBRARY_PATH
exec $libs/../gtk2_ardour/ardour-3.0-vst "$@" exec wine $libs/../gtk2_ardour/ardour-3.0-vst.exe.so "$@"

16
wscript
View file

@ -244,9 +244,9 @@ def set_compiler_flags (conf,opt):
# no VST on x86_64 # no VST on x86_64
# #
if conf.env['build_target'] == 'x86_64' and opt.vst: if conf.env['build_target'] == 'x86_64' and opt.windows_vst:
print("\n\n==================================================") print("\n\n==================================================")
print("You cannot use VST plugins with a 64 bit host. Please run waf with --vst=0") print("You cannot use VST plugins with a 64 bit host. Please run waf with --windows-vst=0")
print("\nIt is theoretically possible to build a 32 bit host on a 64 bit system.") print("\nIt is theoretically possible to build a 32 bit host on a 64 bit system.")
print("However, this is tricky and not recommended for beginners.") print("However, this is tricky and not recommended for beginners.")
sys.exit (-1) sys.exit (-1)
@ -389,8 +389,8 @@ def options(opt):
help='Compile as universal binary (requires that external libraries are universal)') help='Compile as universal binary (requires that external libraries are universal)')
opt.add_option('--versioned', action='store_true', default=False, dest='versioned', opt.add_option('--versioned', action='store_true', default=False, dest='versioned',
help='Add revision information to executable name inside the build directory') help='Add revision information to executable name inside the build directory')
opt.add_option('--vst', action='store_true', default=False, dest='vst', opt.add_option('--windows-vst', action='store_true', default=False, dest='windows_vst',
help='Compile with support for VST') help='Compile with support for Windows VST')
opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote', opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote',
help='Build the wiimote control surface') help='Build the wiimote control surface')
opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><Super', opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><Super',
@ -550,9 +550,9 @@ def configure(conf):
conf.env['BUILD_TESTS'] = opts.build_tests conf.env['BUILD_TESTS'] = opts.build_tests
if opts.tranzport: if opts.tranzport:
conf.env['TRANZPORT'] = 1 conf.env['TRANZPORT'] = 1
if opts.vst: if opts.windows_vst:
conf.define('VST_SUPPORT', 1) conf.define('WINDOWS_VST_SUPPORT', 1)
conf.env['VST_SUPPORT'] = True conf.env['WINDOWS_VST_SUPPORT'] = True
conf.env.append_value('CFLAGS', '-I' + Options.options.wine_include) conf.env.append_value('CFLAGS', '-I' + Options.options.wine_include)
conf.env.append_value('CXXFLAGS', '-I' + Options.options.wine_include) conf.env.append_value('CXXFLAGS', '-I' + Options.options.wine_include)
autowaf.check_header(conf, 'cxx', 'windows.h', mandatory = True) autowaf.check_header(conf, 'cxx', 'windows.h', mandatory = True)
@ -614,7 +614,7 @@ const char* const ardour_config_info = "\\n\\
write_config_text('Tranzport', opts.tranzport) write_config_text('Tranzport', opts.tranzport)
write_config_text('Unit tests', conf.env['BUILD_TESTS']) write_config_text('Unit tests', conf.env['BUILD_TESTS'])
write_config_text('Universal binary', opts.universal) write_config_text('Universal binary', opts.universal)
write_config_text('VST support', opts.vst) write_config_text('Windows VST support', opts.windows_vst)
write_config_text('Wiimote support', opts.wiimote) write_config_text('Wiimote support', opts.wiimote)
write_config_text('Windows key', opts.windows_key) write_config_text('Windows key', opts.windows_key)