#include <fcntl.h>
#include <errno.h>
-#ifdef VST_SUPPORT
+#ifdef WINDOWS_VST_SUPPORT
#include <fst.h>
#endif
#ifdef LXVST_SUPPORT
-#include "ardour/vstfx.h"
+#include "ardour/linux_vst_support.h"
#endif
#ifdef AUDIOUNIT_SUPPORT
}
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();
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
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
Analyser::init ();
/* singleton - first object is "it" */
- new PluginManager ();
+ (void) PluginManager::instance();
ProcessThread::init ();
BufferManager::init (10); // XX should be num_processors_for_dsp + 1 for the GUI thread
if ((node = Config->control_protocol_state()) != 0) {
ControlProtocolManager::instance().set_state (*node, Stateful::loading_state_version);
}
+
+ /* find plugins */
+
+ ARDOUR::PluginManager::instance().refresh ();
}
int
delete Library;
lrdf_cleanup ();
delete &ControlProtocolManager::instance();
-#ifdef VST_SUPPORT
+#ifdef WINDOWS_VST_SUPPORT
fst_exit ();
#endif
MXCSR = _mm_getcsr();
+#ifdef DEBUG_DENORMAL_EXCEPTION
+ /* This will raise a FP exception if a denormal is detected */
+ MXCSR &= ~_MM_MASK_DENORM;
+#endif
+
switch (Config->get_denormal_model()) {
case DenormalNone:
- MXCSR &= ~(_MM_FLUSH_ZERO_ON|0x8000);
+ MXCSR &= ~(_MM_FLUSH_ZERO_ON | 0x40);
break;
case DenormalFTZ:
case DenormalDAZ:
MXCSR &= ~_MM_FLUSH_ZERO_ON;
if (fpu.has_denormals_are_zero()) {
- MXCSR |= 0x8000;
+ MXCSR |= 0x40;
}
break;
case DenormalFTZDAZ:
if (fpu.has_flush_to_zero()) {
if (fpu.has_denormals_are_zero()) {
- MXCSR |= _MM_FLUSH_ZERO_ON | 0x8000;
+ MXCSR |= _MM_FLUSH_ZERO_ON | 0x40;
} else {
MXCSR |= _MM_FLUSH_ZERO_ON;
}