sequencer
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
sequencer::backend::synth::chain_t Struct Reference

#include <synth.hpp>

Collaboration diagram for sequencer::backend::synth::chain_t:
Collaboration graph
[legend]

Public Types

using spectrum_t = std::vector< std::complex< float > >
 

Public Member Functions

double operator() (double pos)
 
auto get_sample (int frame_pos, int sample_rate)
 
void set_highpass_frequency (double frequency)
 
void set_lowpass_frequency (double frequency)
 
void update_filter_spectrum (int N)
 
void filter (spectrum_t &spectrum) const
 

Public Attributes

audio::oscillator_t oscillator
 
audio::dry_wet_t< audio::oscillator_tring_modulation
 
audio::dry_wet_t< audio::oscillator_tfrequency_modulation
 
audio::envelope_t envelope
 
audio::dry_wet_t< audio::stereo_repeated_delay_t, true > delay {}
 
copyable_atomic< bool > vca_mode {false}
 
copyable_atomic< bool > vca_enabled {false}
 
copyable_atomic< double > lowpass_gain {1.0}
 
copyable_atomic< double > highpass_gain {1.0}
 
copyable_atomic< int > sample_rate {44100}
 
std::atomic_bool silent_ {false}
 
std::atomic_int osc_fade_out_ {0}
 
int fade_sample_count_ {110}
 

Static Public Attributes

static constexpr auto sub_sample_size = 4 * 1024
 
static constexpr auto M = 256
 

Member Typedef Documentation

◆ spectrum_t

using sequencer::backend::synth::chain_t::spectrum_t = std::vector< std::complex< float > >

Member Function Documentation

◆ filter()

void sequencer::backend::synth::chain_t::filter ( spectrum_t spectrum) const
inline

◆ get_sample()

auto sequencer::backend::synth::chain_t::get_sample ( int  frame_pos,
int  sample_rate 
)
inline

◆ operator()()

double sequencer::backend::synth::chain_t::operator() ( double  pos)
inline

◆ set_highpass_frequency()

void sequencer::backend::synth::chain_t::set_highpass_frequency ( double  frequency)
inline

◆ set_lowpass_frequency()

void sequencer::backend::synth::chain_t::set_lowpass_frequency ( double  frequency)
inline

◆ update_filter_spectrum()

void sequencer::backend::synth::chain_t::update_filter_spectrum ( int  N)
inline

Member Data Documentation

◆ delay

audio::dry_wet_t< audio::stereo_repeated_delay_t, true > sequencer::backend::synth::chain_t::delay {}

◆ envelope

audio::envelope_t sequencer::backend::synth::chain_t::envelope

◆ fade_sample_count_

int sequencer::backend::synth::chain_t::fade_sample_count_ {110}

◆ frequency_modulation

audio::dry_wet_t< audio::oscillator_t > sequencer::backend::synth::chain_t::frequency_modulation

◆ highpass_gain

copyable_atomic< double > sequencer::backend::synth::chain_t::highpass_gain {1.0}

◆ lowpass_gain

copyable_atomic< double > sequencer::backend::synth::chain_t::lowpass_gain {1.0}

◆ M

constexpr auto sequencer::backend::synth::chain_t::M = 256
static

◆ osc_fade_out_

std::atomic_int sequencer::backend::synth::chain_t::osc_fade_out_ {0}

◆ oscillator

audio::oscillator_t sequencer::backend::synth::chain_t::oscillator

◆ ring_modulation

audio::dry_wet_t< audio::oscillator_t > sequencer::backend::synth::chain_t::ring_modulation

◆ sample_rate

copyable_atomic< int > sequencer::backend::synth::chain_t::sample_rate {44100}

◆ silent_

std::atomic_bool sequencer::backend::synth::chain_t::silent_ {false}

◆ sub_sample_size

constexpr auto sequencer::backend::synth::chain_t::sub_sample_size = 4 * 1024
static

◆ vca_enabled

copyable_atomic< bool > sequencer::backend::synth::chain_t::vca_enabled {false}

◆ vca_mode

copyable_atomic< bool > sequencer::backend::synth::chain_t::vca_mode {false}

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