aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/machina/MidiAction.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-02-10 07:30:56 +0000
committerDavid Robillard <d@drobilla.net>2007-02-10 07:30:56 +0000
commitcee33ba4c0859b117be94df6ccbf3eb756a850af (patch)
treee7e69de57c531538b2ded16bac31c2c705bc0fa6 /src/engine/machina/MidiAction.hpp
parent87c0a475bd76ca33883eeafc2a86bc89a84eec2f (diff)
downloadmachina-cee33ba4c0859b117be94df6ccbf3eb756a850af.tar.gz
machina-cee33ba4c0859b117be94df6ccbf3eb756a850af.tar.bz2
machina-cee33ba4c0859b117be94df6ccbf3eb756a850af.zip
Finished MIDI genericification.
Work on MIDI learn. git-svn-id: http://svn.drobilla.net/lad/machina@299 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/machina/MidiAction.hpp')
-rw-r--r--src/engine/machina/MidiAction.hpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/engine/machina/MidiAction.hpp b/src/engine/machina/MidiAction.hpp
index 2e1d1fc..d362a63 100644
--- a/src/engine/machina/MidiAction.hpp
+++ b/src/engine/machina/MidiAction.hpp
@@ -19,6 +19,7 @@
#define MACHINA_MIDIACTION_HPP
#include <raul/WeakPtr.h>
+#include <raul/AtomicPtr.h>
#include "types.hpp"
#include "Action.hpp"
@@ -29,16 +30,21 @@ class MidiDriver;
class MidiAction : public Action {
public:
- JackNoteOnAction(WeakPtr<MidiDriver> driver,
- size_t size,
- unsigned char* event);
+ MidiAction(WeakPtr<MidiDriver> driver,
+ size_t size,
+ const unsigned char* event);
+
+ ~MidiAction();
+
+ bool set_event(size_t size, const byte* event);
void execute(Timestamp time);
private:
- WeakPtr<MidiDriver> _driver;
- size_t _size;
- unsigned char* _event;
+ WeakPtr<MidiDriver> _driver;
+ size_t _size;
+ const size_t _max_size;
+ Raul::AtomicPtr<byte> _event;
};