diff options
author | David Robillard <d@drobilla.net> | 2013-01-11 21:07:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-01-11 21:07:26 +0000 |
commit | bef1c2ea010da638ffbb437c37a6d32ddc99b568 (patch) | |
tree | 3c40f06df385e40edd512247eda23b1f650623df /src/engine/MidiAction.cpp | |
parent | d88a8a0a01baff2c4038c315672c6c670361b82c (diff) | |
download | machina-bef1c2ea010da638ffbb437c37a6d32ddc99b568.tar.gz machina-bef1c2ea010da638ffbb437c37a6d32ddc99b568.tar.bz2 machina-bef1c2ea010da638ffbb437c37a6d32ddc99b568.zip |
Bring Machina back into the fold (fix #844).
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4921 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/MidiAction.cpp')
-rw-r--r-- | src/engine/MidiAction.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/engine/MidiAction.cpp b/src/engine/MidiAction.cpp index cc0b123..d7433b3 100644 --- a/src/engine/MidiAction.cpp +++ b/src/engine/MidiAction.cpp @@ -18,12 +18,11 @@ #include <iostream> #include "raul/SharedPtr.hpp" -#include "raul/MIDISink.hpp" #include "raul/Atom.hpp" -#include "raul/AtomRDF.hpp" #include "machina/types.hpp" +#include "MIDISink.hpp" #include "MidiAction.hpp" namespace Machina { @@ -47,7 +46,7 @@ MidiAction::MidiAction(size_t size, MidiAction::~MidiAction() { - delete[] _event.get(); + delete[] _event.load(); } /** Set the MIDI event to be emitted when the action executes. @@ -60,7 +59,7 @@ MidiAction::~MidiAction() bool MidiAction::set_event(size_t size, const byte* new_event) { - byte* const event = _event.get(); + byte* const event = _event.load(); if (size <= _max_size) { _event = NULL; if (size > 0 && new_event) @@ -78,9 +77,9 @@ MidiAction::set_event(size_t size, const byte* new_event) * Safe to call concurrently with set_event. */ void -MidiAction::execute(SharedPtr<Raul::MIDISink> sink, Raul::TimeStamp time) +MidiAction::execute(SharedPtr<MIDISink> sink, Raul::TimeStamp time) { - const byte* const event = _event.get(); + const byte* const event = _event.load(); if (event) { if (sink) @@ -98,13 +97,16 @@ MidiAction::write_state(Sord::Model& model) Action::write_state(model); model.add_statement(rdf_id(model.world()), - Sord::Curie(model.world(), "rdf:type"), - Sord::Curie(model.world(), "machina:MidiAction")); + Sord::Curie(model.world(), "rdf:type"), + Sord::Curie(model.world(), "machina:MidiAction")); // FIXME: Assumes note on/note off + std::cerr << "FIXME: AtomRDF" << std::endl; + /* model.add_statement(rdf_id(model.world()), Sord::Curie(model.world(), "machina:midiNote"), AtomRDF::atom_to_node(model, Atom((int)(_event.get()[1])))); + */ } } // namespace Machina |