aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r--src/engine/Engine.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/engine/Engine.cpp b/src/engine/Engine.cpp
index d659626..31c98f2 100644
--- a/src/engine/Engine.cpp
+++ b/src/engine/Engine.cpp
@@ -15,12 +15,26 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include "machina/Loader.hpp"
#include "machina/Engine.hpp"
#include "machina/JackDriver.hpp"
namespace Machina {
+/** Load the machine at @a uri, and run it (replacing current machine).
+ * Safe to call while engine is processing.
+ */
+SharedPtr<Machine>
+Engine::load_machine(const Glib::ustring& uri)
+{
+ Loader l; // FIXME: namespaces?
+ SharedPtr<Machine> m = l.load(uri);
+ _machine = m;
+ return m;
+}
+
+
void
Engine::set_bpm(double bpm)
{