#ifndef __ardour_delayline_h__
#define __ardour_delayline_h__
+#include <boost/shared_ptr.hpp>
+#include <boost/shared_array.hpp>
+
#include "ardour/types.h"
#include "ardour/processor.h"
bool display_to_user() const { return false; }
- void run (BufferSet&, framepos_t, framepos_t, pframes_t, bool);
+ void run (BufferSet&, framepos_t, framepos_t, double, pframes_t, bool);
void set_delay(framecnt_t signal_delay);
framecnt_t get_delay() { return _pending_delay; }
XMLNode& state (bool full);
private:
+ void allocate_pending_buffers (framecnt_t);
+
friend class IO;
framecnt_t _delay, _pending_delay;
framecnt_t _bsiz, _pending_bsiz;
frameoffset_t _roff, _woff;
- boost::shared_ptr<Sample> _buf;
- boost::shared_ptr<Sample> _pending_buf;
+ boost::shared_array<Sample> _buf;
+ boost::shared_array<Sample> _pending_buf;
boost::shared_ptr<MidiBuffer> _midi_buf;
bool _pending_flush;
};