from hardware import * import utils import time import harmonic_demo import melodic_demo MODULES = [ harmonic_demo, melodic_demo, ] CURRENT_APP_RUN = None VOLUME = 0 SELECT_TEXT = [ " ## #### # #### ## ##### ", "# # # # # # # # ##" , "# # # # # # # #", " ## #### # #### # # #" , " # # # # # # # #", "# # # # # # # # ## ", " ## #### #### #### ## # ", ] BACKGROUND_COLOR = 0 def run_menu(): global CURRENT_APP_RUN display_fill(BACKGROUND_COLOR) utils.draw_text_big(SELECT_TEXT, 0, 0) utils.draw_volume_slider(VOLUME) display_update() selected_petal = None selected_module = None for petal, module in enumerate(MODULES): if utils.long_bottom_petal_captouch_blocking(petal, 20): selected_petal = petal selected_module = module break if selected_petal is not None: utils.clear_all_leds() utils.highlight_bottom_petal(selected_petal, 55, 0, 0) leds_update() display_fill(BACKGROUND_COLOR) display_update() CURRENT_APP_RUN = selected_module.run time.sleep_ms(100) utils.clear_all_leds() selected_module.foreground() def foreground_menu(): utils.clear_all_leds() utils.highlight_bottom_petal(0,0,55,55); utils.highlight_bottom_petal(1,55,0,55); leds_update() display_fill(BACKGROUND_COLOR) utils.draw_text_big(SELECT_TEXT, 0, 0) display_update() def set_rel_volume(vol): global VOLUME vol += VOLUME if vol > 20: vol = 20 if vol < -40: vol = -40 VOLUME = vol if vol == -40: #mute set_global_volume_dB(-90) else: set_global_volume_dB(VOLUME) time.sleep_ms(100) def main(): global CURRENT_APP_RUN time.sleep_ms(5000) captouch_autocalib() for module in MODULES: module.init() CURRENT_APP_RUN = run_menu foreground_menu() set_global_volume_dB(VOLUME) while True: if(button_get(0) == 2): if CURRENT_APP_RUN == run_menu: captouch_autocalib() else: CURRENT_APP_RUN = run_menu foreground_menu() if(button_get(0) == 1): set_rel_volume(+1) if(button_get(0) == -1): set_rel_volume(-1) CURRENT_APP_RUN() main()