void force_liveview() { #ifdef CONFIG_LIVEVIEW extern int ml_started; while (!ml_started) msleep(50); msleep(50); if (lv) return; info_led_on(); while (sensor_cleaning) msleep(100); while (get_halfshutter_pressed()) msleep(100); ResumeLiveView(); while (get_halfshutter_pressed()) msleep(100); SetGUIRequestMode(0); msleep(200); info_led_off(); if (!lv) fake_simple_button(BGMT_LV); msleep(1500); #endif }
static void run_script(const char *script) { extern int ml_started; while (!ml_started) msleep(100); // for startup scripts script_state = SCRIPT_RUNNING; msleep(500); console_clear(); console_show(); console_set_help_text("SET: show/hide"); console_set_status_text("Script running..."); int exit_code = tcc_compile_and_run(get_script_path(script_selected)); if (exit_code == 0) { console_puts( "Script finished.\n"); } else { console_printf( "Script error: %d.\n", exit_code); msleep(500); gui_stop_menu(); msleep(500); console_show(); } // restore some settings to normal, if script changed them //~ script_cleanup_af(); bmp_draw_to_idle(0); canon_gui_enable_front_buffer(0); beep(); script_state = SCRIPT_JUST_FINISHED; console_set_status_text("Script finished. "); msleep(500); redraw(); msleep(500); for (int i = 0; i < 100; i++) { msleep(100); if (gui_menu_shown()) break; if (get_halfshutter_pressed()) break; } console_hide(); script_state = SCRIPT_IDLE; console_set_status_text(""); }
//~ int get_focus_dir() { return focus_dir; } int is_follow_focus_active() { #ifdef FEATURE_FOLLOW_FOCUS if (!follow_focus) return 0; if (!lv) return 0; if (is_manual_focus()) return 0; if (!liveview_display_idle()) return 0; if (gui_menu_shown()) return 0; #ifdef FEATURE_LCD_SENSOR_SHORTCUTS if (display_sensor && get_lcd_sensor_shortcuts() && follow_focus_mode==0) return 0; #endif if (get_halfshutter_pressed()) return 0; return 1; #else return 0; #endif }