Ardour  9.0-pre0-582-g084a23a80d
ArdourZita::Convproc Class Reference

#include <zita-convolver.h>

Public Types

enum  { ST_IDLE , ST_STOP , ST_WAIT , ST_PROC }
 
enum  { FL_LATE = 0x0000FFFF , FL_LOAD = 0x01000000 }
 
enum  { OPT_FFTW_MEASURE = Convlevel::OPT_FFTW_MEASURE , OPT_VECTOR_MODE = Convlevel::OPT_VECTOR_MODE , OPT_LATE_CONTIN = Convlevel::OPT_LATE_CONTIN }
 
enum  {
  MAXINP = 64 , MAXOUT = 64 , MAXLEV = 8 , MINPART = 64 ,
  MAXPART = 8192 , MAXDIVIS = 16 , MINQUANT = 16 , MAXQUANT = 8192
}
 

Public Member Functions

 Convproc (void)
 
 ~Convproc (void)
 
uint32_t state (void) const
 
float * inpdata (uint32_t inp) const
 
float * outdata (uint32_t out) const
 
int configure (uint32_t ninp, uint32_t nout, uint32_t maxsize, uint32_t quantum, uint32_t minpart, uint32_t maxpart, float density)
 
int impdata_create (uint32_t inp, uint32_t out, int32_t step, float *data, int32_t ind0, int32_t ind1)
 
int impdata_clear (uint32_t inp, uint32_t out)
 
void set_options (uint32_t options)
 
int reset (void)
 
int start_process (int abspri, int policy)
 
int process ()
 
int tailonly (uint32_t n_samples)
 
int stop_process (void)
 
bool check_started (uint32_t)
 
bool check_stop (void)
 
int cleanup (void)
 
void print (FILE *F=stdout)
 

Private Attributes

uint32_t _state
 
float * _inpbuff [MAXINP]
 
float * _outbuff [MAXOUT]
 
uint32_t _inpoffs
 
uint32_t _outoffs
 
uint32_t _options
 
uint32_t _ninp
 
uint32_t _nout
 
uint32_t _quantum
 
uint32_t _minpart
 
uint32_t _maxpart
 
uint32_t _nlevels
 
uint32_t _inpsize
 
uint32_t _latecnt
 
Convlevel_convlev [MAXLEV]
 
void * _dummy [64]
 

Static Private Attributes

static float _mac_cost
 
static float _fft_cost
 

Detailed Description

Definition at line 323 of file zita-convolver.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ST_IDLE 
ST_STOP 
ST_WAIT 
ST_PROC 

Definition at line 329 of file zita-convolver.h.

◆ anonymous enum

anonymous enum
Enumerator
FL_LATE 
FL_LOAD 

Definition at line 336 of file zita-convolver.h.

◆ anonymous enum

anonymous enum
Enumerator
OPT_FFTW_MEASURE 
OPT_VECTOR_MODE 
OPT_LATE_CONTIN 

Definition at line 341 of file zita-convolver.h.

◆ anonymous enum

anonymous enum
Enumerator
MAXINP 
MAXOUT 
MAXLEV 
MINPART 
MAXPART 
MAXDIVIS 
MINQUANT 
MAXQUANT 

Definition at line 347 of file zita-convolver.h.

Constructor & Destructor Documentation

◆ Convproc()

ArdourZita::Convproc::Convproc ( void  )

◆ ~Convproc()

ArdourZita::Convproc::~Convproc ( void  )

Member Function Documentation

◆ check_started()

bool ArdourZita::Convproc::check_started ( uint32_t  )

◆ check_stop()

bool ArdourZita::Convproc::check_stop ( void  )

◆ cleanup()

int ArdourZita::Convproc::cleanup ( void  )

◆ configure()

int ArdourZita::Convproc::configure ( uint32_t  ninp,
uint32_t  nout,
uint32_t  maxsize,
uint32_t  quantum,
uint32_t  minpart,
uint32_t  maxpart,
float  density 
)

