aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/machina
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/machina')
-rw-r--r--src/engine/machina/Driver.hpp23
-rw-r--r--src/engine/machina/types.hpp5
2 files changed, 15 insertions, 13 deletions
diff --git a/src/engine/machina/Driver.hpp b/src/engine/machina/Driver.hpp
index f21bb07..d913741 100644
--- a/src/engine/machina/Driver.hpp
+++ b/src/engine/machina/Driver.hpp
@@ -17,9 +17,6 @@
#ifndef MACHINA_DRIVER_HPP
#define MACHINA_DRIVER_HPP
-#include <atomic>
-
-#include "raul/DoubleBuffer.hpp"
#include "raul/RingBuffer.hpp"
#include "machina/types.hpp"
@@ -63,8 +60,8 @@ public:
_updates = b;
}
- virtual void set_bpm(double bpm) { _bpm.set(bpm); }
- virtual void set_quantization(double q) { _quantization.set(q); }
+ virtual void set_bpm(double bpm) { _bpm = bpm; }
+ virtual void set_quantization(double q) { _quantization = q; }
virtual void set_quantize_record(bool q) { _quantize_record = q; }
virtual void set_play_state(PlayState state) { _play_state = state; }
@@ -72,16 +69,16 @@ public:
virtual void activate() {}
virtual void deactivate() {}
- PlayState play_state() const { return _play_state.load(); }
+ PlayState play_state() const { return _play_state; }
protected:
- Raul::Forge& _forge;
- SPtr<Machine> _machine;
- SPtr<Raul::RingBuffer> _updates;
- std::atomic<PlayState> _play_state;
- Raul::DoubleBuffer<double> _bpm;
- Raul::DoubleBuffer<double> _quantization;
- bool _quantize_record;
+ Raul::Forge& _forge;
+ SPtr<Machine> _machine;
+ SPtr<Raul::RingBuffer> _updates;
+ PlayState _play_state;
+ double _bpm;
+ double _quantization;
+ bool _quantize_record;
};
} // namespace machina
diff --git a/src/engine/machina/types.hpp b/src/engine/machina/types.hpp
index 38cd29c..fff2601 100644
--- a/src/engine/machina/types.hpp
+++ b/src/engine/machina/types.hpp
@@ -27,11 +27,16 @@ typedef unsigned char byte;
typedef uint32_t URIInt;
+#if __cplusplus >= 201103L
template <class T>
using SPtr = std::shared_ptr<T>;
template <class T>
using WPtr = std::weak_ptr<T>;
+#else
+#define SPtr std::shared_ptr
+#define WPtr std::weak_ptr
+#endif
template <class T>
void NullDeleter(T* ptr) {}