void lp_ladspa_knob_float::emit_changed(double val)
{
	if(val != pv_last_val){
		pv_last_val = val;
		//sp_val->setValue(val);
		if(pv_is_log == true){
			val = pow(10.0, val);
			//val = exp(val);
		}
		emit(val_changed((float)val));
	}
}
Beispiel #2
0
void GxCabinet::run_dsp_mono(uint32_t n_samples)
{
  cur_bufsize = n_samples;
  if (*(schedule_ok) != schedule_ok_) *(schedule_ok) = schedule_ok_;
  // run dsp
  memcpy(output, input, n_samples * sizeof(float));
  // run selected cabinet convolver
  cabconv.run_static(n_samples, &cabconv, output);

  // work ?
  if (!atomic_get(schedule_wait) && (val_changed() || buffsize_changed()))
    {
      clevel_ = (*clevel);
      cbass_ = (*cbass);
      ctreble_ = (*ctreble);
      c_model_= (*c_model);
      atomic_set(&schedule_wait,1);
      schedule->schedule_work(schedule->handle, sizeof(bool), &doit);
    }
}
void lp_ladspa_knob_float::pos_def_val()
{
	set_kb_val(pv_def_val);
	sp_val->setValue(pv_def_val);
	emit(val_changed((float)pv_def_val));
}