static gain_t* gain_automation_buffer ();
static gain_t* trim_automation_buffer ();
static gain_t* send_gain_automation_buffer ();
+ static gain_t* scratch_automation_buffer ();
static pan_t** pan_automation_buffer ();
protected:
gain_t* gain_automation_buffer () const;
gain_t* trim_automation_buffer () const;
gain_t* send_gain_automation_buffer () const;
+ gain_t* scratch_automation_buffer () const;
pan_t** pan_automation_buffer () const;
void ensure_buffer_set (BufferSet& buffers, const ChanCount& howmany);
gain_t* gain_automation_buffer;
gain_t* trim_automation_buffer;
gain_t* send_gain_automation_buffer;
+ gain_t* scratch_automation_buffer;
pan_t** pan_automation_buffer;
uint32_t npan_buffers;
return g;
}
+gain_t*
+ProcessThread::scratch_automation_buffer()
+{
+ ThreadBuffers* tb = _private_thread_buffers.get();
+ assert (tb);
+
+ gain_t* g = tb->scratch_automation_buffer;
+ assert (g);
+ return g;
+}
+
pan_t**
ProcessThread::pan_automation_buffer()
{
return ProcessThread::send_gain_automation_buffer ();
}
+gain_t*
+Session::scratch_automation_buffer() const
+{
+ return ProcessThread::scratch_automation_buffer ();
+}
+
pan_t**
Session::pan_automation_buffer() const
{
, gain_automation_buffer (0)
, trim_automation_buffer (0)
, send_gain_automation_buffer (0)
+ , scratch_automation_buffer (0)
, pan_automation_buffer (0)
, npan_buffers (0)
{
trim_automation_buffer = new gain_t[audio_buffer_size];
delete [] send_gain_automation_buffer;
send_gain_automation_buffer = new gain_t[audio_buffer_size];
+ delete [] scratch_automation_buffer;
+ scratch_automation_buffer = new gain_t[audio_buffer_size];
allocate_pan_automation_buffers (audio_buffer_size, howmany.n_audio(), false);
}