From ee76743c774f64759daef42d416d3fb7bbc4a473 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 12 Mar 2007 01:33:51 +0000 Subject: Flowcanvas resizing, auto-arrange resizes if necessary. Per-track SMF reading (raul and machina) git-svn-id: http://svn.drobilla.net/lad/machina@354 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/SMFDriver.cpp | 6 +++++- src/engine/machina/SMFDriver.hpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/SMFDriver.cpp b/src/engine/SMFDriver.cpp index 181da52..3481222 100644 --- a/src/engine/SMFDriver.cpp +++ b/src/engine/SMFDriver.cpp @@ -36,7 +36,7 @@ namespace Machina { * @return the resulting machine. */ SharedPtr -SMFDriver::learn(const Glib::ustring& uri) +SMFDriver::learn(const Glib::ustring& uri, unsigned track) { const string filename = Glib::filename_from_uri(uri); @@ -51,6 +51,10 @@ SMFDriver::learn(const Glib::ustring& uri) Raul::SMFReader reader; reader.open(filename); + + if ( ! reader.seek_to_track(track) ) + return SharedPtr(); + Raul::BeatTime t = 0; unsigned char buf[4]; uint32_t ev_size; diff --git a/src/engine/machina/SMFDriver.hpp b/src/engine/machina/SMFDriver.hpp index e702534..f5d1229 100644 --- a/src/engine/machina/SMFDriver.hpp +++ b/src/engine/machina/SMFDriver.hpp @@ -34,7 +34,7 @@ class Machine; class SMFDriver : public Raul::SMFWriter, public boost::enable_shared_from_this { public: - SharedPtr learn(const Glib::ustring& uri); + SharedPtr learn(const Glib::ustring& uri, unsigned track=1); void run(SharedPtr machine, Raul::BeatTime max_time); }; -- cgit v1.2.1