#include <fst.h>
#endif
-#ifdef HAVE_AUDIOUNITS
+#ifdef LXVST_SUPPORT
+#include "ardour/vstfx.h"
+#endif
+
+#ifdef AUDIOUNIT_SUPPORT
#include "ardour/audio_unit.h"
#endif
}
Config->set_use_vst (use_vst);
+#ifdef LXVST_SUPPORT
+ Config->set_use_lxvst(true);
+#endif
Profile = new RuntimeProfile;
}
#endif
-#ifdef HAVE_AUDIOUNITS
+#ifdef LXVST_SUPPORT
+ if (Config->get_use_lxvst() && vstfx_init (0)) {
+ return -1;
+ }
+#endif
+
+#ifdef AUDIOUNIT_SUPPORT
AUPluginInfo::load_cached_info ();
#endif
new PluginManager ();
ProcessThread::init ();
- BufferManager::init (10); // XX should be num_processors_for_dsp
+ BufferManager::init (10); // XX should be num_processors_for_dsp + 1 for the GUI thread
PannerManager::instance().discover_panners();
+ // Initialize parameter metadata
+ EventTypeMap::instance().new_parameter(NullAutomation);
+ EventTypeMap::instance().new_parameter(GainAutomation);
+ EventTypeMap::instance().new_parameter(PanAzimuthAutomation);
+ EventTypeMap::instance().new_parameter(PanElevationAutomation);
+ EventTypeMap::instance().new_parameter(PanWidthAutomation);
+ EventTypeMap::instance().new_parameter(PluginAutomation);
+ EventTypeMap::instance().new_parameter(SoloAutomation);
+ EventTypeMap::instance().new_parameter(MuteAutomation);
+ EventTypeMap::instance().new_parameter(MidiCCAutomation);
+ EventTypeMap::instance().new_parameter(MidiPgmChangeAutomation);
+ EventTypeMap::instance().new_parameter(MidiPitchBenderAutomation);
+ EventTypeMap::instance().new_parameter(MidiChannelPressureAutomation);
+ EventTypeMap::instance().new_parameter(FadeInAutomation);
+ EventTypeMap::instance().new_parameter(FadeOutAutomation);
+ EventTypeMap::instance().new_parameter(EnvelopeAutomation);
+ EventTypeMap::instance().new_parameter(MidiCCAutomation);
+
return 0;
}
#ifdef VST_SUPPORT
fst_exit ();
#endif
+
+#ifdef LXVST_SUPPOR
+ vstfx_exit();
+#endif
return 0;
}