ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
ardour
ardour
thread_buffers.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2012 Paul Davis
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
20
#ifndef __libardour_thread_buffers__
21
#define __libardour_thread_buffers__
22
23
#include <glibmm/threads.h>
24
25
#include "
ardour/chan_count.h
"
26
#include "
ardour/libardour_visibility.h
"
27
#include "
ardour/types.h
"
28
29
namespace
ARDOUR
{
30
31
class
BufferSet;
32
33
class
LIBARDOUR_API
ThreadBuffers
{
34
public
:
35
ThreadBuffers
();
36
~
ThreadBuffers
();
37
38
void
ensure_buffers (
ChanCount
howmany =
ChanCount::ZERO
,
size_t
custom = 0);
39
40
BufferSet
*
silent_buffers
;
41
BufferSet
*
scratch_buffers
;
42
BufferSet
*
route_buffers
;
43
BufferSet
*
mix_buffers
;
44
gain_t
*
gain_automation_buffer
;
45
gain_t
*
trim_automation_buffer
;
46
gain_t
*
send_gain_automation_buffer
;
47
pan_t
**
pan_automation_buffer
;
48
uint32_t
npan_buffers
;
49
50
private
:
51
void
allocate_pan_automation_buffers (
framecnt_t
nframes, uint32_t howmany,
bool
force);
52
};
53
54
}
// namespace
55
56
#endif
/* __libardour_thread_buffers__ */
types.h
ARDOUR::pan_t
float pan_t
Definition:
types.h:57
ARDOUR::ThreadBuffers::route_buffers
BufferSet * route_buffers
Definition:
thread_buffers.h:42
ARDOUR::ThreadBuffers::gain_automation_buffer
gain_t * gain_automation_buffer
Definition:
thread_buffers.h:44
ARDOUR::ThreadBuffers::mix_buffers
BufferSet * mix_buffers
Definition:
thread_buffers.h:43
ARDOUR::ThreadBuffers::npan_buffers
uint32_t npan_buffers
Definition:
thread_buffers.h:48
ARDOUR::gain_t
float gain_t
Definition:
types.h:58
ARDOUR::ThreadBuffers
Definition:
thread_buffers.h:33
chan_count.h
ARDOUR::framecnt_t
int64_t framecnt_t
Definition:
types.h:76
ARDOUR::ThreadBuffers::send_gain_automation_buffer
gain_t * send_gain_automation_buffer
Definition:
thread_buffers.h:46
ARDOUR::ThreadBuffers::pan_automation_buffer
pan_t ** pan_automation_buffer
Definition:
thread_buffers.h:47
ARDOUR::ChanCount
Definition:
chan_count.h:41
ARDOUR
Definition:
amp.h:29
ARDOUR::ThreadBuffers::scratch_buffers
BufferSet * scratch_buffers
Definition:
thread_buffers.h:41
libardour_visibility.h
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:40
ARDOUR::ThreadBuffers::trim_automation_buffer
gain_t * trim_automation_buffer
Definition:
thread_buffers.h:45
ARDOUR::BufferSet
Definition:
buffer_set.h:65
ARDOUR::ChanCount::ZERO
static const ChanCount ZERO
Definition:
chan_count.h:149
ARDOUR::ThreadBuffers::silent_buffers
BufferSet * silent_buffers
Definition:
thread_buffers.h:40
Generated on Sun May 24 2015 12:15:05 for ardour by
1.8.8