VST3: Ardour-GUI basics

This commit is contained in:
Robin Gareus 2019-11-03 04:11:27 +01:00
parent 0ca0b4f335
commit 3f16f60221
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
6 changed files with 36 additions and 1 deletions

View File

@ -109,6 +109,9 @@ InstrumentSelector::build_instrument_list()
#ifdef AUDIOUNIT_SUPPORT
all_plugs.insert(all_plugs.end(), manager.au_plugin_info().begin(), manager.au_plugin_info().end());
#endif
#ifdef VST3_SUPPORT
all_plugs.insert(all_plugs.end(), manager.vst3_plugin_info().begin(), manager.vst3_plugin_info().end());
#endif
all_plugs.remove_if (invalid_instrument);
all_plugs.sort (pluginsort);

View File

@ -3150,6 +3150,9 @@ Mixer_UI::refill_favorite_plugins ()
#ifdef MACVST_SUPPORT
refiller (plugs, mgr.mac_vst_plugin_info ());
#endif
#ifdef VST3_SUPPORT
refiller (plugs, mgr.vst3_plugin_info ());
#endif
#ifdef AUDIOUNIT_SUPPORT
refiller (plugs, mgr.au_plugin_info ());
#endif

View File

@ -220,6 +220,9 @@ PluginSelector::PluginSelector (PluginManager& mgr)
#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT || defined MACVST_SUPPORT)
_fil_type_combo.append_text_item (X_("VST"));
#endif
#ifdef VST3_SUPPORT
_fil_type_combo.append_text_item (X_("VST3"));
#endif
#ifdef AUDIOUNIT_SUPPORT
_fil_type_combo.append_text_item (X_("AudioUnit"));
#endif
@ -435,6 +438,10 @@ PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string&
return false;
}
if (_fil_type_combo.get_text() == X_("VST3") && info->type != VST3) {
return false;
}
if (_fil_type_combo.get_text() == X_("LV2") && info->type != LV2) {
return false;
}
@ -519,6 +526,7 @@ PluginSelector::refill ()
mac_vst_refiller (searchstr);
au_refiller (searchstr);
lua_refiller (searchstr);
vst3_refiller (searchstr);
in_row_change = false;
@ -644,6 +652,14 @@ PluginSelector::mac_vst_refiller (const std::string& searchstr)
#endif
}
void
PluginSelector::vst3_refiller (const std::string& searchstr)
{
#ifdef VST3_SUPPORT
refiller (manager.vst3_plugin_info(), searchstr, "VST3");
#endif
}
void
PluginSelector::au_refiller (const std::string& searchstr)
{
@ -928,6 +944,9 @@ PluginSelector::build_plugin_menu ()
#ifdef MACVST_SUPPORT
all_plugs.insert (all_plugs.end(), manager.mac_vst_plugin_info().begin(), manager.mac_vst_plugin_info().end());
#endif
#ifdef VST3_SUPPORT
all_plugs.insert (all_plugs.end(), manager.vst3_plugin_info().begin(), manager.vst3_plugin_info().end());
#endif
#ifdef AUDIOUNIT_SUPPORT
all_plugs.insert (all_plugs.end(), manager.au_plugin_info().begin(), manager.au_plugin_info().end());
#endif

View File

@ -159,6 +159,7 @@ private:
void mac_vst_refiller (const std::string&);
void au_refiller (const std::string&);
void lua_refiller (const std::string&);
void vst3_refiller (const std::string&);
Gtk::Menu* _plugin_menu;
ARDOUR::PluginManager& manager;

View File

@ -64,6 +64,9 @@
#include "ardour/mac_vst_plugin.h"
#include "vst_plugin_ui.h"
#endif
#ifdef VST3_SUPPORT
#include "ardour/vst3_plugin.h"
#endif
#include "ardour_window.h"
#include "ardour_ui.h"
@ -134,6 +137,10 @@ PluginUIWindow::PluginUIWindow (
have_gui = create_lv2_editor (insert);
break;
case ARDOUR::VST3:
have_gui = false; // TODO
break;
default:
#ifndef WINDOWS_VST_SUPPORT
error << string_compose (_("unknown type of editor-supplying plugin (note: no VST support in this version of %1)"), PROGRAM_NAME)

View File

@ -503,7 +503,8 @@ def build(bld):
obj.install_path = None
obj.source = list(gtk2_ardour_sources)
obj.target = 'luadoc'
obj.includes = ['.', '../libs']
obj.includes = ['.', '../libs', '../libs/vst3']
obj.ldflags = ['-no-undefined']
obj.use = [
'libpbd',
'libardour',
@ -657,6 +658,7 @@ def build(bld):
obj.source += [ 'bundle_env_linux.cc' ]
obj.includes += ['../libs']
obj.includes += ['../libs/vst3']
obj.use += 'libptformat'