diff --git a/src/dexed.cpp b/src/dexed.cpp index da4b18e..4236e45 100644 --- a/src/dexed.cpp +++ b/src/dexed.cpp @@ -377,6 +377,9 @@ void Dexed::set_params(void) onParam(170,*p(p_op5_enable)); onParam(171,*p(p_op6_enable)); onParam(172,*p(p_number_of_voices)); + onParam(173,*p(p_portamento_mode)); + onParam(174,*p(p_portamento_gliss)); + onParam(175,*p(p_portamento_time)); if(_param_change_counter>PARAM_CHANGE_LEVEL) { @@ -960,6 +963,15 @@ void Dexed::onParam(uint8_t param_num,float param_val) case 172: max_notes=data[param_num]; break; + case 173: + setPortamentoMode(data[173], controllers.values_[kControllerPortamentoGlissando], controllers.portamento_cc); + break; + case 174: + setPortamentoMode(controllers.portamento_enable_cc, data[174], controllers.portamento_cc); + break; + case 175: + setPortamentoMode(controllers.portamento_enable_cc, controllers.values_[kControllerPortamentoGlissando], data[175]); + break; } TRACE("Done: Parameter %d changed from %d to %d",param_num, tmp, data[param_num]); diff --git a/src/dexed.h b/src/dexed.h index dc5e355..af3db8b 100644 --- a/src/dexed.h +++ b/src/dexed.h @@ -128,8 +128,8 @@ class Dexed : public lvtk::Synth double _rate; uint8_t _k_rate_counter; uint8_t _param_change_counter; - float data_float[173]; - uint8_t data[173]={ + float data_float[176]; + uint8_t data[176]={ 95, 29, 20, 50, 99, 95, 00, 00, 41, 00, 19, 00, 00, 03, 00, 06, 79, 00, 01, 00, 14, 95, 20, 20, 50, 99, 95, 00, 00, 00, 00, 00, 00, 00, 03, 00, 00, 99, 00, 01, 00, 00, 95, 29, 20, 50, 99, 95, 00, 00, 00, 00, 00, 00, 00, 03, 00, 06, 89, 00, 01, 00, 07, @@ -144,7 +144,8 @@ class Dexed : public lvtk::Synth 01, 00, 99, 00, 99, 00, 99, 00, 99, 00, 00, 01, 01, 01, 01, 01, 01, - 16 + 16, + 0,0,0 }; };