summaryrefslogtreecommitdiffstats
path: root/src/engine/BufferFactory.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/BufferFactory.hpp')
-rw-r--r--src/engine/BufferFactory.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/engine/BufferFactory.hpp b/src/engine/BufferFactory.hpp
index 44213c52..344b946d 100644
--- a/src/engine/BufferFactory.hpp
+++ b/src/engine/BufferFactory.hpp
@@ -37,7 +37,8 @@ namespace Shared { class LV2URIMap; }
class BufferFactory {
public:
- BufferFactory(Engine& engine, SharedPtr<Shared::LV2URIMap> map);
+ BufferFactory(Engine& engine, SharedPtr<Shared::LV2URIMap> uris);
+ ~BufferFactory();
typedef boost::intrusive_ptr<Buffer> Ref;
@@ -50,6 +51,8 @@ public:
void set_block_length(SampleCount block_length);
+ Shared::LV2URIMap& uris() { assert(_uris); return *_uris.get(); }
+
private:
friend class Buffer;
void recycle(Buffer* buf);
@@ -67,6 +70,8 @@ private:
}
}
+ void free_list(Buffer* head);
+
Raul::AtomicPtr<Buffer> _free_audio;
Raul::AtomicPtr<Buffer> _free_control;
Raul::AtomicPtr<Buffer> _free_event;
@@ -74,7 +79,7 @@ private:
Glib::Mutex _mutex;
Engine& _engine;
- SharedPtr<Shared::LV2URIMap> _map;
+ SharedPtr<Shared::LV2URIMap> _uris;
Ref _silent_buffer;
};