Ardour
9.0-pre0-582-g084a23a80d
capturing_processor.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2013-2017 Paul Davis <paul@linuxaudiosystems.com>
3
* Copyright (C) 2013-2017 Robin Gareus <robin@gareus.org>
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#pragma once
21
22
#include "
ardour/fixed_delay.h
"
23
#include "
ardour/processor.h
"
24
#include "
ardour/types.h
"
25
26
namespace
ARDOUR
{
27
28
class
LIBARDOUR_API
CapturingProcessor
:
public
Processor
29
{
30
public
:
31
CapturingProcessor
(
Session
&
session
,
samplecnt_t
latency);
32
~CapturingProcessor
();
33
34
public
:
// main interface
35
BufferSet
const
&
get_capture_buffers
()
const
{
return
capture_buffers; }
36
37
public
:
// Processor overrides
38
bool
display_to_user
()
const
{
return
false
; }
39
int
set_block_size
(
pframes_t
nframes);
40
void
run
(
BufferSet
& bufs,
samplepos_t
start_sample,
samplepos_t
end_sample,
double
speed,
pframes_t
nframes,
bool
result_required);
41
bool
configure_io
(
ChanCount
in,
ChanCount
out);
42
bool
can_support_io_configuration
(
const
ChanCount
& in,
ChanCount
& out);
43
44
protected
:
45
XMLNode
&
state
()
const
;
46
47
private
:
48
void
realloc_buffers
();
49
50
samplecnt_t
block_size
;
51
BufferSet
capture_buffers
;
52
FixedDelay
_delaybuffers
;
53
samplecnt_t
_latency
;
54
};
55
56
}
// namespace ARDOUR
57
types.h
ARDOUR::BufferSet
Definition:
buffer_set.h:67
ARDOUR::CapturingProcessor
Definition:
capturing_processor.h:29
ARDOUR::CapturingProcessor::realloc_buffers
void realloc_buffers()
ARDOUR::CapturingProcessor::get_capture_buffers
BufferSet const & get_capture_buffers() const
Definition:
capturing_processor.h:35
ARDOUR::CapturingProcessor::_latency
samplecnt_t _latency
Definition:
capturing_processor.h:53
ARDOUR::CapturingProcessor::configure_io
bool configure_io(ChanCount in, ChanCount out)
ARDOUR::CapturingProcessor::state
XMLNode & state() const
ARDOUR::CapturingProcessor::CapturingProcessor
CapturingProcessor(Session &session, samplecnt_t latency)
ARDOUR::CapturingProcessor::display_to_user
bool display_to_user() const
Definition:
capturing_processor.h:38
ARDOUR::CapturingProcessor::run
void run(BufferSet &bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool result_required)
ARDOUR::CapturingProcessor::block_size
samplecnt_t block_size
Definition:
capturing_processor.h:50
ARDOUR::CapturingProcessor::can_support_io_configuration
bool can_support_io_configuration(const ChanCount &in, ChanCount &out)
ARDOUR::CapturingProcessor::set_block_size
int set_block_size(pframes_t nframes)
ARDOUR::CapturingProcessor::_delaybuffers
FixedDelay _delaybuffers
Definition:
capturing_processor.h:52
ARDOUR::CapturingProcessor::~CapturingProcessor
~CapturingProcessor()
ARDOUR::CapturingProcessor::capture_buffers
BufferSet capture_buffers
Definition:
capturing_processor.h:51
ARDOUR::ChanCount
Definition:
chan_count.h:38
ARDOUR::FixedDelay
Definition:
fixed_delay.h:44
ARDOUR::Processor
Definition:
processor.h:61
ARDOUR::Session
Definition:
session.h:211
XMLNode
Definition:
xml++.h:114
fixed_delay.h
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:38
ARDOUR::LuaBindings::session
void session(lua_State *L)
ARDOUR
Definition:
analysis_window.h:44
ARDOUR::pframes_t
uint32_t pframes_t
Definition:
ardour/ardour/types.h:86
ARDOUR::samplecnt_t
Temporal::samplecnt_t samplecnt_t
Definition:
ardour/ardour/types.h:89
ARDOUR::samplepos_t
Temporal::samplepos_t samplepos_t
Definition:
ardour/ardour/types.h:90
processor.h
libs
ardour
ardour
capturing_processor.h
Generated on Wed Dec 25 2024 05:44:03 for Ardour by
1.9.1