diff --git a/src/dexed.cpp b/src/dexed.cpp index f6d5bbf..e8ba337 100644 --- a/src/dexed.cpp +++ b/src/dexed.cpp @@ -92,7 +92,8 @@ Dexed::Dexed(double rate) : lvtk::Synth(p_n_ports, p_midi_in) controllers.breath_cc = 0; controllers.aftertouch_cc = 0; controllers.masterTune=0; - controllers.opSwitch=0x3f; // enable all operators + //controllers.opSwitch=0x3f; // enable all operators + controllers.opSwitch=0x00; bufsize_=256; @@ -796,12 +797,22 @@ void Dexed::onParam(uint8_t param_num,float param_val) controllers.masterTune=(tune<<11)*(1.0/12); break; case 166: + controllers.opSwitch|=data[param_num]<<5; + break; case 167: + controllers.opSwitch|=data[param_num]<<4; + break; case 168: + controllers.opSwitch|=data[param_num]<<3; + break; case 169: + controllers.opSwitch|=data[param_num]<<2; + break; case 170: + controllers.opSwitch|=data[param_num]<<1; + break; case 171: - controllers.opSwitch=(data[166]<<5)|(data[167]<<4)|(data[168]<<3)|(data[169]<<2)|(data[170]<<1)|data[171]; + controllers.opSwitch|=data[param_num]; break; case 172: max_notes=data[param_num];