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:
parent
24a919ce6d
commit
d9a3c6b89f
|
@ -452,9 +452,9 @@ sigpipe_handler (int /*signal*/)
|
|||
void close_external_ui_windows();
|
||||
#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
|
||||
executable that is linked against gtk2_ardour built
|
||||
|
@ -474,11 +474,11 @@ int main (int argc, char *argv[])
|
|||
|
||||
gtk_set_locale ();
|
||||
|
||||
#ifdef VST_SUPPORT
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
/* this does some magic that is needed to make GTK and Wine's own
|
||||
X11 client interact properly.
|
||||
*/
|
||||
gui_init (&argc, &argv);
|
||||
windows_vst_gui_init (&argc, &argv);
|
||||
#endif
|
||||
|
||||
(void) bindtextdomain (PACKAGE, localedir);
|
||||
|
@ -564,7 +564,7 @@ int main (int argc, char *argv[])
|
|||
#endif
|
||||
return 0;
|
||||
}
|
||||
#ifdef VST_SUPPORT
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
} // end of extern C block
|
||||
#endif
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ print_help (const char *execname)
|
|||
<< _(" -N, --new session-name Create a new session from the command line\n")
|
||||
<< _(" -O, --no-hw-optimizations Disable h/w specific optimizations\n")
|
||||
<< _(" -S, --sync Draw the gui synchronously \n")
|
||||
#ifdef VST_SUPPORT
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
<< _(" -V, --novst Do not use VST support\n")
|
||||
#endif
|
||||
<< _(" -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;
|
||||
|
||||
case 'V':
|
||||
#ifdef VST_SUPPORT
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
use_vst = false;
|
||||
#endif /* VST_SUPPORT */
|
||||
#endif /* WINDOWS_VST_SUPPORT */
|
||||
break;
|
||||
|
||||
case 'c':
|
||||
|
|
|
@ -238,7 +238,7 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
|
|||
case LV2:
|
||||
compstr = X_("LV2");
|
||||
break;
|
||||
case VST:
|
||||
case Windows_VST:
|
||||
compstr = X_("VST");
|
||||
break;
|
||||
case LXVST:
|
||||
|
@ -351,14 +351,14 @@ PluginSelector::lv2_refiller (const std::string& filterstr)
|
|||
}
|
||||
|
||||
void
|
||||
#ifdef VST_SUPPORT
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
PluginSelector::vst_refiller (const std::string& filterstr)
|
||||
#else
|
||||
PluginSelector::vst_refiller (const std::string&)
|
||||
#endif
|
||||
{
|
||||
#ifdef VST_SUPPORT
|
||||
refiller (manager.vst_plugin_info(), filterstr, "VST");
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
refiller (manager.windows_vst_plugin_info(), filterstr, "VST");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -599,8 +599,8 @@ PluginSelector::build_plugin_menu ()
|
|||
PluginInfoList all_plugs;
|
||||
|
||||
all_plugs.insert (all_plugs.end(), manager.ladspa_plugin_info().begin(), manager.ladspa_plugin_info().end());
|
||||
#ifdef VST_SUPPORT
|
||||
all_plugs.insert (all_plugs.end(), manager.vst_plugin_info().begin(), manager.vst_plugin_info().end());
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
all_plugs.insert (all_plugs.end(), manager.windows_vst_plugin_info().begin(), manager.windows_vst_plugin_info().end());
|
||||
#endif
|
||||
#ifdef LXVST_SUPPORT
|
||||
all_plugs.insert (all_plugs.end(), manager.lxvst_plugin_info().begin(), manager.lxvst_plugin_info().end());
|
||||
|
|
|
@ -46,9 +46,9 @@
|
|||
#include "ardour/plugin.h"
|
||||
#include "ardour/plugin_insert.h"
|
||||
#include "ardour/ladspa_plugin.h"
|
||||
#ifdef VST_SUPPORT
|
||||
#include "ardour/vst_plugin.h"
|
||||
#include "vst_pluginui.h"
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
#include "ardour/windows_vst_plugin.h"
|
||||
#include "windows_vst_plugin_ui.h"
|
||||
#endif
|
||||
#ifdef LXVST_SUPPORT
|
||||
#include "ardour/lxvst_plugin.h"
|
||||
|
@ -99,8 +99,8 @@ PluginUIWindow::PluginUIWindow (
|
|||
<< " editor: " << editor << std::endl;
|
||||
if (editor && insert->plugin()->has_editor()) {
|
||||
switch (insert->type()) {
|
||||
case ARDOUR::VST:
|
||||
have_gui = create_vst_editor (insert);
|
||||
case ARDOUR::Windows_VST:
|
||||
have_gui = create_windows_vst_editor (insert);
|
||||
break;
|
||||
|
||||
case ARDOUR::LXVST:
|
||||
|
@ -120,7 +120,7 @@ PluginUIWindow::PluginUIWindow (
|
|||
break;
|
||||
|
||||
default:
|
||||
#ifndef VST_SUPPORT
|
||||
#ifndef WINDOWS_VST_SUPPORT
|
||||
error << _("unknown type of editor-supplying plugin (note: no VST support in this version of ardour)")
|
||||
<< endmsg;
|
||||
#else
|
||||
|
@ -253,24 +253,24 @@ PluginUIWindow::set_title(const std::string& title)
|
|||
}
|
||||
|
||||
bool
|
||||
#ifdef VST_SUPPORT
|
||||
PluginUIWindow::create_vst_editor(boost::shared_ptr<PluginInsert> insert)
|
||||
#ifdef WINDOWS_VST_SUPPORT
|
||||
PluginUIWindow::create_windows_vst_editor(boost::shared_ptr<PluginInsert> insert)
|
||||
#else
|
||||
PluginUIWindow::create_vst_editor(boost::shared_ptr<PluginInsert>)
|
||||
PluginUIWindow::create_windows_vst_editor(boost::shared_ptr<PluginInsert>)
|
||||
#endif
|
||||
{
|
||||
#ifndef VST_SUPPORT
|
||||
#ifndef WINDOWS_VST_SUPPORT
|
||||
return false;
|
||||
#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)")
|
||||
<< endmsg;
|
||||
throw failed_constructor ();
|
||||
} else {
|
||||
VSTPluginUI* vpu = new VSTPluginUI (insert, vp);
|
||||
WindowsVSTPluginUI* vpu = new WindowsVSTPluginUI (insert, vp);
|
||||
|
||||
_pluginui = vpu;
|
||||
_pluginui->KeyboardFocused.connect (sigc::mem_fun (*this, &PluginUIWindow::keyboard_focused));
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
namespace ARDOUR {
|
||||
class PluginInsert;
|
||||
class Plugin;
|
||||
class VSTPlugin;
|
||||
class WindowsVSTPlugin;
|
||||
class LXVSTPlugin;
|
||||
class IOProcessor;
|
||||
class AUPlugin;
|
||||
|
@ -297,7 +297,7 @@ class PluginUIWindow : public Gtk::Window
|
|||
void app_activated (bool);
|
||||
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_audiounit_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
|
||||
bool create_lv2_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
#include <gtk/gtk.h>
|
||||
#include <gtk/gtksocket.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>
|
||||
|
||||
|
@ -31,7 +31,7 @@ using namespace Gtk;
|
|||
using namespace ARDOUR;
|
||||
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),
|
||||
vst (vp)
|
||||
{
|
||||
|
@ -53,37 +53,37 @@ VSTPluginUI::VSTPluginUI (boost::shared_ptr<PluginInsert> pi, boost::shared_ptr<
|
|||
pack_start (plugin_analysis_expander, true, true);
|
||||
}
|
||||
|
||||
VSTPluginUI::~VSTPluginUI ()
|
||||
WindowsVSTPluginUI::~WindowsVSTPluginUI ()
|
||||
{
|
||||
// plugin destructor destroys the custom GUI, via Windows fun-and-games,
|
||||
// and then our PluginUIWindow does the rest
|
||||
}
|
||||
|
||||
void
|
||||
VSTPluginUI::preset_selected ()
|
||||
WindowsVSTPluginUI::preset_selected ()
|
||||
{
|
||||
socket.grab_focus ();
|
||||
PlugUIBase::preset_selected ();
|
||||
}
|
||||
|
||||
int
|
||||
VSTPluginUI::get_preferred_height ()
|
||||
WindowsVSTPluginUI::get_preferred_height ()
|
||||
{
|
||||
return vst->fst()->height;
|
||||
}
|
||||
|
||||
int
|
||||
VSTPluginUI::get_preferred_width ()
|
||||
WindowsVSTPluginUI::get_preferred_width ()
|
||||
{
|
||||
return vst->fst()->width;
|
||||
}
|
||||
|
||||
int
|
||||
VSTPluginUI::package (Gtk::Window& win)
|
||||
WindowsVSTPluginUI::package (Gtk::Window& win)
|
||||
{
|
||||
/* 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.
|
||||
|
@ -97,7 +97,7 @@ VSTPluginUI::package (Gtk::Window& win)
|
|||
}
|
||||
|
||||
bool
|
||||
VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
|
||||
WindowsVSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
|
||||
{
|
||||
XEvent event;
|
||||
gint x, y;
|
||||
|
@ -136,7 +136,7 @@ VSTPluginUI::configure_handler (GdkEventConfigure* ev, Gtk::Socket *socket)
|
|||
}
|
||||
|
||||
void
|
||||
VSTPluginUI::forward_key_event (GdkEventKey* ev)
|
||||
WindowsVSTPluginUI::forward_key_event (GdkEventKey* ev)
|
||||
{
|
||||
if (ev->type == GDK_KEY_PRESS) {
|
||||
|
||||
|
@ -199,7 +199,7 @@ fst_xerror_handler( Display *disp, XErrorEvent *ev )
|
|||
}
|
||||
|
||||
void
|
||||
gui_init (int *argc, char **argv[])
|
||||
windows_vst_gui_init (int *argc, char **argv[])
|
||||
{
|
||||
wine_error_handler = XSetErrorHandler (NULL);
|
||||
gtk_init (argc, argv);
|
|
@ -19,11 +19,11 @@
|
|||
|
||||
#include "plugin_ui.h"
|
||||
|
||||
class VSTPluginUI : public PlugUIBase, public Gtk::VBox
|
||||
class WindowsVSTPluginUI : public PlugUIBase, public Gtk::VBox
|
||||
{
|
||||
public:
|
||||
VSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::VSTPlugin>);
|
||||
~VSTPluginUI ();
|
||||
WindowsVSTPluginUI (boost::shared_ptr<ARDOUR::PluginInsert>, boost::shared_ptr<ARDOUR::WindowsVSTPlugin>);
|
||||
~WindowsVSTPluginUI ();
|
||||
|
||||
gint get_preferred_height ();
|
||||
gint get_preferred_width ();
|
||||
|
@ -36,7 +36,7 @@ class VSTPluginUI : public PlugUIBase, public Gtk::VBox
|
|||
bool non_gtk_gui () const { return true; }
|
||||
|
||||
private:
|
||||
boost::shared_ptr<ARDOUR::VSTPlugin> vst;
|
||||
boost::shared_ptr<ARDOUR::WindowsVSTPlugin> vst;
|
||||
Gtk::Socket socket;
|
||||
Gtk::HBox preset_box;
|
||||
Gtk::VBox vpacker;
|
|
@ -345,7 +345,7 @@ def build_color_scheme(path, prefix):
|
|||
def build(bld):
|
||||
# GTK front-end; if we're using VST we build this as a shared library,
|
||||
# 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')
|
||||
else:
|
||||
obj = bld(features = 'cxx c cxxprogram')
|
||||
|
@ -354,7 +354,7 @@ def build(bld):
|
|||
obj.source = gtk2_ardour_sources
|
||||
obj.name = 'gtk2_ardour'
|
||||
obj.linkflags = []
|
||||
if bld.is_defined('VST_SUPPORT'):
|
||||
if bld.is_defined('WINDOWS_VST_SUPPORT'):
|
||||
obj.target = 'gtk2_ardour'
|
||||
obj.includes += ['../libs/fst']
|
||||
else:
|
||||
|
@ -392,9 +392,9 @@ def build(bld):
|
|||
obj.source += [ 'sfdb_freesound_mootcher.cc' ]
|
||||
obj.defines += [ 'FREESOUND' ]
|
||||
|
||||
if bld.is_defined('VST_SUPPORT'):
|
||||
obj.source += [ 'vst_pluginui.cc' ]
|
||||
obj.defines += [ 'VST_SUPPORT' ]
|
||||
if bld.is_defined('WINDOWS_VST_SUPPORT'):
|
||||
obj.source += [ 'windows_vst_plugin_ui.cc' ]
|
||||
obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
|
||||
obj.uselib += ' X11 '
|
||||
|
||||
if bld.is_defined('LXVST_SUPPORT'):
|
||||
|
@ -410,7 +410,7 @@ def build(bld):
|
|||
obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ]
|
||||
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
|
||||
# here using winegcc, and link it to the GTK front-end library
|
||||
obj = bld(features = 'cxx c cxxprogram wine')
|
||||
|
@ -423,7 +423,7 @@ def build(bld):
|
|||
'''
|
||||
obj.includes = '../libs/fst'
|
||||
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.uselib = 'ALSA'
|
||||
obj.use = ['libpbd','libmidipp','libtaglib','libardour',
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -462,7 +462,7 @@ namespace ARDOUR {
|
|||
AudioUnit,
|
||||
LADSPA,
|
||||
LV2,
|
||||
VST,
|
||||
Windows_VST,
|
||||
LXVST,
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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' ]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/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
|
||||
exec $libs/../gtk2_ardour/ardour-3.0-vst "$@"
|
||||
exec wine $libs/../gtk2_ardour/ardour-3.0-vst.exe.so "$@"
|
||||
|
|
16
wscript
16
wscript
|
@ -244,9 +244,9 @@ def set_compiler_flags (conf,opt):
|
|||
# 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("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("However, this is tricky and not recommended for beginners.")
|
||||
sys.exit (-1)
|
||||
|
@ -389,8 +389,8 @@ def options(opt):
|
|||
help='Compile as universal binary (requires that external libraries are universal)')
|
||||
opt.add_option('--versioned', action='store_true', default=False, dest='versioned',
|
||||
help='Add revision information to executable name inside the build directory')
|
||||
opt.add_option('--vst', action='store_true', default=False, dest='vst',
|
||||
help='Compile with support for VST')
|
||||
opt.add_option('--windows-vst', action='store_true', default=False, dest='windows_vst',
|
||||
help='Compile with support for Windows VST')
|
||||
opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote',
|
||||
help='Build the wiimote control surface')
|
||||
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
|
||||
if opts.tranzport:
|
||||
conf.env['TRANZPORT'] = 1
|
||||
if opts.vst:
|
||||
conf.define('VST_SUPPORT', 1)
|
||||
conf.env['VST_SUPPORT'] = True
|
||||
if opts.windows_vst:
|
||||
conf.define('WINDOWS_VST_SUPPORT', 1)
|
||||
conf.env['WINDOWS_VST_SUPPORT'] = True
|
||||
conf.env.append_value('CFLAGS', '-I' + Options.options.wine_include)
|
||||
conf.env.append_value('CXXFLAGS', '-I' + Options.options.wine_include)
|
||||
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('Unit tests', conf.env['BUILD_TESTS'])
|
||||
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('Windows key', opts.windows_key)
|
||||
|
||||
|
|
Loading…
Reference in New Issue