@@ -281,6 +281,32 @@ void pix_freq() {
281
281
leds[current_history.pix_pos ] = current_history.pix_pos < virtual_led_count ? CHSV (current_history.tempHue , 255 , 255 ):CRGB (0 , 0 , 0 );
282
282
}
283
283
284
+ // A mirroed version of the pix_freq, splittion it on two sides starting from the middle
285
+ void mirror_pix_freq () {
286
+ fadeToBlackBy (leds, virtual_led_count, 50 );
287
+
288
+ if (volume > 125 ) {
289
+ current_history.pix_pos = (virtual_led_count / 2 ) + map (peak, MIN_FREQUENCY, MAX_FREQUENCY, -virtual_led_count/2 , virtual_led_count / 2 );
290
+ current_history.tempHue = fHue ;
291
+
292
+ } else {
293
+ current_history.pix_pos --;
294
+ current_history.vol_pos --;
295
+ }
296
+ if (vol_show) {
297
+ if (volume > 75 ) {
298
+ current_history.vol_pos = (virtual_led_count / 2 ) + map (volume, MIN_VOLUME, MAX_VOLUME, virtual_led_count/2 , virtual_led_count / 2 );
299
+ current_history.tempHue = fHue ;
300
+ } else {
301
+ current_history.vol_pos --;
302
+ }
303
+ leds[virtual_led_count / 2 - 1 - current_history.vol_pos ] = current_history.vol_pos < virtual_led_count/2 ? CRGB (255 , 255 , 255 ):CRGB (0 , 0 , 0 );
304
+ leds[virtual_led_count / 2 + 1 + current_history.vol_pos ] = current_history.vol_pos < virtual_led_count/2 ? CRGB (255 , 255 , 255 ):CRGB (0 , 0 , 0 );
305
+ }
306
+ leds[virtual_led_count/2 - 1 - current_history.pix_pos ] = current_history.pix_pos < virtual_led_count/2 ? CHSV (current_history.tempHue , 255 , 255 ):CRGB (0 , 0 , 0 );
307
+ leds[virtual_led_count/2 + 1 + current_history.pix_pos ] = current_history.pix_pos < virtual_led_count/2 ? CHSV (current_history.tempHue , 255 , 255 ):CRGB (0 , 0 , 0 );
308
+ }
309
+
284
310
// Utility function for sending a wave with sine for the math rock function
285
311
void send_wave () {
286
312
double change_by = vbrightness;
0 commit comments