@@ -138,7 +138,7 @@ pub async fn run(
138138 let ( range, use_midi, midi_chan, midi_cc) =
139139 params. query ( |p| ( p. range , p. use_midi , p. midi_channel , p. midi_cc ) ) ;
140140
141- let speed_mult = 2u32 . pow ( params. query ( |p| p. speed_mult ) as u32 ) ;
141+ let speed_mult = 2u32 . pow ( params. query ( |p| p. speed_mult ) . min ( 31 ) as u32 ) ;
142142 let output = app. make_out_jack ( 0 , range) . await ;
143143 let fader = app. use_faders ( ) ;
144144 let buttons = app. use_buttons ( ) ;
@@ -163,7 +163,7 @@ pub async fn run(
163163 leds. set ( 0 , Led :: Button , color, Brightness :: Lower ) ;
164164
165165 glob_lfo_speed. set ( curve. at ( speed) as f32 * 0.015 + 0.0682 ) ;
166- glob_div. set ( resolution[ speed as usize / 500 ] ) ;
166+ glob_div. set ( resolution[ ( speed as usize / 500 ) . clamp ( 0 , 8 ) ] ) ;
167167 let mut count = 0 ;
168168 let mut quant_speed: f32 = 6. ;
169169 let mut last_out = 0 ;
@@ -181,7 +181,7 @@ pub async fn run(
181181 if glob_tick. get ( ) {
182182 // add timeout
183183 let div = glob_div. get ( ) ;
184- quant_speed = 4095. / ( ( count * div) as f32 / 24. ) ;
184+ quant_speed = 4095. / ( ( count. max ( 1 ) as f32 * div as f32 ) / 24. ) ;
185185 count = 0 ;
186186 glob_tick. set ( false ) ;
187187 }
@@ -263,7 +263,7 @@ pub async fn run(
263263 match latch_layer {
264264 LatchLayer :: Main => {
265265 glob_lfo_speed. set ( curve. at ( new_value) as f32 * 0.015 + 0.0682 ) ;
266- glob_div. set ( resolution[ new_value as usize / 500 ] ) ;
266+ glob_div. set ( resolution[ ( new_value as usize / 500 ) . clamp ( 0 , 8 ) ] ) ;
267267 storage. modify_and_save ( |s| s. layer_speed = new_value) ;
268268 }
269269 LatchLayer :: Alt => {
@@ -331,7 +331,7 @@ pub async fn run(
331331 let wave_saved = storage. query ( |s| s. wave ) ;
332332
333333 glob_lfo_speed. set ( curve. at ( speed) as f32 * 0.015 + 0.0682 ) ;
334- glob_div. set ( resolution[ speed as usize / 500 ] ) ;
334+ glob_div. set ( resolution[ ( speed as usize / 500 ) . clamp ( 0 , 8 ) ] ) ;
335335
336336 let color = get_color_for ( wave_saved) ;
337337 leds. set ( 0 , Led :: Button , color, Brightness :: Lower ) ;
0 commit comments