@@ -329,33 +329,10 @@ void loop()
329329 // controller 111: enable/disable rim shot and positional sensing support
330330 if (controller == 111 )
331331 {
332- switch (value)
333- {
334- case 0 :
335- edrumulus.set_rim_shot_is_used (selected_pad, false );
336- edrumulus.write_setting (selected_pad, 7 , false );
337- edrumulus.set_pos_sense_is_used (selected_pad, false );
338- edrumulus.write_setting (selected_pad, 8 , false );
339- break ;
340- case 1 :
341- edrumulus.set_rim_shot_is_used (selected_pad, true );
342- edrumulus.write_setting (selected_pad, 7 , true );
343- edrumulus.set_pos_sense_is_used (selected_pad, false );
344- edrumulus.write_setting (selected_pad, 8 , false );
345- break ;
346- case 2 :
347- edrumulus.set_rim_shot_is_used (selected_pad, false );
348- edrumulus.write_setting (selected_pad, 7 , false );
349- edrumulus.set_pos_sense_is_used (selected_pad, true );
350- edrumulus.write_setting (selected_pad, 8 , true );
351- break ;
352- case 3 :
353- edrumulus.set_rim_shot_is_used (selected_pad, true );
354- edrumulus.write_setting (selected_pad, 7 , true );
355- edrumulus.set_pos_sense_is_used (selected_pad, true );
356- edrumulus.write_setting (selected_pad, 8 , true );
357- break ;
358- }
332+ edrumulus.set_rim_shot_is_used (selected_pad, (value % 2 ) != 0 ); // 0 1 0 1
333+ edrumulus.write_setting (selected_pad, 7 , (value % 2 ) != 0 ); // 0 1 0 1
334+ edrumulus.set_pos_sense_is_used (selected_pad, ((value / 2 ) % 2 ) != 0 ); // 0 0 1 1
335+ edrumulus.write_setting (selected_pad, 8 , ((value / 2 ) % 2 ) != 0 ); // 0 0 1 1
359336 confirm_setting (controller, value, false );
360337 }
361338
0 commit comments