mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-16 03:36:32 +01:00
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
25 changed files with 226 additions and 221 deletions
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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':
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
|
|
|
||||||
|
|
@ -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>);
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -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',
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -462,7 +462,7 @@ namespace ARDOUR {
|
||||||
AudioUnit,
|
AudioUnit,
|
||||||
LADSPA,
|
LADSPA,
|
||||||
LV2,
|
LV2,
|
||||||
VST,
|
Windows_VST,
|
||||||
LXVST,
|
LXVST,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -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' ]
|
||||||
|
|
|
||||||
|
|
@ -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
16
wscript
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue