Audio Processing Framework (APF) version 0.5.0
|
A block-based delay line where negative delay is possible. More...
#include <apf/blockdelayline.h>
Public Types | |
using | difference_type = typename _base::circulator::difference_type |
using | size_type = typename Container::size_type |
using | circulator = apf::circular_iterator< typename Container::iterator > |
Public Member Functions | |
NonCausalBlockDelayLine (size_type block_size, size_type max_delay, size_type initial_delay) | |
Constructor. More... | |
void | advance () |
template<typename Iterator > | |
void | write_block (Iterator source) |
pointer | get_write_pointer () const |
bool | delay_is_valid (difference_type delay, difference_type &corrected) const |
Check if a given delay is valid. More... | |
bool | delay_is_valid (difference_type delay) const |
Return true if delay is valid. More... | |
template<typename Iterator > | |
bool | read_block (Iterator destination, difference_type delay) const |
template<typename Iterator > | |
bool | read_block (Iterator destination, difference_type delay, T weight) const |
circulator | get_read_circulator (difference_type delay=0) const |
A block-based delay line where negative delay is possible.
This is done by delaying everything by a given initial delay. The (absolute value of the) negative delay can be at most as large as the initial delay.
Definition at line 224 of file blockdelayline.h.
using apf::NonCausalBlockDelayLine< T, Container >::difference_type = typename _base::circulator::difference_type |
Definition at line 232 of file blockdelayline.h.
using apf::BlockDelayLine< T, Container >::size_type = typename Container::size_type |
Definition at line 50 of file blockdelayline.h.
using apf::BlockDelayLine< T, Container >::circulator = apf::circular_iterator<typename Container::iterator> |
Definition at line 53 of file blockdelayline.h.
|
inline |
Constructor.
initial_delay | initial delay |
block_size | Block size |
max_delay | Maximum delay in samples |
initial_delay | Additional delay to achieve negative delay |
Definition at line 239 of file blockdelayline.h.
void apf::NonCausalBlockDelayLine< T, Container >::advance | ( | ) |
void apf::NonCausalBlockDelayLine< T, Container >::write_block | ( | Iterator | source | ) |
pointer apf::NonCausalBlockDelayLine< T, Container >::get_write_pointer | ( | ) | const |
|
inline |
Check if a given delay is valid.
delay | Desired delay | |
[out] | corrected | If valid, the same as delay , if too low/high, the minimum/maximum possible delay, respectively. |
delay
is valid. Definition at line 266 of file blockdelayline.h.
References apf::BlockDelayLine< T, Container >::delay_is_valid().
Referenced by apf::NonCausalBlockDelayLine< T, Container >::delay_is_valid().
|
inline |
Return true if delay
is valid.
Definition at line 281 of file blockdelayline.h.
References apf::NonCausalBlockDelayLine< T, Container >::delay_is_valid().
|
inline |
Definition at line 289 of file blockdelayline.h.
References apf::BlockDelayLine< T, Container >::read_block().
|
inline |
Definition at line 298 of file blockdelayline.h.
References apf::BlockDelayLine< T, Container >::read_block().
|
inline |
Definition at line 306 of file blockdelayline.h.
References apf::BlockDelayLine< T, Container >::get_read_circulator().