LMMS
Loading...
Searching...
No Matches
lmms::MonstroSynth Class Reference

#include <Monstro.h>

Public Member Functions

 MonstroSynth (MonstroInstrument *_i, NotePlayHandle *_nph)
virtual ~MonstroSynth ()=default
void renderOutput (f_cnt_t _frames, SampleFrame *_buf)

Private Member Functions

void updateModulators (float *env1, float *env2, float *lfo1, float *lfo2, f_cnt_t frames)
sample_t calcSlope (int slope, sample_t s)
float lowBoundCheck (float ph)
sample_t oscillate (int _wave, const float _ph, float _wavelen)

Private Attributes

MonstroInstrumentm_parent
NotePlayHandlem_nph
float m_osc1l_phase
float m_osc1r_phase
float m_osc2l_phase
float m_osc2r_phase
float m_osc3l_phase
float m_osc3r_phase
sample_t m_env_phase [2]
float m_lfo_phase [2]
sample_t m_lfo_last [2]
sample_t m_lfo_next [2]
float m_lfo_inc [2]
float m_lfo_rate [2]
float m_env_sus [2]
int m_lfovalue [2]
int m_lfoatt [2]
float m_env_pre [2]
float m_env_att [2]
float m_env_hold [2]
float m_env_dec [2]
float m_env_rel [2]
sample_t m_osc1l_last
sample_t m_osc1r_last
sample_t m_l_last
sample_t m_r_last
float m_ph2l_last
float m_ph2r_last
float m_ph3l_last
float m_ph3r_last
bool m_invert2l
bool m_invert3l
bool m_invert2r
bool m_invert3r
int m_counter2l
int m_counter2r
int m_counter3l
int m_counter3r
std::vector< float > m_lfo [2]
std::vector< float > m_env [2]

Constructor & Destructor Documentation

◆ MonstroSynth()

lmms::MonstroSynth::MonstroSynth ( MonstroInstrument * _i,
NotePlayHandle * _nph )

◆ ~MonstroSynth()

virtual lmms::MonstroSynth::~MonstroSynth ( )
virtualdefault

Member Function Documentation

◆ calcSlope()

sample_t lmms::MonstroSynth::calcSlope ( int slope,
sample_t s )
inlineprivate

◆ lowBoundCheck()

float lmms::MonstroSynth::lowBoundCheck ( float ph)
inlineprivate

◆ oscillate()

sample_t lmms::MonstroSynth::oscillate ( int _wave,
const float _ph,
float _wavelen )
inlineprivate

◆ renderOutput()

void lmms::MonstroSynth::renderOutput ( f_cnt_t _frames,
SampleFrame * _buf )

◆ updateModulators()

void lmms::MonstroSynth::updateModulators ( float * env1,
float * env2,
float * lfo1,
float * lfo2,
f_cnt_t frames )
inlineprivate

Member Data Documentation

◆ m_counter2l

int lmms::MonstroSynth::m_counter2l
private

◆ m_counter2r

int lmms::MonstroSynth::m_counter2r
private

◆ m_counter3l

int lmms::MonstroSynth::m_counter3l
private

◆ m_counter3r

int lmms::MonstroSynth::m_counter3r
private

◆ m_env

std::vector<float> lmms::MonstroSynth::m_env[2]
private

◆ m_env_att

float lmms::MonstroSynth::m_env_att[2]
private

◆ m_env_dec

float lmms::MonstroSynth::m_env_dec[2]
private

◆ m_env_hold

float lmms::MonstroSynth::m_env_hold[2]
private

◆ m_env_phase

sample_t lmms::MonstroSynth::m_env_phase[2]
private

◆ m_env_pre

float lmms::MonstroSynth::m_env_pre[2]
private

◆ m_env_rel

float lmms::MonstroSynth::m_env_rel[2]
private

◆ m_env_sus

float lmms::MonstroSynth::m_env_sus[2]
private

◆ m_invert2l

bool lmms::MonstroSynth::m_invert2l
private

◆ m_invert2r

bool lmms::MonstroSynth::m_invert2r
private

◆ m_invert3l

bool lmms::MonstroSynth::m_invert3l
private

◆ m_invert3r

bool lmms::MonstroSynth::m_invert3r
private

◆ m_l_last

sample_t lmms::MonstroSynth::m_l_last
private

◆ m_lfo

std::vector<float> lmms::MonstroSynth::m_lfo[2]
private

◆ m_lfo_inc

float lmms::MonstroSynth::m_lfo_inc[2]
private

◆ m_lfo_last

sample_t lmms::MonstroSynth::m_lfo_last[2]
private

◆ m_lfo_next

sample_t lmms::MonstroSynth::m_lfo_next[2]
private

◆ m_lfo_phase

float lmms::MonstroSynth::m_lfo_phase[2]
private

◆ m_lfo_rate

float lmms::MonstroSynth::m_lfo_rate[2]
private

◆ m_lfoatt

int lmms::MonstroSynth::m_lfoatt[2]
private

◆ m_lfovalue

int lmms::MonstroSynth::m_lfovalue[2]
private

◆ m_nph

NotePlayHandle* lmms::MonstroSynth::m_nph
private

◆ m_osc1l_last

sample_t lmms::MonstroSynth::m_osc1l_last
private

◆ m_osc1l_phase

float lmms::MonstroSynth::m_osc1l_phase
private

◆ m_osc1r_last

sample_t lmms::MonstroSynth::m_osc1r_last
private

◆ m_osc1r_phase

float lmms::MonstroSynth::m_osc1r_phase
private

◆ m_osc2l_phase

float lmms::MonstroSynth::m_osc2l_phase
private

◆ m_osc2r_phase

float lmms::MonstroSynth::m_osc2r_phase
private

◆ m_osc3l_phase

float lmms::MonstroSynth::m_osc3l_phase
private

◆ m_osc3r_phase

float lmms::MonstroSynth::m_osc3r_phase
private

◆ m_parent

MonstroInstrument* lmms::MonstroSynth::m_parent
private

◆ m_ph2l_last

float lmms::MonstroSynth::m_ph2l_last
private

◆ m_ph2r_last

float lmms::MonstroSynth::m_ph2r_last
private

◆ m_ph3l_last

float lmms::MonstroSynth::m_ph3l_last
private

◆ m_ph3r_last

float lmms::MonstroSynth::m_ph3r_last
private

◆ m_r_last

sample_t lmms::MonstroSynth::m_r_last
private

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