diff options
Diffstat (limited to 'src/engine/machina/Action.hpp')
-rw-r--r-- | src/engine/machina/Action.hpp | 9 |
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: |