Ardour
9.0-pre0-582-g084a23a80d
sidechain.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2016-2017 Robin Gareus <robin@gareus.org>
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 along
15
* with this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
*/
18
19
#pragma once
20
21
#include <string>
22
23
#include "
pbd/stateful.h
"
24
#include "
ardour/ardour.h
"
25
#include "
ardour/io_processor.h
"
26
27
namespace
ARDOUR
{
28
29
class
LIBARDOUR_API
SideChain
:
public
IOProcessor
30
{
31
public
:
32
SideChain
(
Session
&,
const
std::string&);
33
virtual
~SideChain
();
34
35
void
run
(
BufferSet
& bufs,
samplepos_t
start_sample,
samplepos_t
end_sample,
double
speed,
pframes_t
nframes,
bool
);
36
37
bool
can_support_io_configuration
(
const
ChanCount
& in,
ChanCount
& out);
38
bool
configure_io
(
ChanCount
in,
ChanCount
out);
39
40
int
set_state
(
const
XMLNode
&,
int
version);
41
42
protected
:
43
XMLNode
&
state
()
const
;
44
45
private
:
46
/* disallow copy construction */
47
SideChain
(
const
SideChain
&);
48
};
49
50
}
// namespace ARDOUR
51
ardour.h
ARDOUR::BufferSet
Definition:
buffer_set.h:67
ARDOUR::ChanCount
Definition:
chan_count.h:38
ARDOUR::IOProcessor
Definition:
io_processor.h:44
ARDOUR::Session
Definition:
session.h:211
ARDOUR::SideChain
Definition:
sidechain.h:30
ARDOUR::SideChain::SideChain
SideChain(const SideChain &)
ARDOUR::SideChain::SideChain
SideChain(Session &, const std::string &)
ARDOUR::SideChain::run
void run(BufferSet &bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool)
ARDOUR::SideChain::set_state
int set_state(const XMLNode &, int version)
ARDOUR::SideChain::~SideChain
virtual ~SideChain()
ARDOUR::SideChain::state
XMLNode & state() const
ARDOUR::SideChain::can_support_io_configuration
bool can_support_io_configuration(const ChanCount &in, ChanCount &out)
ARDOUR::SideChain::configure_io
bool configure_io(ChanCount in, ChanCount out)
XMLNode
Definition:
xml++.h:114
io_processor.h
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:38
ARDOUR
Definition:
analysis_window.h:44
ARDOUR::pframes_t
uint32_t pframes_t
Definition:
ardour/ardour/types.h:86
ARDOUR::samplepos_t
Temporal::samplepos_t samplepos_t
Definition:
ardour/ardour/types.h:90
stateful.h
libs
ardour
ardour
sidechain.h
Generated on Wed Dec 25 2024 05:44:48 for Ardour by
1.9.1