aboutsummaryrefslogtreecommitdiffstats
path: root/src/gui/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/main.cpp')
-rw-r--r--src/gui/main.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index b6dea9c..4185c45 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -19,11 +19,15 @@
#include <iostream>
#include <string>
#include <libgnomecanvasmm.h>
+#include "../config.h"
#include "machina/Loader.hpp"
-#include "machina/JackDriver.hpp"
#include "machina/SMFDriver.hpp"
#include "MachinaGUI.hpp"
+#ifdef WITH_JACK
+#include "machina/JackDriver.hpp"
+#endif
+
using namespace std;
using namespace Machina;
@@ -42,8 +46,14 @@ main(int argc, char** argv)
}
// Build engine
- SharedPtr<JackDriver> driver(new JackDriver(machine));
+ SharedPtr<Driver> driver;
+#ifdef WITH_JACK
+ driver = SharedPtr<Driver>(new JackDriver(machine));
driver->attach("machina");
+#endif
+ if (!driver)
+ driver = SharedPtr<Driver>(new SMFDriver(machine));
+
SharedPtr<Engine> engine(new Engine(driver));
// Launch GUI
@@ -62,8 +72,6 @@ main(int argc, char** argv)
return 1;
}
- driver->detach();
-
return 0;
}