LMMS
Loading...
Searching...
No Matches
dsp::waveform_family< SIZE_BITS > Struct Template Reference

Set of bandlimited wavetables. More...

#include <osc.h>

Inheritance diagram for dsp::waveform_family< SIZE_BITS >:

Public Types

enum  { SIZE = 1 << SIZE_BITS }

Public Member Functions

void make (bandlimiter< SIZE_BITS > &bl, float input[SIZE], bool foldover=false, uint32_t limit=SIZE/2)
void make_from_spectrum (bandlimiter< SIZE_BITS > &bl, bool foldover=false, uint32_t limit=SIZE/2)
float * get_level (uint32_t phase_delta)
 Retrieve waveform pointer suitable for specified phase_delta.
 ~waveform_family ()
 Destructor, deletes the waveforms and removes them from the map.

Public Attributes

float original [SIZE]

Detailed Description

template<int SIZE_BITS>
struct dsp::waveform_family< SIZE_BITS >

Set of bandlimited wavetables.

Member Enumeration Documentation

◆ anonymous enum

template<int SIZE_BITS>
anonymous enum
Enumerator
SIZE 

Constructor & Destructor Documentation

◆ ~waveform_family()

template<int SIZE_BITS>
dsp::waveform_family< SIZE_BITS >::~waveform_family ( )
inline

Destructor, deletes the waveforms and removes them from the map.

Member Function Documentation

◆ get_level()

template<int SIZE_BITS>
float * dsp::waveform_family< SIZE_BITS >::get_level ( uint32_t phase_delta)
inline

Retrieve waveform pointer suitable for specified phase_delta.

◆ make()

template<int SIZE_BITS>
void dsp::waveform_family< SIZE_BITS >::make ( bandlimiter< SIZE_BITS > & bl,
float input[SIZE],
bool foldover = false,
uint32_t limit = SIZE / 2 )
inline

Fill the family using specified bandlimiter and original waveform. Optionally apply foldover. Does not produce harmonics over specified limit (limit = (SIZE / 2) / min_number_of_harmonics)

◆ make_from_spectrum()

template<int SIZE_BITS>
void dsp::waveform_family< SIZE_BITS >::make_from_spectrum ( bandlimiter< SIZE_BITS > & bl,
bool foldover = false,
uint32_t limit = SIZE / 2 )
inline

Fill the family using specified bandlimiter and spectrum contained within. Optionally apply foldover. Does not produce harmonics over specified limit (limit = (SIZE / 2) / min_number_of_harmonics)

Member Data Documentation

◆ original

template<int SIZE_BITS>
float dsp::waveform_family< SIZE_BITS >::original[SIZE]

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