aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/machina/Action.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-03-03 04:40:05 +0000
committerDavid Robillard <d@drobilla.net>2007-03-03 04:40:05 +0000
commit43cca924857a2c9b8833d0f3e441a5d277ad42fe (patch)
tree86591a16c7f44674dbb264d245151086474995bd /src/engine/machina/Action.hpp
parent085f3de0f526ac2ad7b00bfbc76be18b33a5c3c5 (diff)
downloadmachina-43cca924857a2c9b8833d0f3e441a5d277ad42fe.tar.gz
machina-43cca924857a2c9b8833d0f3e441a5d277ad42fe.tar.bz2
machina-43cca924857a2c9b8833d0f3e441a5d277ad42fe.zip
SMF writing work.
git-svn-id: http://svn.drobilla.net/lad/machina@343 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/machina/Action.hpp')
-rw-r--r--src/engine/machina/Action.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/engine/machina/Action.hpp b/src/engine/machina/Action.hpp
index 16c9b58..9ea106a 100644
--- a/src/engine/machina/Action.hpp
+++ b/src/engine/machina/Action.hpp
@@ -20,18 +20,21 @@
#include <string>
#include <iostream>
-#include <raul/Deletable.h>
+#include <raul/MIDISink.h>
#include <raul/TimeSlice.h>
#include <raul/Stateful.h>
+#include <raul/SharedPtr.h>
#include "types.hpp"
namespace Machina {
+class MidiDriver;
+
/** An Action, executed on entering or exiting of a state.
*/
struct Action : public Raul::Deletable, public Raul::Stateful {
- virtual void execute(Raul::BeatTime /*time*/) {}
+ virtual void execute(SharedPtr<Raul::MIDISink> sink, Raul::BeatTime time) = 0;
virtual void write_state(Raul::RDFWriter& writer);
};
@@ -41,7 +44,7 @@ class PrintAction : public Action {
public:
PrintAction(const std::string& msg) : _msg(msg) {}
- void execute(Raul::BeatTime time)
+ void execute(SharedPtr<Raul::MIDISink>, Raul::BeatTime time)
{ std::cout << "t=" << time << ": " << _msg << std::endl; }
private: