Ardour
8.12
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
#ifndef __ardour_sidechain_h__
20
#define __ardour_sidechain_h__
21
22
#include <string>
23
24
#include "
pbd/stateful.h
"
25
#include "
ardour/ardour.h
"
26
#include "
ardour/io_processor.h
"
27
28
namespace
ARDOUR
{
29
30
class
LIBARDOUR_API
SideChain
:
public
IOProcessor
31
{
32
public
:
33
SideChain
(
Session
&,
const
std::string&);
34
virtual
~SideChain
();
35
36
void
run
(
BufferSet
& bufs,
samplepos_t
start_sample,
samplepos_t
end_sample,
double
speed,
pframes_t
nframes,
bool
);
37
38
bool
can_support_io_configuration
(
const
ChanCount
& in,
ChanCount
& out);
39
bool
configure_io
(
ChanCount
in,
ChanCount
out);
40
41
int
set_state
(
const
XMLNode
&,
int
version);
42
43
protected
:
44
XMLNode
&
state
()
const
;
45
46
private
:
47
/* disallow copy construction */
48
SideChain
(
const
SideChain
&);
49
};
50
51
}
// namespace ARDOUR
52
53
#endif
// __ardour_sidechain_h__
ardour.h
ARDOUR::BufferSet
Definition:
buffer_set.h:68
ARDOUR::ChanCount
Definition:
chan_count.h:39
ARDOUR::IOProcessor
Definition:
io_processor.h:45
ARDOUR::Session
Definition:
session.h:207
ARDOUR::SideChain
Definition:
sidechain.h:31
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:39
ARDOUR
Definition:
analysis_window.h:45
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 Mon Mar 10 2025 20:26:29 for Ardour by
1.9.1