LMMS
Loading...
Searching...
No Matches
dsp::percussion_voice Class Reference

Not a true voice, just something with similar-ish interface. More...

#include <organ.h>

Inheritance diagram for dsp::percussion_voice:
dsp::organ_voice_base calf_plugins::organ_enums

Public Member Functions

 percussion_voice (organ_parameters *_parameters)
bool get_active ()
bool get_noticable ()
void setup (int sr)
Public Member Functions inherited from dsp::organ_voice_base
void update_pitch ()
void render_percussion_to (float(*buf)[2], int nsamples)
void perc_note_on (int note, int vel)
void perc_note_off (int note, int vel)
void perc_reset ()

Public Attributes

int sample_rate
bool released
Public Attributes inherited from dsp::organ_voice_base
organ_parametersparameters

Additional Inherited Members

Public Types inherited from dsp::organ_voice_base
typedef waveform_family< ORGAN_WAVE_BITSsmall_wave_family
typedef waveform_family< ORGAN_BIG_WAVE_BITSbig_wave_family
Public Types inherited from calf_plugins::organ_enums
enum  {
  par_drawbar1 , par_drawbar2 , par_drawbar3 , par_drawbar4 ,
  par_drawbar5 , par_drawbar6 , par_drawbar7 , par_drawbar8 ,
  par_drawbar9 , par_frequency1 , par_frequency2 , par_frequency3 ,
  par_frequency4 , par_frequency5 , par_frequency6 , par_frequency7 ,
  par_frequency8 , par_frequency9 , par_waveform1 , par_waveform2 ,
  par_waveform3 , par_waveform4 , par_waveform5 , par_waveform6 ,
  par_waveform7 , par_waveform8 , par_waveform9 , par_detune1 ,
  par_detune2 , par_detune3 , par_detune4 , par_detune5 ,
  par_detune6 , par_detune7 , par_detune8 , par_detune9 ,
  par_phase1 , par_phase2 , par_phase3 , par_phase4 ,
  par_phase5 , par_phase6 , par_phase7 , par_phase8 ,
  par_phase9 , par_pan1 , par_pan2 , par_pan3 ,
  par_pan4 , par_pan5 , par_pan6 , par_pan7 ,
  par_pan8 , par_pan9 , par_routing1 , par_routing2 ,
  par_routing3 , par_routing4 , par_routing5 , par_routing6 ,
  par_routing7 , par_routing8 , par_routing9 , par_foldover ,
  par_percdecay , par_perclevel , par_percwave , par_percharm ,
  par_percvel2amp , par_percfmdecay , par_percfmdepth , par_percfmwave ,
  par_percfmharm , par_percvel2fm , par_perctrigger , par_percstereo ,
  par_filterchain , par_filter1type , par_master , par_f1cutoff ,
  par_f1res , par_f1env1 , par_f1env2 , par_f1env3 ,
  par_f1keyf , par_f2cutoff , par_f2res , par_f2env1 ,
  par_f2env2 , par_f2env3 , par_f2keyf , par_eg1attack ,
  par_eg1decay , par_eg1sustain , par_eg1release , par_eg1velscl ,
  par_eg1ampctl , par_eg2attack , par_eg2decay , par_eg2sustain ,
  par_eg2release , par_eg2velscl , par_eg2ampctl , par_eg3attack ,
  par_eg3decay , par_eg3sustain , par_eg3release , par_eg3velscl ,
  par_eg3ampctl , par_lforate , par_lfoamt , par_lfowet ,
  par_lfophase , par_lfomode , par_lfotype , par_transpose ,
  par_detune , par_polyphony , par_quadenv , par_pwhlrange ,
  par_bassfreq , par_bassgain , par_treblefreq , par_treblegain ,
  par_midi , param_count
}
enum  organ_waveform {
  wave_sine , wave_sinepl1 , wave_sinepl2 , wave_sinepl3 ,
  wave_ssaw , wave_ssqr , wave_spls , wave_saw ,
  wave_sqr , wave_pulse , wave_sinepl05 , wave_sqr05 ,
  wave_halfsin , wave_clvg , wave_bell , wave_bell2 ,
  wave_w1 , wave_w2 , wave_w3 , wave_w4 ,
  wave_w5 , wave_w6 , wave_w7 , wave_w8 ,
  wave_w9 , wave_dsaw , wave_dsqr , wave_dpls ,
  wave_count_small , wave_strings = wave_count_small , wave_strings2 , wave_sinepad ,
  wave_bellpad , wave_space , wave_choir , wave_choir2 ,
  wave_choir3 , wave_count , wave_count_big = wave_count - wave_count_small
}
enum  {
  ampctl_none , ampctl_direct , ampctl_f1 , ampctl_f2 ,
  ampctl_all , ampctl_count
}
enum  {
  lfotype_allpass = 0 , lfotype_cv1 , lfotype_cv2 , lfotype_cv3 ,
  lfotype_cvfull , lfotype_count
}
enum  {
  lfomode_off = 0 , lfomode_direct , lfomode_filter1 , lfomode_filter2 ,
  lfomode_voice , lfomode_global , lfomode_count
}
enum  {
  perctrig_first = 0 , perctrig_each , perctrig_eachplus , perctrig_polyphonic ,
  perctrig_count
}
Static Public Member Functions inherited from dsp::organ_voice_base
static small_wave_familyget_wave (int wave)
static big_wave_familyget_big_wave (int wave)
static void precalculate_waves (calf_plugins::progress_report_iface *reporter)
Protected Member Functions inherited from dsp::organ_voice_base
 organ_voice_base (organ_parameters *_parameters, int &_sample_rate_ref, bool &_released_ref)
float wave (float *data, dsp::fixed_point< int, 20 > ph)
float big_wave (float *data, dsp::fixed_point< int64_t, 20 > &ph)
Protected Attributes inherited from dsp::organ_voice_base
int note
dsp::decay amp
dsp::decay pamp
 percussion FM carrier amplitude envelope
dsp::decay fm_amp
 percussion FM modulator amplitude envelope
dsp::fixed_point< int64_t, 20 > pphase
dsp::fixed_point< int64_t, 20 > dpphase
dsp::fixed_point< int64_t, 20 > modphase
dsp::fixed_point< int64_t, 20 > moddphase
float fm_keytrack
intsample_rate_ref
bool & released_ref
float rel_age_const
 pamp per-sample (linear) step during release stage (calculated on release so that it will take 30ms for it to go from "current value at release point" to 0)
Static Protected Attributes inherited from dsp::organ_voice_base
static small_wave_family(* waves )[wave_count_small]
static big_wave_family(* big_waves )[wave_count_big]

Detailed Description

Not a true voice, just something with similar-ish interface.

Constructor & Destructor Documentation

◆ percussion_voice()

dsp::percussion_voice::percussion_voice ( organ_parameters * _parameters)
inline

Member Function Documentation

◆ get_active()

bool dsp::percussion_voice::get_active ( )
inline

◆ get_noticable()

bool dsp::percussion_voice::get_noticable ( )
inline

◆ setup()

void dsp::percussion_voice::setup ( int sr)
inline

Member Data Documentation

◆ released

bool dsp::percussion_voice::released

◆ sample_rate

int dsp::percussion_voice::sample_rate

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