Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::DSP::Convolver Class Reference

#include <convolver.h>

Inheritance diagram for ARDOUR::DSP::Convolver:
[legend]

Classes

struct  IRSettings
 

Public Types

enum  IRChannelConfig { Mono , MonoToStereo , Stereo }
 

Public Member Functions

 Convolver (Session &, std::string const &, IRChannelConfig irc=Mono, IRSettings irs=IRSettings())
 
void run_mono_buffered (float *, uint32_t)
 
void run_stereo_buffered (float *L, float *R, uint32_t)
 
void run_mono_no_latency (float *, uint32_t)
 
void run_stereo_no_latency (float *L, float *R, uint32_t)
 
- Public Member Functions inherited from ARDOUR::DSP::Convolution
 Convolution (Session &, uint32_t n_in, uint32_t n_out)
 
virtual ~Convolution ()
 
bool add_impdata (uint32_t c_in, uint32_t c_out, std::shared_ptr< AudioReadable > r, float gain=1.0, uint32_t pre_delay=0, sampleoffset_t offset=0, samplecnt_t length=0, uint32_t channel=0)
 
bool ready () const
 
uint32_t latency () const
 
uint32_t n_inputs () const
 
uint32_t n_outputs () const
 
void clear_impdata ()
 
void restart ()
 
void run (BufferSet &, ChanMapping const &, ChanMapping const &, pframes_t, samplecnt_t)
 
void run_mono_buffered (float *, uint32_t)
 
void run_mono_no_latency (float *, uint32_t)
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Static Public Member Functions

static uint32_t ircc_in (IRChannelConfig irc)
 
static uint32_t ircc_out (IRChannelConfig irc)
 

Private Attributes

std::vector< std::shared_ptr< AudioReadable > > _readables
 
IRChannelConfig _irc
 
IRSettings _ir_settings
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- Protected Attributes inherited from ARDOUR::DSP::Convolution
ArdourZita::Convproc _convproc
 
uint32_t _n_samples
 
uint32_t _max_size
 
uint32_t _offset
 
bool _configured
 
bool _threaded
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 

Detailed Description

Definition at line 123 of file convolver.h.

Member Enumeration Documentation

◆ IRChannelConfig

Enumerator
Mono 

1 in, 1 out; 1ch IR

MonoToStereo 

1 in, 2 out, stereo IR M -> L, M -> R

Stereo 

2 in, 2 out, stereo IR L -> L, R -> R || 4 chan IR L -> L, L -> R, R -> R, R -> L

Definition at line 126 of file convolver.h.

Constructor & Destructor Documentation

◆ Convolver()

ARDOUR::DSP::Convolver::Convolver ( Session ,
std::string const &  ,
IRChannelConfig  irc = Mono,
IRSettings  irs = IRSettings() 
)

Member Function Documentation

◆ ircc_in()

static uint32_t ARDOUR::DSP::Convolver::ircc_in ( IRChannelConfig  irc)
inlinestatic

Definition at line 132 of file convolver.h.

◆ ircc_out()

static uint32_t ARDOUR::DSP::Convolver::ircc_out ( IRChannelConfig  irc)
inlinestatic

Definition at line 136 of file convolver.h.

◆ run_mono_buffered()

void ARDOUR::DSP::Convolver::run_mono_buffered ( float *  ,
uint32_t   
)

◆ run_mono_no_latency()

void ARDOUR::DSP::Convolver::run_mono_no_latency ( float *  ,
uint32_t   
)

◆ run_stereo_buffered()

void ARDOUR::DSP::Convolver::run_stereo_buffered ( float *  L,
float *  R,
uint32_t   
)

◆ run_stereo_no_latency()

void ARDOUR::DSP::Convolver::run_stereo_no_latency ( float *  L,
float *  R,
uint32_t   
)

Member Data Documentation

◆ _ir_settings

IRSettings ARDOUR::DSP::Convolver::_ir_settings
private

Definition at line 183 of file convolver.h.

◆ _irc

IRChannelConfig ARDOUR::DSP::Convolver::_irc
private

Definition at line 182 of file convolver.h.

◆ _readables

std::vector<std::shared_ptr<AudioReadable> > ARDOUR::DSP::Convolver::_readables
private

Definition at line 180 of file convolver.h.


The documentation for this class was generated from the following file: