diff options
author | David Robillard <d@drobilla.net> | 2007-03-31 05:28:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-03-31 05:28:01 +0000 |
commit | f8883a56e44a42e97ca84392fdbff61e11540fcd (patch) | |
tree | 745eef6b5685b9f668c48b36ae6c761bee49b271 /src/engine/machina/JackDriver.hpp | |
parent | dd6be02a7478225f19f02432919b64b96b733172 (diff) | |
download | machina-f8883a56e44a42e97ca84392fdbff61e11540fcd.tar.gz machina-f8883a56e44a42e97ca84392fdbff61e11540fcd.tar.bz2 machina-f8883a56e44a42e97ca84392fdbff61e11540fcd.zip |
Realtime MIDI recording.
git-svn-id: http://svn.drobilla.net/lad/machina@383 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/machina/JackDriver.hpp')
-rw-r--r-- | src/engine/machina/JackDriver.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/engine/machina/JackDriver.hpp b/src/engine/machina/JackDriver.hpp index a048c0c..47b718d 100644 --- a/src/engine/machina/JackDriver.hpp +++ b/src/engine/machina/JackDriver.hpp @@ -22,11 +22,12 @@ #include <raul/JackDriver.h> #include <raul/SharedPtr.h> #include <raul/DoubleBuffer.h> +#include <raul/MIDIRingBuffer.h> #include <raul/Semaphore.h> #include <jack/midiport.h> #include "Machine.hpp" #include "Driver.hpp" - +#include "Recorder.hpp" namespace Machina { @@ -61,6 +62,10 @@ public: void set_bpm(double bpm) { _bpm.set(bpm); } void set_quantization(double quantization) { _quantization.set(quantization); } + bool recording() { return _recording.get(); } + void start_record(); + void finish_record(); + private: void process_input(SharedPtr<Machine> machine, const Raul::TimeSlice& time); @@ -76,6 +81,10 @@ private: Raul::DoubleBuffer<double> _bpm; Raul::DoubleBuffer<double> _quantization; + + Raul::TickTime _record_time; + Raul::AtomicInt _recording; + SharedPtr<Recorder> _recorder; }; |