static void runAddingSvf(LADSPA_Handle instance, unsigned long sample_count) { Svf *plugin_data = (Svf *)instance; LADSPA_Data run_adding_gain = plugin_data->run_adding_gain; /* Input (array of floats of length sample_count) */ const LADSPA_Data * const input = plugin_data->input; /* Output (array of floats of length sample_count) */ LADSPA_Data * const output = plugin_data->output; /* Filter type (0=none, 1=LP, 2=HP, 3=BP, 4=BR, 5=AP) (float value) */ const LADSPA_Data filt_type = *(plugin_data->filt_type); /* Filter freq (float value) */ const LADSPA_Data filt_freq = *(plugin_data->filt_freq); /* Filter Q (float value) */ const LADSPA_Data filt_q = *(plugin_data->filt_q); /* Filter resonance (float value) */ const LADSPA_Data filt_res = *(plugin_data->filt_res); int sample_rate = plugin_data->sample_rate; sv_filter * svf = plugin_data->svf; #line 108 "svf_1214.xml" long int pos; setup_svf(svf, sample_rate, filt_freq, filt_q, f_round(filt_type)); for (pos = 0; pos < sample_count; pos++) { buffer_write(output[pos], run_svf(svf, input[pos] + (svf->b * filt_res))); } }
static void activateHermesFilter(LV2_Handle instance) { HermesFilter *plugin_data = (HermesFilter *)instance; blo_h_tables * tables __attribute__ ((unused)) = plugin_data->tables; blo_h_osc * osc1_d __attribute__ ((unused)) = plugin_data->osc1_d; blo_h_osc * osc2_d __attribute__ ((unused)) = plugin_data->osc2_d; blo_h_osc * lfo1_d __attribute__ ((unused)) = plugin_data->lfo1_d; blo_h_osc * lfo2_d __attribute__ ((unused)) = plugin_data->lfo2_d; float lfo1 __attribute__ ((unused)) = plugin_data->lfo1; float lfo2 __attribute__ ((unused)) = plugin_data->lfo2; float lfo1_phase __attribute__ ((unused)) = plugin_data->lfo1_phase; float lfo2_phase __attribute__ ((unused)) = plugin_data->lfo2_phase; sv_filter ** filt_data __attribute__ ((unused)) = plugin_data->filt_data; sv_filter * xover_b1_data __attribute__ ((unused)) = plugin_data->xover_b1_data; sv_filter * xover_b2_data __attribute__ ((unused)) = plugin_data->xover_b2_data; float ** dela_data __attribute__ ((unused)) = plugin_data->dela_data; int * dela_pos __attribute__ ((unused)) = plugin_data->dela_pos; long count __attribute__ ((unused)) = plugin_data->count; setup_svf(filt_data[0], 0, 0, 0, 0); setup_svf(filt_data[1], 0, 0, 0, 0); setup_svf(filt_data[2], 0, 0, 0, 0); setup_svf(xover_b1_data, sample_rate, 1000.0, 0.0, F_HP); setup_svf(xover_b2_data, sample_rate, 100.0, 0.0, F_LP); memset(dela_data[0], 0, sample_rate * 2 * sizeof(float)); memset(dela_data[1], 0, sample_rate * 2 * sizeof(float)); memset(dela_data[2], 0, sample_rate * 2 * sizeof(float)); dela_pos[0] = 0; dela_pos[1] = 0; dela_pos[2] = 0; /* osc1_d->ph.all = 0; osc2_d->ph.all = 0; lfo1_d->ph.all = 0; lfo2_d->ph.all = 0; */ count = 0; lfo1 = 0.0f; lfo2 = 0.0f; lfo1_phase = 0.0f; lfo2_phase = 0.0f; }
static void activateSvf(LADSPA_Handle instance) { Svf *plugin_data = (Svf *)instance; int sample_rate = plugin_data->sample_rate; sv_filter *svf = plugin_data->svf; #line 100 "svf_1214.xml" setup_svf(svf, 0, 0, 0, 0); plugin_data->sample_rate = sample_rate; plugin_data->svf = svf; }
static t_int *svf_perform(t_int *w) { t_svf *obj = (t_svf *)(w[1]); t_float *in = (t_float *)(w[2]); t_float *freq = (t_float *)(w[3]); t_float *q = (t_float *)(w[4]); t_float *res = (t_float *)(w[5]); t_float *out = (t_float *)(w[6]); int n = (int)(w[7]); while (n--) { float f = *(in++); setup_svf(obj, *(freq++), *(q++)); *(out++) = run_svf(obj, f + ((obj->b) * (*(res++)))); } return (w+8); }