◆ impdata_clear()

int ArdourZita::Convproc::impdata_clear ( uint32_t  inp,
uint32_t  out 
)

◆ impdata_create()

int ArdourZita::Convproc::impdata_create ( uint32_t  inp,
uint32_t  out,
int32_t  step,
float *  data,
int32_t  ind0,
int32_t  ind1 
)

◆ inpdata()

float* ArdourZita::Convproc::inpdata ( uint32_t  inp) const
inline

Definition at line 363 of file zita-convolver.h.

◆ outdata()

float* ArdourZita::Convproc::outdata ( uint32_t  out) const
inline

Definition at line 368 of file zita-convolver.h.

◆ print()

void ArdourZita::Convproc::print ( FILE *  F = stdout)

◆ process()

int ArdourZita::Convproc::process ( )

◆ reset()

int ArdourZita::Convproc::reset ( void  )

◆ set_options()

void ArdourZita::Convproc::set_options ( uint32_t  options)

◆ start_process()

int ArdourZita::Convproc::start_process ( int  abspri,
int  policy 
)

◆ state()

uint32_t ArdourZita::Convproc::state ( void  ) const
inline

Definition at line 358 of file zita-convolver.h.

◆ stop_process()

int ArdourZita::Convproc::stop_process ( void  )

◆ tailonly()

int ArdourZita::Convproc::tailonly ( uint32_t  n_samples)

Member Data Documentation

◆ _convlev

Convlevel* ArdourZita::Convproc::_convlev[MAXLEV]
private

Definition at line 424 of file zita-convolver.h.

◆ _dummy

void* ArdourZita::Convproc::_dummy[64]
private

Definition at line 425 of file zita-convolver.h.

◆ _fft_cost

float ArdourZita::Convproc::_fft_cost
staticprivate

Definition at line 428 of file zita-convolver.h.

◆ _inpbuff

float* ArdourZita::Convproc::_inpbuff[MAXINP]
private

Definition at line 411 of file zita-convolver.h.

◆ _inpoffs

uint32_t ArdourZita::Convproc::_inpoffs
private

Definition at line 413 of file zita-convolver.h.

◆ _inpsize

uint32_t ArdourZita::Convproc::_inpsize
private

Definition at line 422 of file zita-convolver.h.

◆ _latecnt

uint32_t ArdourZita::Convproc::_latecnt
private

Definition at line 423 of file zita-convolver.h.

◆ _mac_cost

float ArdourZita::Convproc::_mac_cost
staticprivate

Definition at line 427 of file zita-convolver.h.

◆ _maxpart

uint32_t ArdourZita::Convproc::_maxpart
private

Definition at line 420 of file zita-convolver.h.

◆ _minpart

uint32_t ArdourZita::Convproc::_minpart
private

Definition at line 419 of file zita-convolver.h.

◆ _ninp

uint32_t ArdourZita::Convproc::_ninp
private

Definition at line 416 of file zita-convolver.h.

◆ _nlevels

uint32_t ArdourZita::Convproc::_nlevels
private

Definition at line 421 of file zita-convolver.h.

◆ _nout

uint32_t ArdourZita::Convproc::_nout
private

Definition at line 417 of file zita-convolver.h.

◆ _options

uint32_t ArdourZita::Convproc::_options
private

Definition at line 415 of file zita-convolver.h.

◆ _outbuff

float* ArdourZita::Convproc::_outbuff[MAXOUT]
private

Definition at line 412 of file zita-convolver.h.

◆ _outoffs

uint32_t ArdourZita::Convproc::_outoffs
private

Definition at line 414 of file zita-convolver.h.

◆ _quantum

uint32_t ArdourZita::Convproc::_quantum
private

Definition at line 418 of file zita-convolver.h.

◆ _state

uint32_t ArdourZita::Convproc::_state
private

Definition at line 410 of file zita-convolver.h.


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