Changeset 1060
- Timestamp:
- 02/14/11 04:00:38 (2 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
-
core/gui.c (modified) (76 diffs)
-
core/gui_draw.h (modified) (3 diffs)
-
core/kbd.c (modified) (34 diffs)
-
lib/ubasic/ubasic.c (modified) (67 diffs)
-
platform/generic/kbd.c (modified) (7 diffs)
-
platform/generic/shooting.c (modified) (65 diffs)
-
platform/generic/wrappers.c (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/core/gui.c
r1059 r1060 62 62 #define SHORTCUT_TOGGLE_RAW KEY_DISPLAY 63 63 #define SHORTCUT_MF_TOGGLE KEY_UP 64 //Half press shoot button 64 //Half press shoot button 65 65 #define SHORTCUT_TOGGLE_HISTO KEY_DOWN 66 66 #define SHORTCUT_TOGGLE_ZEBRA KEY_MENU 67 67 #define SHORTCUT_TOGGLE_OSD KEY_RIGHT 68 68 #define SHORTCUT_DISABLE_OVERRIDES KEY_LEFT 69 //Alt mode & Manual mode 69 //Alt mode & Manual mode 70 70 #define SHORTCUT_SET_INFINITY KEY_DISPLAY 71 71 #define SHORTCUT_SET_HYPERFOCAL KEY_DOWN … … 74 74 // KEY_DISPLAY is used for gui_subj_dist_override_koef_enum; 75 75 // KEY_LEFT/KEY_RIGHT is used for gui_subj_dist_override_value_enum (because of no separate ZOOM_IN/OUT) 76 76 77 77 #elif defined(CAMERA_g7) || defined(CAMERA_sx10) || defined(CAMERA_sx1) || defined(CAMERA_sx20) || defined(CAMERA_sx30) 78 78 //Alt mode 79 79 #define SHORTCUT_TOGGLE_RAW KEY_ERASE 80 //Half press shoot button 80 //Half press shoot button 81 81 #define SHORTCUT_TOGGLE_HISTO KEY_DOWN 82 82 #define SHORTCUT_TOGGLE_ZEBRA KEY_LEFT 83 83 #define SHORTCUT_TOGGLE_OSD KEY_RIGHT 84 84 #define SHORTCUT_DISABLE_OVERRIDES KEY_UP 85 //Alt mode & Manual mode 85 //Alt mode & Manual mode 86 86 #define SHORTCUT_SET_INFINITY KEY_UP 87 87 #define SHORTCUT_SET_HYPERFOCAL KEY_DOWN … … 90 90 //Alt mode 91 91 #define SHORTCUT_TOGGLE_RAW KEY_ERASE 92 //Half press shoot button 92 //Half press shoot button 93 93 #define SHORTCUT_TOGGLE_HISTO KEY_UP 94 94 #define SHORTCUT_TOGGLE_ZEBRA KEY_DOWN 95 95 #define SHORTCUT_TOGGLE_OSD KEY_RIGHT 96 96 #define SHORTCUT_DISABLE_OVERRIDES KEY_LEFT 97 //Alt mode & Manual mode 97 //Alt mode & Manual mode 98 98 #define SHORTCUT_SET_INFINITY KEY_UP 99 99 #define SHORTCUT_SET_HYPERFOCAL KEY_DOWN … … 103 103 //Alt mode 104 104 #define SHORTCUT_TOGGLE_RAW KEY_ERASE 105 //Half press shoot button 105 //Half press shoot button 106 106 #define SHORTCUT_TOGGLE_HISTO KEY_UP 107 107 #define SHORTCUT_TOGGLE_ZEBRA KEY_LEFT 108 108 #define SHORTCUT_TOGGLE_OSD KEY_RIGHT 109 109 #define SHORTCUT_DISABLE_OVERRIDES KEY_DOWN 110 //Alt mode & Manual mode 110 //Alt mode & Manual mode 111 111 #define SHORTCUT_SET_INFINITY KEY_UP 112 112 #define SHORTCUT_SET_HYPERFOCAL KEY_DOWN … … 124 124 extern const int tv_override_amount; 125 125 extern const int tv_override_zero_shift; 126 126 127 127 128 128 static void gui_draw_osd(); … … 281 281 static void cb_zebra_restore_osd(); 282 282 #if DNG_SUPPORT 283 static void cb_change_dng(); 283 static void cb_change_dng(); 284 284 void gui_menuproc_badpixel_create(int arg); 285 285 #endif 286 286 #if defined (DNG_EXT_FROM) 287 static void cb_change_dng_usb_ext(); 287 static void cb_change_dng_usb_ext(); 288 288 #endif 289 289 … … 300 300 {0x71,LANG_MENU_REMOTE_ENABLE, MENUITEM_BOOL, &conf.remote_enable}, 301 301 {0x0,LANG_MENU_SYNCHABLE_REMOTE, MENUITEM_SEPARATOR }, 302 {0x71,LANG_MENU_SYNCHABLE_REMOTE_ENABLE, MENUITEM_BOOL, &conf.ricoh_ca1_mode }, 303 {0x5c,LANG_MENU_SYNCH_ENABLE, MENUITEM_BOOL, &conf.synch_enable }, 304 {0x5c,LANG_MENU_SYNCH_DELAY_ENABLE, MENUITEM_BOOL, &conf.synch_delay_enable }, 305 {0x5c,LANG_MENU_SYNCH_DELAY_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_value }, 306 {0x5c,LANG_MENU_SYNCH_DELAY_COARSE_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_coarse_value }, 302 {0x71,LANG_MENU_SYNCHABLE_REMOTE_ENABLE, MENUITEM_BOOL, &conf.ricoh_ca1_mode }, 303 {0x5c,LANG_MENU_SYNCH_ENABLE, MENUITEM_BOOL, &conf.synch_enable }, 304 {0x5c,LANG_MENU_SYNCH_DELAY_ENABLE, MENUITEM_BOOL, &conf.synch_delay_enable }, 305 {0x5c,LANG_MENU_SYNCH_DELAY_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_value }, 306 {0x5c,LANG_MENU_SYNCH_DELAY_COARSE_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED, &conf.synch_delay_coarse_value }, 307 307 {0x5c,LANG_MENU_REMOTE_ZOOM_ENABLE, MENUITEM_BOOL, &conf.remote_zoom_enable }, 308 308 {0x5f,LANG_MENU_REMOTE_ZOOM_TIMEOUT, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_timeout, MENU_MINMAX(2,10)}, … … 326 326 {0x5d,LANG_MENU_SCRIPT_DEFAULT_VAL, MENUITEM_PROC, (int*)gui_load_script_default }, 327 327 {0x5e,LANG_MENU_SCRIPT_PARAM_SET, MENUITEM_ENUM, (int*)gui_script_param_set_enum }, 328 {0x5c,LANG_MENU_SCRIPT_PARAM_SAVE, MENUITEM_BOOL, &conf.script_param_save }, 328 {0x5c,LANG_MENU_SCRIPT_PARAM_SAVE, MENUITEM_BOOL, &conf.script_param_save }, 329 329 {0x0,(int)script_title, MENUITEM_SEPARATOR }, 330 330 // {0x0,LANG_MENU_SCRIPT_CURRENT, MENUITEM_SEPARATOR }, … … 365 365 {0x5f,LANG_MENU_AUTOISO_MIN_SHUTTER, MENUITEM_ENUM, (int*)gui_autoiso_shutter_enum }, 366 366 {0x5f,LANG_MENU_AUTOISO_USER_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_user_factor, MENU_MINMAX(1, 8) }, 367 #if CAM_HAS_IS 367 #if CAM_HAS_IS 368 368 {0x5f,LANG_MENU_AUTOISO_IS_FACTOR, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_is_factor, MENU_MINMAX(1, 8) }, 369 #endif 369 #endif 370 370 {0x5f,LANG_MENU_AUTOISO_MAX_ISO_HI, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_hi, MENU_MINMAX(20, 160) }, 371 371 {0x5f,LANG_MENU_AUTOISO_MAX_ISO_AUTO, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.autoiso_max_iso_auto, MENU_MINMAX(10, 80) }, … … 462 462 {0x66,LANG_MENU_BATT_VOLT_MAX, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_max, (int)&voltage_step }, 463 463 {0x67,LANG_MENU_BATT_VOLT_MIN, MENUITEM_INT|MENUITEM_ARG_ADDR_INC, &conf.batt_volts_min, (int)&voltage_step }, 464 {0x68,LANG_MENU_BATT_STEP_25, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_step_25, (int)cb_step_25 }, 464 {0x68,LANG_MENU_BATT_STEP_25, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_step_25, (int)cb_step_25 }, 465 465 {0x0,(int)"", MENUITEM_SEPARATOR }, 466 466 {0x73,LANG_MENU_BATT_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_perc_show, (int)cb_perc }, 467 467 {0x73,LANG_MENU_BATT_SHOW_VOLTS, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.batt_volts_show, (int)cb_volts }, 468 {0x32,LANG_MENU_BATT_SHOW_ICON, MENUITEM_BOOL, &conf.batt_icon_show }, 468 {0x32,LANG_MENU_BATT_SHOW_ICON, MENUITEM_BOOL, &conf.batt_icon_show }, 469 469 {0x51,LANG_MENU_BACK, MENUITEM_UP }, 470 470 {0} … … 475 475 {0x5c,LANG_MENU_SPACE_SHOW_ICON, MENUITEM_BOOL, &conf.space_icon_show }, 476 476 {0x69,LANG_MENU_SPACE_SHOW_BAR, MENUITEM_ENUM, (int*)gui_space_bar_enum }, 477 {0x6a,LANG_MENU_SPACE_BAR_SIZE, MENUITEM_ENUM, (int*)gui_space_bar_size_enum }, 477 {0x6a,LANG_MENU_SPACE_BAR_SIZE, MENUITEM_ENUM, (int*)gui_space_bar_size_enum }, 478 478 {0x6b,LANG_MENU_SPACE_BAR_WIDTH, MENUITEM_ENUM, (int*)gui_space_bar_width_enum }, 479 479 {0x5c,LANG_MENU_SPACE_SHOW_PERCENT, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.space_perc_show, (int)cb_space_perc }, … … 490 490 {0x5f,LANG_MENU_OSD_SHOW_DOF_CALC, MENUITEM_ENUM, (int*)gui_dof_show_value_enum }, 491 491 {0x5c,LANG_MENU_DOF_SUBJ_DIST_AS_NEAR_LIMIT, MENUITEM_BOOL, &conf.dof_subj_dist_as_near_limit}, 492 {0x5c,LANG_MENU_DOF_USE_EXIF_SUBJ_DIST, MENUITEM_BOOL, &conf.dof_use_exif_subj_dist}, 493 {0x5c,LANG_MENU_DOF_SUBJ_DIST_IN_MISC, MENUITEM_BOOL, &conf.dof_subj_dist_in_misc}, 494 {0x5c,LANG_MENU_DOF_NEAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_near_limit_in_misc}, 495 {0x5c,LANG_MENU_DOF_FAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_far_limit_in_misc}, 496 {0x5c,LANG_MENU_DOF_HYPERFOCAL_IN_MISC, MENUITEM_BOOL, &conf.dof_hyperfocal_in_misc}, 497 {0x5c,LANG_MENU_DOF_DEPTH_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_depth_in_misc}, 492 {0x5c,LANG_MENU_DOF_USE_EXIF_SUBJ_DIST, MENUITEM_BOOL, &conf.dof_use_exif_subj_dist}, 493 {0x5c,LANG_MENU_DOF_SUBJ_DIST_IN_MISC, MENUITEM_BOOL, &conf.dof_subj_dist_in_misc}, 494 {0x5c,LANG_MENU_DOF_NEAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_near_limit_in_misc}, 495 {0x5c,LANG_MENU_DOF_FAR_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_far_limit_in_misc}, 496 {0x5c,LANG_MENU_DOF_HYPERFOCAL_IN_MISC, MENUITEM_BOOL, &conf.dof_hyperfocal_in_misc}, 497 {0x5c,LANG_MENU_DOF_DEPTH_LIMIT_IN_MISC, MENUITEM_BOOL, &conf.dof_depth_in_misc}, 498 498 #if !CAM_DRYOS 499 {0x5c,LANG_MENU_DOF_DIST_FROM_LENS, MENUITEM_BOOL, &conf.dof_dist_from_lens}, 500 #endif 499 {0x5c,LANG_MENU_DOF_DIST_FROM_LENS, MENUITEM_BOOL, &conf.dof_dist_from_lens}, 500 #endif 501 501 {0x51,LANG_MENU_BACK, MENUITEM_UP }, 502 502 {0} … … 508 508 // {0x43,LANG_MENU_VALUES_SHOW_IN_REVIEW, MENUITEM_BOOL, &conf.values_show_in_review}, 509 509 {0x5c,LANG_MENU_SHOW_VALUES_IN_VIDEO, MENUITEM_BOOL, &conf.show_values_in_video}, 510 {0x5c,LANG_MENU_VALUES_SHOW_ZOOM, MENUITEM_BOOL, &conf.values_show_zoom}, 511 {0x5f,LANG_MENU_OSD_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_value_enum }, 512 {0x60,LANG_MENU_OSD_ZOOM_SCALE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_scale, MENU_MINMAX(0, 1000)}, 513 {0x62,LANG_MENU_VALUES_SHOW_REAL_APERTURE, MENUITEM_BOOL, &conf.values_show_real_aperture}, 514 {0x74,LANG_MENU_VALUES_SHOW_REAL_ISO, MENUITEM_BOOL, &conf.values_show_real_iso}, 515 {0x74,LANG_MENU_VALUES_SHOW_MARKET_ISO, MENUITEM_BOOL, &conf.values_show_market_iso}, 516 {0x2d,LANG_MENU_SHOW_ISO_ONLY_IN_AUTOISO_MODE, MENUITEM_BOOL, &conf.values_show_iso_only_in_autoiso_mode}, 510 {0x5c,LANG_MENU_VALUES_SHOW_ZOOM, MENUITEM_BOOL, &conf.values_show_zoom}, 511 {0x5f,LANG_MENU_OSD_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_value_enum }, 512 {0x60,LANG_MENU_OSD_ZOOM_SCALE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.zoom_scale, MENU_MINMAX(0, 1000)}, 513 {0x62,LANG_MENU_VALUES_SHOW_REAL_APERTURE, MENUITEM_BOOL, &conf.values_show_real_aperture}, 514 {0x74,LANG_MENU_VALUES_SHOW_REAL_ISO, MENUITEM_BOOL, &conf.values_show_real_iso}, 515 {0x74,LANG_MENU_VALUES_SHOW_MARKET_ISO, MENUITEM_BOOL, &conf.values_show_market_iso}, 516 {0x2d,LANG_MENU_SHOW_ISO_ONLY_IN_AUTOISO_MODE, MENUITEM_BOOL, &conf.values_show_iso_only_in_autoiso_mode}, 517 517 {0x5c,LANG_MENU_VALUES_SHOW_EV_SETED, MENUITEM_BOOL, &conf.values_show_ev_seted}, 518 {0x5c,LANG_MENU_VALUES_SHOW_EV_MEASURED, MENUITEM_BOOL, &conf.values_show_ev_measured}, 519 {0x5c,LANG_MENU_VALUES_SHOW_BV_SETED, MENUITEM_BOOL, &conf.values_show_bv_seted}, 520 {0x5c,LANG_MENU_VALUES_SHOW_BV_MEASURED, MENUITEM_BOOL, &conf.values_show_bv_measured}, 521 {0x5c,LANG_MENU_VALUES_SHOW_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_overexposure}, 522 {0x5c,LANG_MENU_SHOW_CANON_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_canon_overexposure}, 523 {0x5c,LANG_MENU_VALUES_SHOW_LUMINANCE, MENUITEM_BOOL, &conf.values_show_luminance}, 518 {0x5c,LANG_MENU_VALUES_SHOW_EV_MEASURED, MENUITEM_BOOL, &conf.values_show_ev_measured}, 519 {0x5c,LANG_MENU_VALUES_SHOW_BV_SETED, MENUITEM_BOOL, &conf.values_show_bv_seted}, 520 {0x5c,LANG_MENU_VALUES_SHOW_BV_MEASURED, MENUITEM_BOOL, &conf.values_show_bv_measured}, 521 {0x5c,LANG_MENU_VALUES_SHOW_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_overexposure}, 522 {0x5c,LANG_MENU_SHOW_CANON_OVEREXPOSURE, MENUITEM_BOOL, &conf.values_show_canon_overexposure}, 523 {0x5c,LANG_MENU_VALUES_SHOW_LUMINANCE, MENUITEM_BOOL, &conf.values_show_luminance}, 524 524 {0x51,LANG_MENU_BACK, MENUITEM_UP }, 525 525 {0} … … 540 540 static CMenuItem video_submenu_items[] = { 541 541 #if CAM_CHDK_HAS_EXT_VIDEO_MENU 542 {0x23,LANG_MENU_VIDEO_MODE, MENUITEM_ENUM, (int*)gui_video_mode_enum}, 542 {0x23,LANG_MENU_VIDEO_MODE, MENUITEM_ENUM, (int*)gui_video_mode_enum}, 543 543 #if !CAM_VIDEO_QUALITY_ONLY 544 {0x5e,LANG_MENU_VIDEO_BITRATE, MENUITEM_ENUM, (int*)gui_video_bitrate_enum}, 545 #endif 546 {0x60,LANG_MENU_VIDEO_QUALITY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.video_quality, MENU_MINMAX(1, 99)}, 544 {0x5e,LANG_MENU_VIDEO_BITRATE, MENUITEM_ENUM, (int*)gui_video_bitrate_enum}, 545 #endif 546 {0x60,LANG_MENU_VIDEO_QUALITY, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.video_quality, MENU_MINMAX(1, 99)}, 547 547 {0x5c,LANG_MENU_CLEAR_VIDEO_VALUES, MENUITEM_BOOL, (int*)&conf.clear_video}, 548 548 #endif … … 554 554 #endif 555 555 #if CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 556 {0x5c,LANG_MENU_OPTICAL_ZOOM_IN_VIDEO, MENUITEM_BOOL, &conf.unlock_optical_zoom_for_video}, 556 {0x5c,LANG_MENU_OPTICAL_ZOOM_IN_VIDEO, MENUITEM_BOOL, &conf.unlock_optical_zoom_for_video}, 557 557 #endif 558 558 #if CAM_CAN_MUTE_MICROPHONE 559 559 {0x83,LANG_MENU_MUTE_ON_ZOOM, MENUITEM_BOOL, &conf.mute_on_zoom}, 560 560 #endif 561 #if CAM_AF_SCAN_DURING_VIDEO_RECORD 562 {0x82,LANG_MENU_VIDEO_AF_KEY, MENUITEM_ENUM, (int*)gui_video_af_key_enum}, 561 #if CAM_AF_SCAN_DURING_VIDEO_RECORD 562 {0x82,LANG_MENU_VIDEO_AF_KEY, MENUITEM_ENUM, (int*)gui_video_af_key_enum}, 563 563 #endif 564 564 {0x5c,LANG_MENU_OSD_SHOW_VIDEO_TIME, MENUITEM_ENUM, (int*)gui_show_movie_time }, … … 573 573 #if CAM_HAS_IRIS_DIAPHRAGM 574 574 {0x62,LANG_MENU_AV_BRACKET_VALUE, MENUITEM_ENUM, (int*)gui_av_bracket_values_enum }, 575 #endif 576 #if CAM_CAN_SD_OVERRIDE 577 {0x5e,LANG_MENU_SUBJ_DIST_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.subj_dist_bracket_value, MENU_MINMAX(0, 100)}, 575 #endif 576 #if CAM_CAN_SD_OVERRIDE 577 {0x5e,LANG_MENU_SUBJ_DIST_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.subj_dist_bracket_value, MENU_MINMAX(0, 100)}, 578 578 {0x5f,LANG_MENU_SUBJ_DIST_BRACKET_KOEF, MENUITEM_ENUM, (int*)gui_subj_dist_bracket_koef_enum}, 579 #endif 580 {0x74,LANG_MENU_ISO_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_bracket_value, MENU_MINMAX(0, 100)}, 579 #endif 580 {0x74,LANG_MENU_ISO_BRACKET_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_bracket_value, MENU_MINMAX(0, 100)}, 581 581 {0x5f,LANG_MENU_ISO_BRACKET_KOEF, MENUITEM_ENUM, (int*)gui_iso_bracket_koef_enum}, 582 582 {0x60,LANG_MENU_BRACKET_TYPE, MENUITEM_ENUM, (int*)gui_bracket_type_enum }, … … 602 602 603 603 static CMenuItem operation_submenu_items[] = { 604 {0x5c,LANG_MENU_OVERRIDE_DISABLE, MENUITEM_ENUM, (int*)gui_override_disable_enum},//&conf.override_disable }, 604 {0x5c,LANG_MENU_OVERRIDE_DISABLE, MENUITEM_ENUM, (int*)gui_override_disable_enum},//&conf.override_disable }, 605 605 {0x5c,LANG_MENU_OVERRIDE_DISABLE_ALL, MENUITEM_BOOL, &conf.override_disable_all }, 606 {0x61,LANG_MENU_OVERRIDE_TV_VALUE, MENUITEM_ENUM, (int*)gui_tv_override_value_enum}, 606 {0x61,LANG_MENU_OVERRIDE_TV_VALUE, MENUITEM_ENUM, (int*)gui_tv_override_value_enum}, 607 607 {0x5f,LANG_MENU_OVERRIDE_TV_KOEF, MENUITEM_ENUM, (int*)gui_tv_override_koef_enum}, 608 608 {0x59,LANG_MENU_TV_ENUM_TYPE, MENUITEM_ENUM, (int*)gui_tv_enum_type_enum}, 609 609 #if CAM_HAS_IRIS_DIAPHRAGM 610 610 {0x62,LANG_MENU_OVERRIDE_AV_VALUE, MENUITEM_ENUM, (int*)gui_av_override_enum }, 611 #endif 611 #endif 612 612 #if CAM_HAS_ND_FILTER 613 613 {0x62,LANG_MENU_OVERRIDE_ND_FILTER, MENUITEM_ENUM, (int*)gui_nd_filter_state_enum }, 614 #endif 615 #if CAM_CAN_SD_OVERRIDE 614 #endif 615 #if CAM_CAN_SD_OVERRIDE 616 616 {0x5e,LANG_MENU_OVERRIDE_SUBJ_DIST_VALUE, MENUITEM_ENUM, (int*)gui_subj_dist_override_value_enum}, 617 617 {0x5f,LANG_MENU_OVERRIDE_SUBJ_DIST_KOEF, MENUITEM_ENUM, (int*)gui_subj_dist_override_koef_enum}, 618 #endif 619 {0x74,LANG_MENU_OVERRIDE_ISO_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_override_value, MENU_MINMAX(0, 800)}, 618 #endif 619 {0x74,LANG_MENU_OVERRIDE_ISO_VALUE, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.iso_override_value, MENU_MINMAX(0, 800)}, 620 620 {0x5f,LANG_MENU_OVERRIDE_ISO_KOEF, MENUITEM_ENUM, (int*)gui_iso_override_koef_enum}, 621 621 #if ZOOM_OVERRIDE 622 622 {0x5c,LANG_MENU_OVERRIDE_ZOOM, MENUITEM_BOOL, &conf.zoom_override}, 623 {0x5f,LANG_MENU_OVERRIDE_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_override_enum }, 624 623 {0x5f,LANG_MENU_OVERRIDE_ZOOM_VALUE, MENUITEM_ENUM, (int*)gui_zoom_override_enum }, 624 625 625 {0x5c,LANG_MENU_CLEAR_ZOOM_OVERRIDE_VALUES, MENUITEM_BOOL, (int*)&conf.clear_zoom_override}, 626 626 #endif 627 {0x2c,LANG_MENU_BRACKET_IN_CONTINUOUS, MENUITEM_SUBMENU, (int*)&bracketing_in_continuous_submenu }, 627 {0x2c,LANG_MENU_BRACKET_IN_CONTINUOUS, MENUITEM_SUBMENU, (int*)&bracketing_in_continuous_submenu }, 628 628 {0x2d,LANG_MENU_AUTOISO, MENUITEM_SUBMENU, (int*)&autoiso_submenu }, 629 629 //{LANG_MENU_EXPOSURE, MENUITEM_SUBMENU, (int*)&exposure_submenu }, 630 630 {0x5b,LANG_MENU_CLEAR_OVERRIDE_VALUES, MENUITEM_BOOL, (int*)&conf.clear_override}, 631 631 632 632 {0x5c,LANG_MENU_MISC_FAST_EV, MENUITEM_BOOL, &conf.fast_ev }, 633 633 {0x5f,LANG_MENU_MISC_FAST_EV_STEP, MENUITEM_ENUM, (int*)gui_fast_ev_step }, … … 700 700 {0x65,LANG_MENU_VIS_BATT_ICON, MENUITEM_COLOR_FG, (int*)&conf.batt_icon_color }, 701 701 {0x65,LANG_MENU_VIS_SPACE_ICON, MENUITEM_COLOR_FG, (int*)&conf.space_color }, 702 {0x65,LANG_MENU_VIS_SPACE_ICON_BKG, MENUITEM_COLOR_BG, (int*)&conf.space_color }, 702 {0x65,LANG_MENU_VIS_SPACE_ICON_BKG, MENUITEM_COLOR_BG, (int*)&conf.space_color }, 703 703 {0x65,LANG_MENU_VIS_MENU_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_color }, 704 704 {0x65,LANG_MENU_VIS_MENU_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_color }, 705 {0x65,LANG_MENU_VIS_MENU_TITLE_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_title_color }, 705 {0x65,LANG_MENU_VIS_MENU_TITLE_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_title_color }, 706 706 {0x65,LANG_MENU_VIS_MENU_TITLE_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_title_color }, 707 {0x65,LANG_MENU_VIS_MENU_CURSOR_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_cursor_color }, 707 {0x65,LANG_MENU_VIS_MENU_CURSOR_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_cursor_color }, 708 708 {0x65,LANG_MENU_VIS_MENU_CURSOR_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_cursor_color }, 709 {0x65,LANG_MENU_VIS_MENU_SYMBOL_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_symbol_color }, 709 {0x65,LANG_MENU_VIS_MENU_SYMBOL_TEXT, MENUITEM_COLOR_FG, (int*)&conf.menu_symbol_color }, 710 710 {0x65,LANG_MENU_VIS_MENU_SYMBOL_BKG, MENUITEM_COLOR_BG, (int*)&conf.menu_symbol_color }, 711 711 {0x65,LANG_MENU_VIS_READER_TEXT, MENUITEM_COLOR_FG, (int*)&conf.reader_color }, … … 724 724 * wish and everything automagically works. 725 725 */ 726 726 727 727 static CMenuItem user_submenu_items[USER_MENU_ITEMS + 2] = { 728 728 {0x20,LANG_MENU_MAIN_TITLE, MENUITEM_PROC, (int*)rinit} 729 729 }; 730 730 731 731 static CMenu user_submenu = {0x2e,LANG_MENU_USER_MENU, NULL, user_submenu_items }; 732 732 733 733 static CMenuItem raw_state_submenu_items[] = { 734 {0x5c,LANG_MENU_OSD_SHOW_RAW_STATE, MENUITEM_BOOL, &conf.show_raw_state }, 735 {0x5c,LANG_MENU_OSD_SHOW_REMAINING_RAW, MENUITEM_BOOL, &conf.show_remaining_raw }, 734 {0x5c,LANG_MENU_OSD_SHOW_RAW_STATE, MENUITEM_BOOL, &conf.show_raw_state }, 735 {0x5c,LANG_MENU_OSD_SHOW_REMAINING_RAW, MENUITEM_BOOL, &conf.show_remaining_raw }, 736 736 {0x60,LANG_MENU_OSD_RAW_TRESHOLD, MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.remaining_raw_treshold, MENU_MINMAX(0, 200)}, 737 737 {0x51,LANG_MENU_BACK, MENUITEM_UP }, … … 746 746 {0x5c,LANG_MENU_OSD_HIDE_PLAYBACK, MENUITEM_ENUM, (int*)gui_hide_osd_enum }, 747 747 {0x81,LANG_MENU_VIS_MENU_CENTER, MENUITEM_BOOL, &conf.menu_center }, 748 {0x81,LANG_MENU_SELECT_FIRST_ENTRY, MENUITEM_BOOL, &conf.menu_select_first_entry }, 749 {0x64,LANG_MENU_VIS_SYMBOL, MENUITEM_BOOL, &conf.menu_symbol_enable }, 748 {0x81,LANG_MENU_SELECT_FIRST_ENTRY, MENUITEM_BOOL, &conf.menu_select_first_entry }, 749 {0x64,LANG_MENU_VIS_SYMBOL, MENUITEM_BOOL, &conf.menu_symbol_enable }, 750 750 {0x2e,LANG_MENU_USER_MENU, MENUITEM_SUBMENU, (int*)&user_submenu}, 751 751 {0x5f,LANG_MENU_USER_MENU_ENABLE, MENUITEM_ENUM, (int*)gui_user_menu_show_enum }, … … 840 840 {0x5c,LANG_MENU_ZEBRA_RESTORE_OSD, MENUITEM_BOOL|MENUITEM_ARG_CALLBACK, &conf.zebra_restore_osd, (int)cb_zebra_restore_osd }, 841 841 {0x5f,LANG_MENU_ZEBRA_DRAW_OVER, MENUITEM_ENUM, (int*)gui_zebra_draw_osd_enum }, 842 {0x5c,LANG_MENU_ZEBRA_MULTICHANNEL, MENUITEM_BOOL, &conf.zebra_multichannel}, 842 {0x5c,LANG_MENU_ZEBRA_MULTICHANNEL, MENUITEM_BOOL, &conf.zebra_multichannel}, 843 843 {0x51,LANG_MENU_BACK, MENUITEM_UP }, 844 844 {0} … … 848 848 #ifdef OPT_CURVES 849 849 static CMenuItem curve_submenu_items[] = { 850 {0x5f,LANG_MENU_CURVE_ENABLE, MENUITEM_ENUM, (int*)gui_conf_curve_enum }, 851 {0x35,LANG_MENU_CURVE_LOAD, MENUITEM_PROC, (int*)gui_load_curve }, 850 {0x5f,LANG_MENU_CURVE_ENABLE, MENUITEM_ENUM, (int*)gui_conf_curve_enum }, 851 {0x35,LANG_MENU_CURVE_LOAD, MENUITEM_PROC, (int*)gui_load_curve }, 852 852 {0x51,LANG_MENU_BACK, MENUITEM_UP }, 853 853 {0} … … 905 905 user_submenu_items[i] = user_submenu_items[i+1]; 906 906 } 907 907 908 908 /* 909 909 * there were no valid entries below this one, so … … 912 912 if(!user_submenu_items[*cur_memnu_item_indx].text) 913 913 *cur_memnu_item_indx -= 1; 914 914 915 915 break; 916 916 917 917 case 1: 918 918 /* … … 926 926 } 927 927 break; 928 928 929 929 case 2: 930 930 /* 931 931 * Move entry up 932 932 */ 933 933 934 934 if((*cur_memnu_item_indx > 1)) { 935 935 tmp_menu_item = user_submenu_items[*cur_memnu_item_indx -1]; … … 953 953 } 954 954 break; 955 956 } 955 956 } 957 957 } 958 958 … … 1363 1363 static const char* modes[]={ "Never", "Alt", "Script", "Always" }; 1364 1364 gui_enum_value_change(&conf.alt_prevent_shutdown,change,sizeof(modes)/sizeof(modes[0])); 1365 1365 1366 1366 conf_update_prevent_shutdown(); 1367 1367 … … 1441 1441 conf.tv_override_koef=0; 1442 1442 } 1443 1444 return modes[conf.tv_override_koef]; 1443 1444 return modes[conf.tv_override_koef]; 1445 1445 } 1446 1446 … … 1462 1462 else if ((unsigned)conf.tv_override_value>=(tv_override_amount)) 1463 1463 conf.tv_override_value=0; 1464 return tv_override[conf.tv_override_value]; 1464 return tv_override[conf.tv_override_value]; 1465 1465 } 1466 else 1466 else 1467 1467 { 1468 1468 if (conf.tv_override_value<0) { … … 1473 1473 if(!buf) return ""; 1474 1474 sprintf(buf, "%d", conf.tv_override_value); 1475 return buf; 1475 return buf; 1476 1476 } 1477 1477 } … … 1482 1482 gui_enum_value_change(&conf.tv_enum_type,change,sizeof(modes)/sizeof(modes[0])); 1483 1483 if (change) { 1484 conf.tv_override_koef=6; 1485 if (conf.tv_enum_type) 1484 conf.tv_override_koef=6; 1485 if (conf.tv_enum_type) 1486 1486 conf.tv_override_value=tv_override_zero_shift; 1487 else conf.tv_override_value=1; 1488 } 1489 return modes[conf.tv_enum_type]; 1487 else conf.tv_override_value=1; 1488 } 1489 return modes[conf.tv_enum_type]; 1490 1490 } 1491 1491 … … 1505 1505 conf.subj_dist_override_value=0; 1506 1506 sprintf(buf, "%d", (int)conf.subj_dist_override_value); 1507 return buf; 1507 return buf; 1508 1508 } 1509 1509 … … 1530 1530 { 1531 1531 conf.iso_exposure_order=0; 1532 } 1533 1534 return modes[conf.tv_exposure_order]; 1532 } 1533 1534 return modes[conf.tv_exposure_order]; 1535 1535 } 1536 1536 … … 1550 1550 { 1551 1551 conf.iso_exposure_order=0; 1552 } 1553 return modes[conf.av_exposure_order]; 1552 } 1553 return modes[conf.av_exposure_order]; 1554 1554 } 1555 1555 … … 1569 1569 { 1570 1570 conf.av_exposure_order=0; 1571 } 1572 1573 return modes[conf.iso_exposure_order]; 1571 } 1572 1573 return modes[conf.iso_exposure_order]; 1574 1574 } 1575 1575 */ … … 1582 1582 if (conf.av_override_value == 0) return "Off"; 1583 1583 else { 1584 short prop_id=shooting_get_aperture_from_av96(shooting_get_av96_override_value()); 1584 short prop_id=shooting_get_aperture_from_av96(shooting_get_av96_override_value()); 1585 1585 sprintf(buf, "%d.%02d", (int)prop_id/100, (int)prop_id%100 ); 1586 return buf; 1586 return buf; 1587 1587 } 1588 1588 } … … 1595 1595 else if (conf.zoom_override_value>zoom_points-1) conf.zoom_override_value=0; 1596 1596 sprintf(buf,"%i",conf.zoom_override_value); 1597 return buf; 1597 return buf; 1598 1598 } 1599 1599 #endif … … 1605 1605 return gui_change_simple_enum(&conf.user_menu_enable,change,modes,sizeof(modes)/sizeof(modes[0])); 1606 1606 } 1607 1608 const char* gui_video_af_key_enum(int change, int arg){ 1607 1608 const char* gui_video_af_key_enum(int change, int arg){ 1609 1609 #if CAMERA_g12 1610 static const char* names[]={ "", "Shutter", "Set", "AE Lock"}; 1611 static const int keys[]={0, KEY_SHOOT_HALF, KEY_SET, KEY_AE_LOCK }; 1610 static const char* names[]={ "", "Shutter", "Set", "AE Lock"}; 1611 static const int keys[]={0, KEY_SHOOT_HALF, KEY_SET, KEY_AE_LOCK }; 1612 1612 #else 1613 static const char* names[]={ "", "Shutter", "Set"}; 1614 static const int keys[]={0, KEY_SHOOT_HALF, KEY_SET }; 1615 #endif 1616 int i; 1617 1618 for (i=0; i<sizeof(names)/sizeof(names[0]); ++i) { 1619 if (conf.video_af_key==keys[i]) { 1620 break; 1621 } 1622 } 1623 1624 i+=change; 1625 if (i<0) 1626 i=(sizeof(names)/sizeof(names[0]))-1; 1627 else if (i>=(sizeof(names)/sizeof(names[0]))) 1628 i=0; 1629 1630 conf.video_af_key = keys[i]; 1631 return names[i]; 1632 } 1633 1634 const char* gui_bad_pixel_enum(int change, int arg) { 1635 int modes[]={LANG_MENU_BAD_PIXEL_OFF, LANG_MENU_BAD_PIXEL_INTERPOLATION, LANG_MENU_BAD_PIXEL_RAW_CONVERTER}; 1613 static const char* names[]={ "", "Shutter", "Set"}; 1614 static const int keys[]={0, KEY_SHOOT_HALF, KEY_SET }; 1615 #endif 1616 int i; 1617 1618 for (i=0; i<sizeof(names)/sizeof(names[0]); ++i) { 1619 if (conf.video_af_key==keys[i]) { 1620 break; 1621 } 1622 } 1623 1624 i+=change; 1625 if (i<0) 1626 i=(sizeof(names)/sizeof(names[0]))-1; 1627 else if (i>=(sizeof(names)/sizeof(names[0]))) 1628 i=0; 1629 1630 conf.video_af_key = keys[i]; 1631 return names[i]; 1632 } 1633 1634 const char* gui_bad_pixel_enum(int change, int arg) { 1635 int modes[]={LANG_MENU_BAD_PIXEL_OFF, LANG_MENU_BAD_PIXEL_INTERPOLATION, LANG_MENU_BAD_PIXEL_RAW_CONVERTER}; 1636 1636 return lang_str((int)gui_change_simple_enum(&conf.bad_pixel_removal,change,(const char **)modes,sizeof(modes)/sizeof(modes[0]))); 1637 } 1637 } 1638 1638 1639 1639 //------------------------------------------------------------------- … … 1737 1737 else if (conf.debug_display == DEBUG_DISPLAY_PROPS || conf.debug_display == DEBUG_DISPLAY_PARAMS) { 1738 1738 conf.debug_propcase_page += debug_display_direction*1; 1739 if(conf.debug_propcase_page > 128 || conf.debug_propcase_page < 0) 1739 if(conf.debug_propcase_page > 128 || conf.debug_propcase_page < 0) 1740 1740 conf.debug_propcase_page = 0; 1741 1741 } … … 1764 1764 static void gui_menuproc_swap_partitions(int arg){ 1765 1765 if (get_part_count()<2) gui_mbox_init(LANG_ERROR, LANG_ONLY_ONE_PARTITION, MBOX_BTN_OK|MBOX_TEXT_CENTER, NULL); 1766 else 1766 else 1767 1767 { 1768 1768 swap_partitions(); … … 1805 1805 // initialize curves, loading files if required by current mode 1806 1806 curve_init_mode(); 1807 #endif 1807 #endif 1808 1808 #if ZOOM_OVERRIDE 1809 1809 // reyalp - need to do this in capt_seq … … 1905 1905 gui_in_redraw = 1; 1906 1906 gui_mode_old = gui_mode; 1907 1908 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 1907 1908 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 1909 1909 //the different modes arises because games are designed on a 360x240 basis and are difficult to downscale to 320x240 1910 1910 if (gui_mode == GUI_MODE_REVERSI || gui_mode == GUI_MODE_SOKOBAN || gui_mode == GUI_MODE_4WINS || gui_mode == GUI_MODE_MASTERMIND) { … … 1914 1914 draw_set_environment(NULL, NULL, vid_get_bitmap_screen_width(), vid_get_bitmap_screen_height()); 1915 1915 } 1916 #endif 1916 #endif 1917 1917 switch (gui_mode) { 1918 1918 case GUI_MODE_MENU: … … 1997 1997 break; 1998 1998 } 1999 1999 2000 2000 gui_in_redraw = 0; 2001 2001 if ((gui_mode_old != gui_mode && (gui_mode_old != GUI_MODE_NONE && gui_mode_old != GUI_MODE_ALT) && (gui_mode != GUI_MODE_MBOX && gui_mode != GUI_MODE_MPOPUP)) || gui_restore) { … … 2092 2092 return; 2093 2093 } 2094 2094 2095 2095 switch (gui_mode) { 2096 2096 case GUI_MODE_ALT: … … 2098 2098 if (conf.debug_shortcut_action > 0) { 2099 2099 #ifdef OPT_DEBUGGING 2100 gui_debug_shortcut(); 2100 gui_debug_shortcut(); 2101 2101 #endif 2102 2102 } 2103 2103 #if !CAM_HAS_ERASE_BUTTON && CAM_CAN_SD_OVERRIDE 2104 2104 if (!shooting_get_common_focus_mode()) 2105 #else 2106 else 2107 #endif 2105 #else 2106 else 2107 #endif 2108 2108 {conf.save_raw = !conf.save_raw; 2109 2109 draw_restore(); … … 2141 2141 #endif 2142 2142 2143 #if CAM_CAN_SD_OVERRIDE 2143 #if CAM_CAN_SD_OVERRIDE 2144 2144 { 2145 2145 #if CAM_HAS_ZOOM_LEVER … … 2151 2151 shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 2152 2152 } 2153 else if (kbd_is_key_clicked(KEY_LEFT)) 2153 else if (kbd_is_key_clicked(KEY_LEFT)) 2154 2154 { 2155 2155 gui_subj_dist_override_koef_enum(-1,0); … … 2159 2159 shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 2160 2160 } 2161 else if (kbd_is_key_clicked(SHORTCUT_SET_INFINITY)) 2161 else if (kbd_is_key_clicked(SHORTCUT_SET_INFINITY)) 2162 2162 { 2163 conf.subj_dist_override_value=MAX_DIST; 2163 conf.subj_dist_override_value=MAX_DIST; 2164 2164 shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 2165 2165 } … … 2167 2167 #endif 2168 2168 if (kbd_is_key_clicked(SHORTCUT_SET_HYPERFOCAL)) 2169 { 2169 { 2170 2170 int m=mode_get()&MODE_SHOOTING_MASK; 2171 if ((m==MODE_M) || (m==MODE_AV)) 2171 if ((m==MODE_M) || (m==MODE_AV)) 2172 2172 conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance_f(shooting_get_aperture_from_av96(shooting_get_user_av96()),get_focal_length(lens_get_zoom_point())); 2173 else conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance(); 2173 else conf.subj_dist_override_value=(int)shooting_get_hyperfocal_distance(); 2174 2174 shooting_set_focus(shooting_get_subject_distance_override_value(), SET_NOW); 2175 } 2176 else 2175 } 2176 else 2177 2177 switch (kbd_get_autoclicked_key()) { 2178 2178 #if CAM_HAS_ZOOM_LEVER … … 2194 2194 } 2195 2195 } 2196 #endif 2196 #endif 2197 2197 } 2198 2198 break; … … 2302 2302 conf_update_prevent_shutdown(); 2303 2303 } 2304 //------------------------------------------------------------------- 2305 2306 void other_kbd_process(){ 2304 //------------------------------------------------------------------- 2305 2306 void other_kbd_process(){ 2307 2307 int key; 2308 #if CAM_AF_SCAN_DURING_VIDEO_RECORD 2309 2310 if (movie_status==VIDEO_RECORD_IN_PROGRESS) { 2311 if (kbd_is_key_clicked(conf.video_af_key)) MakeAFScan(); 2312 } 2313 2314 #endif 2308 #if CAM_AF_SCAN_DURING_VIDEO_RECORD 2309 2310 if (movie_status==VIDEO_RECORD_IN_PROGRESS) { 2311 if (kbd_is_key_clicked(conf.video_af_key)) MakeAFScan(); 2312 } 2313 2314 #endif 2315 2315 2316 2316 #if CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO … … 2340 2340 if ((movie_status==VIDEO_RECORD_IN_PROGRESS) && !kbd_is_key_pressed(KEY_SHOOT_HALF)){ 2341 2341 #if CAM_HAS_ERASE_BUTTON 2342 if (kbd_is_key_clicked(KEY_ERASE)){ 2342 if (kbd_is_key_clicked(KEY_ERASE)){ 2343 2343 #else 2344 2344 #if !defined (CAMERA_a480) 2345 if (kbd_is_key_clicked(KEY_DISPLAY)){ 2345 if (kbd_is_key_clicked(KEY_DISPLAY)){ 2346 2346 #else 2347 if (kbd_is_key_clicked(KEY_MENU)){ 2347 if (kbd_is_key_clicked(KEY_MENU)){ 2348 2348 #endif 2349 2349 #endif 2350 set_ev_video_avail(!get_ev_video_avail()); 2350 set_ev_video_avail(!get_ev_video_avail()); 2351 2351 } 2352 2352 if (get_ev_video_avail()) { … … 2418 2418 2419 2419 if (conf.debug_display == DEBUG_DISPLAY_PARAMS){ 2420 extern long* FlashParamsTable[]; 2420 extern long* FlashParamsTable[]; 2421 2421 char s[30]; 2422 2422 int count; … … 2430 2430 len=FlashParamsTable[p][1]>>16; 2431 2431 if ((len==1)||(len==2)||(len==4)){ 2432 get_parameter_data(p, &r, len); 2432 get_parameter_data(p, &r, len); 2433 2433 sprintf(sbuf, "%3d: %30d :%2d ", p, r,len); 2434 2434 } … … 2482 2482 } 2483 2483 #endif 2484 2484 2485 2485 if (kbd_is_key_pressed(KEY_SHOOT_HALF)) { 2486 2486 if (kbd_is_key_pressed(SHORTCUT_TOGGLE_ZEBRA)) { … … 2522 2522 pressed = 0; 2523 2523 } 2524 2524 2525 2525 // TODO some of the ifs below should probably use this 2526 2526 mode_video = MODE_IS_VIDEO(m); 2527 2527 2528 mode_photo = (m&MODE_MASK) == MODE_PLAY || 2528 mode_photo = (m&MODE_MASK) == MODE_PLAY || 2529 2529 !( mode_video || 2530 2530 (m&MODE_SHOOTING_MASK)==MODE_STITCH); 2531 2531 2532 2532 half_disp_press=mode_photo && kbd_is_key_pressed(KEY_SHOOT_HALF) && kbd_is_key_pressed(KEY_DISPLAY); 2533 if (half_disp_press && ! half_disp_press_old) 2533 if (half_disp_press && ! half_disp_press_old) 2534 2534 need_restore = 1; 2535 2535 half_disp_press_old=half_disp_press; … … 2538 2538 draw_restore(); 2539 2539 2540 if (half_disp_press) 2540 if (half_disp_press) 2541 2541 return; 2542 2542 … … 2547 2547 } 2548 2548 #if !CAM_SHOW_OSD_IN_SHOOT_MENU 2549 if (!(conf.show_osd && (canon_menu_active==(int)&canon_menu_active-4) && (canon_shoot_menu_active==0))) return; 2549 if (!(conf.show_osd && (canon_menu_active==(int)&canon_menu_active-4) && (canon_shoot_menu_active==0))) return; 2550 2550 #else 2551 2551 if (!(conf.show_osd && (canon_menu_active==(int)&canon_menu_active-4) /*&& (canon_shoot_menu_active==0)*/ )) return; 2552 #endif 2553 2554 2552 #endif 2553 2554 2555 2555 if ((gui_mode==GUI_MODE_NONE || gui_mode==GUI_MODE_ALT) && ( 2556 (kbd_is_key_pressed(KEY_SHOOT_HALF) && ((conf.show_histo==SHOW_HALF)/* || (m&MODE_MASK) == MODE_PLAY*/)) || 2556 (kbd_is_key_pressed(KEY_SHOOT_HALF) && ((conf.show_histo==SHOW_HALF)/* || (m&MODE_MASK) == MODE_PLAY*/)) || 2557 2557 ((conf.show_histo==SHOW_ALWAYS) && !((m&MODE_MASK) == MODE_PLAY) && (recreview_hold==0)) 2558 ) && 2558 ) && 2559 2559 (mode_photo || (m&MODE_SHOOTING_MASK)==MODE_STITCH)) { 2560 2560 gui_osd_draw_histo(); … … 2566 2566 } 2567 2567 if ((gui_mode==GUI_MODE_NONE || gui_mode==GUI_MODE_ALT) && (((kbd_is_key_pressed(KEY_SHOOT_HALF) || (state_kbd_script_run) || (shooting_get_common_focus_mode())) && (mode_photo || (m&MODE_SHOOTING_MASK)==MODE_STITCH )) || ((mode_video || movie_status > 1) && conf.show_values_in_video) )) { 2568 2568 2569 2569 if (conf.show_dof!=DOF_DONT_SHOW) gui_osd_calc_dof(); 2570 2571 if (conf.show_dof==DOF_SHOW_IN_DOF) gui_osd_draw_dof(); 2572 2573 if (conf.values_show_real_iso || conf.values_show_market_iso || conf.values_show_ev_seted || conf.values_show_ev_measured || conf.values_show_bv_measured || conf.values_show_bv_seted || conf.values_show_overexposure || conf.values_show_canon_overexposure || conf.values_show_luminance) gui_osd_calc_expo_param(); 2570 2571 if (conf.show_dof==DOF_SHOW_IN_DOF) gui_osd_draw_dof(); 2572 2573 if (conf.values_show_real_iso || conf.values_show_market_iso || conf.values_show_ev_seted || conf.values_show_ev_measured || conf.values_show_bv_measured || conf.values_show_bv_seted || conf.values_show_overexposure || conf.values_show_canon_overexposure || conf.values_show_luminance) gui_osd_calc_expo_param(); 2574 2574 } 2575 2575 if (conf.show_state) gui_osd_draw_state(); 2576 2576 if (conf.save_raw && conf.show_raw_state && !mode_video && (!kbd_is_key_pressed(KEY_SHOOT_HALF))) gui_osd_draw_raw_info(); 2577 2577 2578 2578 if ((conf.show_values==SHOW_ALWAYS && mode_photo) || ((mode_video || movie_status > 1)&& conf.show_values_in_video) || ((kbd_is_key_pressed(KEY_SHOOT_HALF) || (recreview_hold==1)) && (conf.show_values==SHOW_HALF))) 2579 2579 gui_osd_draw_values(1); 2580 else if (shooting_get_common_focus_mode() && mode_photo && conf.show_values && !(conf.show_dof==DOF_SHOW_IN_DOF) ) 2580 else if (shooting_get_common_focus_mode() && mode_photo && conf.show_values && !(conf.show_dof==DOF_SHOW_IN_DOF) ) 2581 2581 gui_osd_draw_values(2); 2582 2582 else if (conf.show_values==SHOW_HALF) 2583 gui_osd_draw_values(0); 2583 gui_osd_draw_values(0); 2584 2584 } 2585 2585 … … 2590 2590 if (conf.fast_ev && !mode_video && (m&MODE_MASK) == MODE_REC ) gui_osd_draw_ev(); 2591 2591 } 2592 2592 2593 2593 if ((conf.show_clock) && (recreview_hold==0) && ((!kbd_is_key_pressed(KEY_SHOOT_HALF) && ( ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1)))|| (conf.clock_halfpress==0) )) { 2594 2594 gui_osd_draw_clock(0,0,0); … … 2597 2597 gui_osd_draw_seconds(); 2598 2598 } 2599 2599 2600 2600 if ((conf.show_temp>0) && (recreview_hold==0) && ((!kbd_is_key_pressed(KEY_SHOOT_HALF) && ( ((m&MODE_MASK) == MODE_REC) || (!((m&MODE_MASK) == MODE_REC) && !((conf.hide_osd == 1) || (conf.hide_osd == 3)) )) && !(((conf.hide_osd == 2) || (conf.hide_osd == 3))&& (shooting_get_prop(PROPCASE_DISPLAY_MODE) == 1)) )|| (conf.clock_halfpress==0) )) { 2601 2601 gui_osd_draw_temp(); … … 2604 2604 gui_osd_draw_movie_time_left(); 2605 2605 } 2606 2606 2607 2607 #if CAM_DRAW_EXPOSITION 2608 2608 if (gui_mode==GUI_MODE_NONE && kbd_is_key_pressed(KEY_SHOOT_HALF) && ((m&MODE_MASK)==MODE_REC) && ((m&MODE_SHOOTING_MASK))!=MODE_VIDEO_STD && (m&MODE_SHOOTING_MASK)!=MODE_VIDEO_COMPACT) { … … 2650 2650 void gui_menuproc_reset(int arg) 2651 2651 { 2652 gui_mbox_init(LANG_MSG_RESET_OPTIONS_TITLE, 2652 gui_mbox_init(LANG_MSG_RESET_OPTIONS_TITLE, 2653 2653 LANG_MSG_RESET_OPTIONS_TEXT, 2654 2654 MBOX_FUNC_RESTORE|MBOX_TEXT_CENTER|MBOX_BTN_YES_NO|MBOX_DEF_BTN2, gui_menuproc_reset_selected); … … 2682 2682 void gui_show_memory_info(int arg) { 2683 2683 static char buf[64]; 2684 2684 2685 2685 sprintf(buf, lang_str(LANG_MSG_MEMORY_INFO_TEXT), core_get_free_memory(), MEMISOSIZE, &_start, &_end); 2686 2686 gui_mbox_init(LANG_MSG_MEMORY_INFO_TITLE, (int)buf, MBOX_FUNC_RESTORE|MBOX_TEXT_CENTER, NULL); … … 2695 2695 return; 2696 2696 } 2697 2698 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2697 2698 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2699 2699 draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 2700 2700 #endif … … 2712 2712 return; 2713 2713 } 2714 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2714 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2715 2715 draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 2716 2716 #endif … … 2727 2727 return; 2728 2728 } 2729 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2729 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2730 2730 draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 2731 2731 #endif … … 2742 2742 return; 2743 2743 } 2744 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2744 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 2745 2745 draw_set_environment(aspect_xcorrection_games_360, aspect_ycorrection_games_360, GAMES_SCREEN_WIDTH, GAMES_SCREEN_HEIGHT); 2746 2746 #endif … … 2771 2771 coord w, h, x, y; 2772 2772 static const char *text[] = { 2773 "CHDK Firmware '" HDK_VERSION " " BUILD_NUMBER "'" , 2773 "CHDK Firmware '" HDK_VERSION " " BUILD_NUMBER "'" , 2774 2774 "Build: " __DATE__ " " __TIME__ , 2775 2775 "Camera: " PLATFORM " - " PLATFORMSUB }; … … 2778 2778 2779 2779 gui_splash_mode = (mode_get()&MODE_MASK); 2780 2780 2781 2781 h=sizeof(text)/sizeof(text[0])*FONT_HEIGHT+8; 2782 2782 w=0; … … 2818 2818 }else{ 2819 2819 mx++; 2820 } 2820 } 2821 2821 } 2822 2822 } … … 2883 2883 void gui_draw_read_last(int arg) { 2884 2884 int fd; 2885 2885 2886 2886 fd = open(conf.reader_file, O_RDONLY, 0777); 2887 2887 if (fd >= 0) { … … 3026 3026 } 3027 3027 3028 int find_mnu(CMenu *curr_menu, int mnu, int count) 3028 int find_mnu(CMenu *curr_menu, int mnu, int count) 3029 3029 { 3030 3030 int gui_menu_curr_item; … … 3036 3036 return 1; 3037 3037 } 3038 if ((curr_menu->menu[gui_menu_curr_item].type & MENUITEM_MASK) == MENUITEM_SUBMENU) 3038 if ((curr_menu->menu[gui_menu_curr_item].type & MENUITEM_MASK) == MENUITEM_SUBMENU) 3039 3039 if (curr_menu->menu[gui_menu_curr_item].text != LANG_MENU_USER_MENU) 3040 3040 if (find_mnu((CMenu*)(curr_menu->menu[gui_menu_curr_item].value), mnu, count)) return 1; … … 3054 3054 } 3055 3055 } 3056 3056 3057 3057 void user_menu_restore() { 3058 3058 int x; -
trunk/core/gui_draw.h
r1059 r1060 50 50 #define COLOR_YELLOW 0x44 51 51 #define COLOR_BLACK 0xFF 52 #define COLOR_BG 0x22 52 #define COLOR_BG 0x22 53 53 #define COLOR_FG COLOR_WHITE 54 54 #define COLOR_SELECTED_BG COLOR_RED … … 58 58 #define COLOR_SPLASH_PINK 0x4C 59 59 #define COLOR_SPLASH_GREY 0x16 60 // colors for blended histo 60 // colors for blended histo 61 61 // many of these probably wrong on this cam 62 62 #define COLOR_HISTO_R COLOR_RED … … 302 302 303 303 304 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 304 #if CAM_USES_ASPECT_CORRECTION //nandoide sept-2009 305 305 void draw_set_aspect_xcorrection_proc(unsigned int (*xcorrection_proc)(unsigned int x)); 306 306 void draw_set_aspect_ycorrection_proc(unsigned int (*ycorrection_proc)(unsigned int y)); 307 307 unsigned int aspect_xcorrection_games_360(unsigned int x); 308 308 unsigned int aspect_ycorrection_games_360(unsigned int y); 309 void draw_set_environment(unsigned int (*xcorrection_proc)(unsigned int x), 309 void draw_set_environment(unsigned int (*xcorrection_proc)(unsigned int x), 310 310 unsigned int (*ycorrection_proc)(unsigned int y), 311 311 int screenx, int screeny ); -
trunk/core/kbd.c
r1059 r1060 73 73 #endif 74 74 75 #if defined (CAMERA_a700) || defined(CAMERA_a710) || defined (CAMERA_a720) || defined (CAMERA_a2000) 75 #if defined (CAMERA_a700) || defined(CAMERA_a710) || defined (CAMERA_a720) || defined (CAMERA_a2000) 76 76 #define ZSTEP_TABLE_SIZE 8 77 77 static int nTxtbl[]={0,2,4,6,8,10,12,14}; … … 113 113 kbd_blocked = 1; 114 114 gui_kbd_enter(); 115 console_clear(); 115 console_clear(); 116 116 script_console_add_line("***Autostart***"); //lang_str(LANG_CONSOLE_TEXT_STARTED)); 117 117 script_start_gui( 1 ); … … 139 139 /*-------------------- Alex scriptless remote additions end ---------------------*/ 140 140 141 /* 141 /* 142 142 main kb processing 143 143 this monster needs to be broken up and documented, remote stuff should go in it's own functions … … 167 167 || ((key_pressed >= CAM_EMUL_KEYPRESS_DELAY) 168 168 && (key_pressed < CAM_EMUL_KEYPRESS_DELAY+CAM_EMUL_KEYPRESS_DURATION))) { 169 if (key_pressed <= CAM_EMUL_KEYPRESS_DELAY+CAM_EMUL_KEYPRESS_DURATION) 169 if (key_pressed <= CAM_EMUL_KEYPRESS_DELAY+CAM_EMUL_KEYPRESS_DURATION) 170 170 key_pressed++; 171 if (key_pressed == CAM_EMUL_KEYPRESS_DELAY) 171 if (key_pressed == CAM_EMUL_KEYPRESS_DELAY) 172 172 kbd_key_press(conf.alt_mode_button); 173 else if (key_pressed == +CAM_EMUL_KEYPRESS_DELAY+CAM_EMUL_KEYPRESS_DURATION) 173 else if (key_pressed == +CAM_EMUL_KEYPRESS_DELAY+CAM_EMUL_KEYPRESS_DURATION) 174 174 kbd_key_release(conf.alt_mode_button); 175 175 return 1; … … 177 177 if (key_pressed != 100 && (key_pressed < CAM_EMUL_KEYPRESS_DELAY)) { 178 178 kbd_blocked = 1-kbd_blocked; 179 if (kbd_blocked) 179 if (kbd_blocked) 180 180 gui_kbd_enter(); 181 181 else … … 187 187 return 1; 188 188 } 189 189 190 190 // auto iso shift 191 if (kbd_is_key_pressed(KEY_SHOOT_HALF) && kbd_is_key_pressed(conf.alt_mode_button)) 191 if (kbd_is_key_pressed(KEY_SHOOT_HALF) && kbd_is_key_pressed(conf.alt_mode_button)) 192 192 return 0; 193 193 … … 196 196 conf.synch_enable=1; 197 197 key_pressed = 1; 198 kbd_key_release_all(); 198 kbd_key_release_all(); 199 199 return 1; 200 200 } … … 283 283 nWt=10; 284 284 kbd_key_release_all(); 285 kbd_key_press(KEY_SHOOT_HALF); 285 kbd_key_press(KEY_SHOOT_HALF); 286 286 soft_half_press = 1; 287 287 set_key_press(1); … … 290 290 nSW=2; 291 291 nWt=10; 292 kbd_key_release(KEY_SHOOT_HALF); 292 kbd_key_release(KEY_SHOOT_HALF); 293 293 soft_half_press = 0; 294 294 set_key_press(1); … … 418 418 nCa=0; 419 419 return 1; 420 } 420 } 421 421 if(nSW==109) { 422 422 // nSW=110; … … 459 459 nWt=2; 460 460 kbd_key_release_all(); 461 kbd_key_press(KEY_SHOOT_HALF); 461 kbd_key_press(KEY_SHOOT_HALF); 462 462 // key_pressed = 1; 463 463 // kbd_blocked = 1; … … 484 484 } 485 485 } 486 if(nReczoom==0 && ((nTxzname==KEY_ZOOM_IN && nCrzpos>=nTxtbl[nTxtblcr]) 486 if(nReczoom==0 && ((nTxzname==KEY_ZOOM_IN && nCrzpos>=nTxtbl[nTxtblcr]) 487 487 || (nTxzname==KEY_ZOOM_OUT && nCrzpos<=nTxtbl[nTxtblcr]))) { 488 488 if(get_usb_power(1)) { … … 513 513 } 514 514 kbd_key_release_all(); 515 kbd_key_press(nTxzname); 515 kbd_key_press(nTxzname); 516 516 set_key_press(1); 517 517 nCER++; … … 586 586 if(nTxzoom>0 && nSW==120 && conf.remote_zoom_enable) { 587 587 nCrzpos=lens_get_zoom_point(); 588 if((nTxzname==KEY_ZOOM_IN && nCrzpos<=nTxtbl[nTxtblcr]) 588 if((nTxzname==KEY_ZOOM_IN && nCrzpos<=nTxtbl[nTxtblcr]) 589 589 || (nTxzname==KEY_ZOOM_OUT && nCrzpos>=nTxtbl[nTxtblcr])) { 590 590 kbd_key_release_all(); … … 600 600 kbd_key_release_all(); 601 601 if(nTxzname==KEY_ZOOM_IN) 602 kbd_key_press(KEY_ZOOM_OUT); 602 kbd_key_press(KEY_ZOOM_OUT); 603 603 else 604 kbd_key_press(KEY_ZOOM_IN); 604 kbd_key_press(KEY_ZOOM_IN); 605 605 set_key_press(1); 606 606 return 1; … … 611 611 nWt=2; 612 612 shutter_int=0; 613 kbd_key_press(KEY_SHOOT_FULL); 613 kbd_key_press(KEY_SHOOT_FULL); 614 614 set_key_press(1); 615 615 // kbd_blocked = 1; … … 625 625 nSW=116; 626 626 nWt=2; 627 kbd_key_release(KEY_SHOOT_FULL); 627 kbd_key_release(KEY_SHOOT_FULL); 628 628 set_key_press(1); 629 629 soft_half_press = 0; … … 692 692 nWt=2; 693 693 kbd_key_release_all(); 694 kbd_key_press(KEY_SHOOT_HALF); 694 kbd_key_press(KEY_SHOOT_HALF); 695 695 // debug_led(1); 696 696 soft_half_press = 1; … … 778 778 } 779 779 } 780 if(nReczoom==0 && ((nTxzname==KEY_ZOOM_IN && nCrzpos>=nTxtbl[nTxtblcr]) 780 if(nReczoom==0 && ((nTxzname==KEY_ZOOM_IN && nCrzpos>=nTxtbl[nTxtblcr]) 781 781 || (nTxzname==KEY_ZOOM_OUT && nCrzpos<=nTxtbl[nTxtblcr]))) { 782 782 if(nCount==0) { … … 807 807 } 808 808 kbd_key_release_all(); 809 kbd_key_press(nTxzname); 809 kbd_key_press(nTxzname); 810 810 set_key_press(1); 811 811 nCER++; … … 830 830 kbd_key_release_all(); 831 831 if(nTxzname==KEY_ZOOM_IN) 832 kbd_key_press(KEY_ZOOM_OUT); 832 kbd_key_press(KEY_ZOOM_OUT); 833 833 else 834 kbd_key_press(KEY_ZOOM_IN); 834 kbd_key_press(KEY_ZOOM_IN); 835 835 set_key_press(1); 836 836 return 1; … … 857 857 nSW=125; 858 858 nWt=10; 859 kbd_key_release(KEY_SHOOT_HALF); 859 kbd_key_release(KEY_SHOOT_HALF); 860 860 soft_half_press = 0; 861 861 set_key_press(1); … … 874 874 shutter_int=0; 875 875 // debug_led(0); 876 kbd_key_press(KEY_SHOOT_FULL); 876 kbd_key_press(KEY_SHOOT_FULL); 877 877 set_key_press(1); 878 878 // kbd_blocked = 1; … … 932 932 } 933 933 #endif // ifdef CAM_USE_ZOOM_FOR_MF 934 if ((conf.fast_ev || conf.fast_movie_control || conf.fast_movie_quality_control) 934 if ((conf.fast_ev || conf.fast_movie_control || conf.fast_movie_quality_control) 935 935 && kbd_use_up_down_left_right_as_fast_switch()) { 936 936 return 1; 937 937 } 938 other_kbd_process(); // processed other keys in not <alt> mode 938 other_kbd_process(); // processed other keys in not <alt> mode 939 939 } 940 940 … … 952 952 long kbd_use_up_down_left_right_as_fast_switch() { 953 953 static long key_pressed = 0; // ??? static masking a global 954 int m=mode_get(); 954 int m=mode_get(); 955 955 int mode_video = MODE_IS_VIDEO(m) || (movie_status > 1); 956 956 int ev_video=0; … … 958 958 959 959 #if CAM_EV_IN_VIDEO 960 ev_video=get_ev_video_avail(); 960 ev_video=get_ev_video_avail(); 961 961 #endif 962 962 … … 973 973 EnterToCompensationEVF(); 974 974 key_pressed = KEY_UP; 975 975 976 976 return 1; 977 977 } 978 978 979 } 979 } 980 980 981 981 if (kbd_is_key_pressed(KEY_DOWN) && ((m&MODE_SHOOTING_MASK) != MODE_M) && !mode_video) { … … 988 988 return 1; 989 989 } 990 } 990 } 991 991 992 992 #else … … 1004 1004 EnterToCompensationEVF(); 1005 1005 } 1006 1006 1007 1007 1008 1008 #endif … … 1018 1018 movie_reset = 1; 1019 1019 #endif 1020 } 1020 } 1021 1021 else if (conf.video_mode==1) { 1022 1022 conf.video_quality+=1; … … 1024 1024 conf.video_quality=VIDEO_MAX_QUALITY; 1025 1025 movie_reset = 1; 1026 } 1026 } 1027 1027 key_pressed = KEY_UP; 1028 1028 return 1; 1029 1029 } 1030 } 1031 1030 } 1031 1032 1032 if (kbd_is_key_pressed(KEY_DOWN) && mode_video && movie_status == 4) { 1033 1033 if (conf.fast_movie_quality_control && key_pressed == 0) { 1034 if (conf.video_mode==0) { 1034 if (conf.video_mode==0) { 1035 1035 #if !CAM_VIDEO_QUALITY_ONLY 1036 1036 conf.video_bitrate-=1; … … 1047 1047 conf.video_quality=1; 1048 1048 movie_reset = 1; 1049 } 1049 } 1050 1050 key_pressed = KEY_DOWN; 1051 1051 return 1; 1052 1052 } 1053 } 1054 1053 } 1054 1055 1055 if (kbd_is_key_pressed(KEY_LEFT) && mode_video && (movie_status == 4) && !ev_video) { 1056 1056 if (conf.fast_movie_control && key_pressed == 0) { … … 1059 1059 return 1; 1060 1060 } 1061 } 1061 } 1062 1062 // reyalp - HACK for cams that can do video in any mode 1063 1063 // note that this means this will probably run whenever you press right 1064 1064 if (kbd_is_key_pressed(KEY_RIGHT) && 1065 #ifndef CAM_HAS_VIDEO_BUTTON 1065 #ifndef CAM_HAS_VIDEO_BUTTON 1066 1066 mode_video && 1067 1067 #endif … … 1074 1074 return 1; 1075 1075 } 1076 } 1076 } 1077 1077 1078 1078 return 0; -
trunk/lib/ubasic/ubasic.c
r1059 r1060 124 124 125 125 int ubasic_error; 126 const char *ubasic_errstrings[UBASIC_E_ENDMARK] = 126 const char *ubasic_errstrings[UBASIC_E_ENDMARK] = 127 127 { 128 128 "No err", … … 143 143 "while: Stack ful", 144 144 "bad wend", 145 "Unk err" 145 "Unk err" 146 146 }; 147 147 … … 250 250 case TOKENIZER_GET_TICK_COUNT: 251 251 accept(TOKENIZER_GET_TICK_COUNT); 252 r = shooting_get_tick_count(); 252 r = shooting_get_tick_count(); 253 253 break; 254 254 case TOKENIZER_GET_MODE: … … 262 262 case TOKENIZER_GET_RAW_NR: 263 263 accept(TOKENIZER_GET_RAW_NR); 264 r = camera_get_nr(); 264 r = camera_get_nr(); 265 265 break; 266 266 case TOKENIZER_IS_KEY: … … 276 276 #ifdef UBASIC_TEST 277 277 r = 0; 278 #else 278 #else 279 279 r = conf.script_startup; 280 280 #endif … … 282 282 case TOKENIZER_GET_USB_POWER: 283 283 accept(TOKENIZER_GET_USB_POWER); 284 r = get_usb_power(0); 284 r = get_usb_power(0); 285 285 break; 286 286 case TOKENIZER_GET_EXP_COUNT: … … 381 381 accept(TOKENIZER_GET_USER_TV96); 382 382 r = shooting_get_user_tv96(); 383 break; 383 break; 384 384 case TOKENIZER_GET_USER_TV_ID: 385 385 accept(TOKENIZER_GET_USER_TV_ID); … … 389 389 accept(TOKENIZER_GET_AV96); 390 390 r = shooting_get_av96(); 391 break; 391 break; 392 392 case TOKENIZER_GET_USER_AV96: 393 393 accept(TOKENIZER_GET_USER_AV96); 394 394 r = shooting_get_user_av96(); 395 break; 395 break; 396 396 case TOKENIZER_GET_USER_AV_ID: 397 397 accept(TOKENIZER_GET_USER_AV_ID); … … 413 413 accept(TOKENIZER_GET_FAR_LIMIT); 414 414 r = shooting_get_far_limit_of_acceptable_sharpness(); 415 break; 415 break; 416 416 case TOKENIZER_GET_DOF: 417 417 accept(TOKENIZER_GET_DOF); … … 421 421 accept(TOKENIZER_GET_HYPERFOCAL_DIST); 422 422 r = shooting_get_hyperfocal_distance(); 423 break; 423 break; 424 424 case TOKENIZER_GET_ISO_MARKET: 425 425 accept(TOKENIZER_GET_ISO_MARKET); … … 433 433 accept(TOKENIZER_GET_BV96); 434 434 r = (int)shooting_get_bv96(); 435 break; 435 break; 436 436 case TOKENIZER_GET_SV96: 437 437 accept(TOKENIZER_GET_SV96); 438 438 r = (int)shooting_get_sv96(); 439 break; 439 break; 440 440 case TOKENIZER_GET_ISO_MODE: 441 441 accept(TOKENIZER_GET_ISO_MODE); … … 485 485 { 486 486 case 0: 487 r = get_optical_temp(); 487 r = get_optical_temp(); 488 488 break; 489 489 case 1: 490 r = get_ccd_temp(); 490 r = get_ccd_temp(); 491 491 break; 492 492 case 2: … … 515 515 #ifdef UBASIC_TEST 516 516 r = 1; 517 #else 517 #else 518 518 r = conf.save_raw; 519 #endif 519 #endif 520 520 break; 521 521 // get CHDK capture mode value, or 0 if in playback or unknown (broken modemap) … … 524 524 accept(TOKENIZER_GET_CAPTURE_MODE); 525 525 r = mode_get(); 526 if ( (r&MODE_MASK) == MODE_REC) 526 if ( (r&MODE_MASK) == MODE_REC) 527 527 r &= MODE_SHOOTING_MASK; 528 528 else … … 563 563 op == TOKENIZER_NE || 564 564 op == TOKENIZER_EQ || 565 op == TOKENIZER_XOR || 565 op == TOKENIZER_XOR || 566 566 op == TOKENIZER_OR || 567 567 op == TOKENIZER_MOD) { … … 615 615 int t1, t2; 616 616 int op; 617 617 618 618 t1 = term(); 619 619 op = tokenizer_token(); … … 652 652 int r1, r2; 653 653 int op; 654 654 655 655 r1 = expr(); 656 656 op = tokenizer_token(); … … 724 724 } 725 725 if (tokenizer_token() == TOKENIZER_ENDOFINPUT) { 726 if (state_kbd_script_run == 1) { 726 if (state_kbd_script_run == 1) { 727 727 DEBUG_PRINTF("Label %s not found", label); 728 728 ubasic_error = UBASIC_E_UNK_LABEL; … … 806 806 { 807 807 int r, else_cntr,endif_cntr,f_nt,f_sl; 808 808 809 809 accept(TOKENIZER_IF); 810 810 DEBUG_PRINTF("if_statement: get_relation\n"); … … 834 834 }else { 835 835 DEBUG_PRINTF("if_statement: result false\n"); 836 836 837 837 else_cntr=endif_cntr=0; // number of else/endif possible in current nesting 838 838 f_nt=f_sl=0; // f_nt nested then ?, f_fs flag single line 839 839 840 while(((tokenizer_token() != TOKENIZER_ELSE && tokenizer_token() != TOKENIZER_ENDIF) 840 while(((tokenizer_token() != TOKENIZER_ELSE && tokenizer_token() != TOKENIZER_ENDIF) 841 841 || else_cntr || endif_cntr) && tokenizer_token() != TOKENIZER_ENDOFINPUT){ 842 842 f_nt=0; … … 860 860 else_cntr--; 861 861 DEBUG_PRINTF("ELSE: line %d, token %d, else %d, end %d\n", tokenizer_line_number(),tokenizer_token(),else_cntr,endif_cntr); 862 if (else_cntr<0) { 862 if (else_cntr<0) { 863 863 DEBUG_PRINTF("ubasic.c: if_statement(): else without if-statement\n"); 864 864 ended = 1; … … 895 895 return; 896 896 } 897 } 897 } 898 898 endif_statement(); 899 899 }else { … … 908 908 tokenizer_token() != TOKENIZER_ENDOFINPUT); 909 909 if(tokenizer_token() == TOKENIZER_ELSE) { 910 accept(TOKENIZER_ELSE); 910 accept(TOKENIZER_ELSE); 911 911 statement(); 912 912 } else { … … 921 921 { 922 922 int r=0, endif_cntr, f_nt; 923 923 924 924 accept(TOKENIZER_ELSE); 925 925 if(if_stack_ptr > 0) { … … 933 933 } 934 934 DEBUG_PRINTF("else_statement: relation %d\n", r); 935 935 936 936 if (tokenizer_token() == TOKENIZER_CR) { 937 937 accept(TOKENIZER_CR); … … 942 942 DEBUG_PRINTF("else_statement: result false\n"); 943 943 endif_cntr=0; 944 while(((tokenizer_token() != TOKENIZER_ENDIF ) 944 while(((tokenizer_token() != TOKENIZER_ENDIF ) 945 945 || endif_cntr) && tokenizer_token() != TOKENIZER_ENDOFINPUT){ 946 946 f_nt=0; … … 955 955 } else { // single line 956 956 endif_cntr--; 957 while(tokenizer_token() != TOKENIZER_ENDIF && tokenizer_token() != TOKENIZER_CR 957 while(tokenizer_token() != TOKENIZER_ENDIF && tokenizer_token() != TOKENIZER_CR 958 958 && tokenizer_token() != TOKENIZER_ENDOFINPUT){ 959 959 tokenizer_next(); … … 1019 1019 short case_run, case_goto = 0, case_gosub = 0; 1020 1020 int cur_ln, gosub_ln = 0; 1021 1021 1022 1022 accept(TOKENIZER_CASE); 1023 1023 if(select_stack_ptr > 0) { 1024 1024 select_value = select_stack[select_stack_ptr - 1].select_value; 1025 1025 case_run = select_stack[select_stack_ptr - 1].case_run; 1026 1026 1027 1027 if (!case_run) { 1028 1028 case_value_1 = expr(); 1029 1029 case_value_eq = (select_value == case_value_1); 1030 if (case_value_eq) { DEBUG_PRINTF("case_statement: case_value_eq %d, case_value %d\n", case_value_eq, case_value_1); } 1030 if (case_value_eq) { DEBUG_PRINTF("case_statement: case_value_eq %d, case_value %d\n", case_value_eq, case_value_1); } 1031 1031 1032 1032 if(tokenizer_token() == TOKENIZER_TO) { … … 1052 1052 DEBUG_PRINTF("case_statement: case_value_eq %d, case_value_comma %d\n", case_value_eq, case_value_1); 1053 1053 } 1054 1054 1055 1055 accept(TOKENIZER_SEMICOLON); 1056 1056 if (case_value_eq) { … … 1062 1062 statement(); 1063 1063 //GOSUB - save new linenumber, reset to curr linenumber 1064 if (case_gosub) { 1064 if (case_gosub) { 1065 1065 gosub_ln = tokenizer_line_number(); 1066 1066 jump_line(cur_ln+1); … … 1080 1080 //REM 1081 1081 if (case_goto) { dec_select_stack(); } else { 1082 if ((tokenizer_token() != TOKENIZER_CASE) && (tokenizer_token() != TOKENIZER_CASE_ELSE) && 1082 if ((tokenizer_token() != TOKENIZER_CASE) && (tokenizer_token() != TOKENIZER_CASE_ELSE) && 1083 1083 (tokenizer_token() != TOKENIZER_END_SELECT)) { 1084 1084 DEBUG_PRINTF("ubasic.c: select_statement(): don't found case, case_else or end_select\n"); 1085 1085 ended = 1; 1086 1086 ubasic_error = UBASIC_E_PARSE; 1087 } else { 1087 } else { 1088 1088 //GOSUB test for end_select and set to gosub-linenumber 1089 1089 if (tokenizer_token() == TOKENIZER_END_SELECT) { end_select_statement(); } … … 1093 1093 DEBUG_PRINTF("end_select_statement: GOSUB: returnLN=%d\n", gosub_stack[gosub_stack_ptr-1]); 1094 1094 } 1095 } 1096 //GOSUB 1095 } 1096 //GOSUB 1097 1097 } 1098 1098 } else { … … 1108 1108 short case_goto = 0, case_gosub = 0; 1109 1109 int cur_ln, gosub_ln = 0; 1110 1110 1111 1111 accept(TOKENIZER_CASE_ELSE); 1112 1112 if(select_stack_ptr > 0) { 1113 1113 if (!select_stack[select_stack_ptr - 1].case_run) { 1114 case_goto = (tokenizer_token() == TOKENIZER_GOTO); 1115 case_gosub = (tokenizer_token() == TOKENIZER_GOSUB); 1114 case_goto = (tokenizer_token() == TOKENIZER_GOTO); 1115 case_gosub = (tokenizer_token() == TOKENIZER_GOSUB); 1116 1116 //GOSUB - save curr linenumber 1117 1117 cur_ln = tokenizer_line_number(); … … 1119 1119 statement(); 1120 1120 //GOSUB - save new linenumber, reset to curr linenumber 1121 if (case_gosub) { 1121 if (case_gosub) { 1122 1122 gosub_ln = tokenizer_line_number(); 1123 1123 jump_line(cur_ln+1); … … 1133 1133 while ((tokenizer_token() == TOKENIZER_REM) && (!case_goto)) {statement();} 1134 1134 //REM 1135 if (case_goto) { dec_select_stack(); } else { 1135 if (case_goto) { dec_select_stack(); } else { 1136 1136 //GOSUB test for end_select and set to gosub-linenumber 1137 1137 if (tokenizer_token() != TOKENIZER_END_SELECT) { … … 1139 1139 ended = 1; 1140 1140 ubasic_error = UBASIC_E_PARSE; 1141 } else { 1142 end_select_statement(); 1141 } else { 1142 end_select_statement(); 1143 1143 if (case_gosub) { 1144 1144 gosub_stack[gosub_stack_ptr-1] = tokenizer_line_number(); … … 1146 1146 DEBUG_PRINTF("end_select_statement: GOSUB: returnLN=%d\n", gosub_stack[gosub_stack_ptr-1]); 1147 1147 } 1148 } 1149 //GOSUB 1148 } 1149 //GOSUB 1150 1150 } 1151 1151 } else { … … 1159 1159 select_statement(void) 1160 1160 { 1161 1161 1162 1162 int select_value; 1163 1163 1164 1164 accept(TOKENIZER_SELECT); 1165 select_value = expr(); 1165 select_value = expr(); 1166 1166 accept(TOKENIZER_CR); 1167 1167 //REM 1168 1168 while (tokenizer_token() == TOKENIZER_REM) {statement();} 1169 1169 //REM 1170 1170 1171 1171 if(select_stack_ptr < MAX_SELECT_STACK_DEPTH) { 1172 1172 select_stack[select_stack_ptr].select_value = select_value; … … 1191 1191 let_statement(void) 1192 1192 { 1193 1193 1194 1194 int var; 1195 1195 … … 1265 1265 { 1266 1266 int var, value; 1267 1267 1268 1268 accept(TOKENIZER_NEXT); 1269 1269 var = tokenizer_variable_num(); … … 1273 1273 value = ubasic_get_variable(var) + for_stack[for_stack_ptr - 1].step; 1274 1274 ubasic_set_variable(var, value); 1275 1275 1276 1276 if(((for_stack[for_stack_ptr - 1].step > 0) && (value <= for_stack[for_stack_ptr - 1].to)) || 1277 1277 ((for_stack[for_stack_ptr - 1].step < 0) && (value >= for_stack[for_stack_ptr - 1].to))) 1278 jump_line(for_stack[for_stack_ptr - 1].line_after_for); 1278 jump_line(for_stack[for_stack_ptr - 1].line_after_for); 1279 1279 else { 1280 1280 for_stack_ptr--; … … 1293 1293 { 1294 1294 int for_variable, to, step; 1295 1295 1296 1296 accept(TOKENIZER_FOR); 1297 1297 for_variable = tokenizer_variable_num(); … … 1300 1300 ubasic_set_variable(for_variable, expr()); 1301 1301 accept(TOKENIZER_TO); 1302 to = expr(); 1302 to = expr(); 1303 1303 step = 1; 1304 1304 if (tokenizer_token() != TOKENIZER_CR) { 1305 1305 accept(TOKENIZER_STEP); 1306 step = expr(); 1306 step = expr(); 1307 1307 } 1308 1308 accept(TOKENIZER_CR); … … 1316 1316 for_stack[for_stack_ptr].for_variable, 1317 1317 for_stack[for_stack_ptr].to); 1318 1318 1319 1319 for_stack_ptr++; 1320 1320 } else { … … 1344 1344 { 1345 1345 int r; 1346 1346 1347 1347 accept(TOKENIZER_UNTIL); 1348 1348 r = relation(); … … 1365 1365 { 1366 1366 int r, while_cntr; 1367 1367 1368 1368 accept(TOKENIZER_WHILE); 1369 1369 if(while_stack_ptr < MAX_WHILE_STACK_DEPTH) { … … 1383 1383 if(!r) { 1384 1384 while_cntr=0; 1385 while((tokenizer_token() != TOKENIZER_WEND || while_cntr ) && 1386 tokenizer_token() != TOKENIZER_ENDOFINPUT){ 1385 while((tokenizer_token() != TOKENIZER_WEND || while_cntr ) && 1386 tokenizer_token() != TOKENIZER_ENDOFINPUT){ 1387 1387 if (tokenizer_token() == TOKENIZER_WHILE) while_cntr+=1; 1388 if (tokenizer_token() == TOKENIZER_WEND) while_cntr-=1; 1388 if (tokenizer_token() == TOKENIZER_WEND) while_cntr-=1; 1389 1389 tokenizer_next(); 1390 } 1390 } 1391 1391 while_stack_ptr--; 1392 1392 1393 1393 accept(TOKENIZER_WEND); 1394 accept(TOKENIZER_CR); 1394 accept(TOKENIZER_CR); 1395 1395 } else { 1396 accept_cr(); 1396 accept_cr(); 1397 1397 } 1398 1398 } else { … … 1677 1677 accept(TOKENIZER_VARIABLE); 1678 1678 ubasic_set_variable(var, (unsigned short)stat_get_vbatt()); 1679 1679 1680 1680 accept_cr(); 1681 1681 } … … 1689 1689 accept(TOKENIZER_VARIABLE); 1690 1690 ubasic_set_variable(var1, shooting_get_prop(var)); 1691 1691 1692 1692 accept_cr(); 1693 1693 } … … 1962 1962 #else 1963 1963 if (mode_video) shooting_set_focus(to, SET_NOW); 1964 else shooting_set_focus(to, SET_LATER); 1965 #endif 1964 else shooting_set_focus(to, SET_LATER); 1965 #endif 1966 1966 accept_cr(); 1967 1967 } … … 2087 2087 to = expr(); 2088 2088 // if the value as negative, assume it is a mistakenly sign extended PROPCASE_SHOOTING_MODE value 2089 if( to < 0) 2089 if( to < 0) 2090 2090 to &= 0xFFFF; 2091 2091 shooting_set_mode_canon(to); … … 2196 2196 var = tokenizer_variable_num(); 2197 2197 accept(TOKENIZER_VARIABLE); 2198 2198 2199 2199 ubasic_set_variable(var, md_get_cell_diff(col,row)); 2200 2200 accept_cr(); … … 2253 2253 2254 2254 if (tokenizer_token() != TOKENIZER_CR && tokenizer_token() != TOKENIZER_ELSE) { 2255 // eat COMA 2255 // eat COMA 2256 2256 // tokenizer_next(); 2257 2257 } 2258 2258 2259 2259 2260 2260 2261 2261 if (tokenizer_token() != TOKENIZER_CR && tokenizer_token() != TOKENIZER_ELSE) { 2262 2262 tokenizer_next(); … … 2292 2292 msecs_before_trigger = expr(); 2293 2293 } 2294 2294 2295 2295 2296 2296 accept_cr(); … … 2306 2306 2307 2307 md_init_motion_detector( 2308 columns, rows, pixel_measure_mode, detection_timeout, 2308 columns, rows, pixel_measure_mode, detection_timeout, 2309 2309 measure_interval, threshold, draw_grid, 2310 2310 clipping_region_mode, … … 2379 2379 case TOKENIZER_GET_TV96: 2380 2380 get_tv96_statement(); 2381 break; 2381 break; 2382 2382 case TOKENIZER_GET_USER_TV96: 2383 2383 get_user_tv96_statement(); 2384 break; 2384 break; 2385 2385 case TOKENIZER_GET_USER_TV_ID: 2386 2386 get_user_tv_id_statement(); … … 2388 2388 case TOKENIZER_GET_AV96: 2389 2389 get_av96_statement(); 2390 break; 2390 break; 2391 2391 case TOKENIZER_GET_USER_AV96: 2392 2392 get_user_av96_statement(); 2393 break; 2393 break; 2394 2394 case TOKENIZER_GET_USER_AV_ID: 2395 2395 get_user_av_id_statement(); … … 2406 2406 case TOKENIZER_GET_FAR_LIMIT: 2407 2407 get_far_limit_statement(); 2408 break; 2408 break; 2409 2409 case TOKENIZER_GET_DOF: 2410 2410 get_dof_statement(); … … 2412 2412 case TOKENIZER_GET_HYPERFOCAL_DIST: 2413 2413 get_hyperfocal_distance_statement(); 2414 break; 2414 break; 2415 2415 case TOKENIZER_GET_ISO_MARKET: 2416 2416 get_iso_market_statement(); … … 2421 2421 case TOKENIZER_GET_BV96: 2422 2422 get_bv96_statement(); 2423 break; 2423 break; 2424 2424 case TOKENIZER_GET_SV96: 2425 2425 get_sv96_statement(); 2426 break; 2426 break; 2427 2427 case TOKENIZER_GET_ISO_MODE: 2428 2428 get_iso_mode_statement(); … … 2449 2449 case TOKENIZER_SET_TV96_DIRECT: 2450 2450 set_tv96_direct_statement(); 2451 break; 2451 break; 2452 2452 case TOKENIZER_SET_TV96: 2453 2453 set_tv96_statement(); 2454 break; 2454 break; 2455 2455 case TOKENIZER_PLAY_SOUND: 2456 2456 play_sound_statement(); 2457 break; 2457 break; 2458 2458 case TOKENIZER_SET_SHUTTER_SPEED: 2459 2459 set_shutter_speed_statement(); 2460 break; 2460 break; 2461 2461 case TOKENIZER_SET_USER_TV96: 2462 2462 set_user_tv96_statement(); 2463 break; 2463 break; 2464 2464 case TOKENIZER_SET_USER_TV_BY_ID: 2465 2465 set_user_tv_by_id_statement(); … … 2470 2470 case TOKENIZER_SET_AV96_DIRECT: 2471 2471 set_av96_direct_statement(); 2472 break; 2472 break; 2473 2473 case TOKENIZER_SET_AV96: 2474 2474 set_av96_statement(); 2475 break; 2476 2475 break; 2476 2477 2477 case TOKENIZER_SET_USER_AV96: 2478 2478 set_user_av96_statement(); 2479 break; 2479 break; 2480 2480 case TOKENIZER_SET_USER_AV_BY_ID: 2481 2481 set_user_av_by_id_statement(); … … 2484 2484 set_user_av_by_id_rel_statement(); 2485 2485 break; 2486 2486 2487 2487 case TOKENIZER_SET_ND_FILTER: 2488 2488 set_nd_filter_statement(); 2489 break; 2490 2489 break; 2490 2491 2491 case TOKENIZER_SET_ZOOM: 2492 2492 set_zoom_statement(); … … 2508 2508 case TOKENIZER_SET_ISO_DL_F_B: 2509 2509 set_iso_real_delta_from_base_statement(); 2510 break;*/ 2510 break;*/ 2511 2511 case TOKENIZER_SET_ISO_REAL: 2512 2512 set_iso_real_statement(); … … 2514 2514 case TOKENIZER_SET_SV96: 2515 2515 set_sv96_statement(); 2516 break; 2517 2516 break; 2517 2518 2518 //ARM End 2519 2520 2519 2520 2521 2521 2522 2522 case TOKENIZER_SET_ISO_MODE: … … 2534 2534 set_ev_statement(); 2535 2535 break; 2536 2536 2537 2537 case TOKENIZER_SET_MOVIE_STATUS: 2538 2538 set_movie_status_statement(); … … 2694 2694 return; 2695 2695 } 2696 #endif 2696 #endif 2697 2697 /* reyalp - eat up to 100 labels or rems at a time so they don't cost 10ms each */ 2698 2698 int count = 100; -
trunk/platform/generic/kbd.c
r1059 r1060 56 56 long get_mmio(void) 57 57 { 58 long x; 58 long x; 59 59 60 60 #if defined(CAMERA_a530) || defined(CAMERA_a540) 61 61 x = (long)*mmio2; 62 62 #endif 63 64 #if defined(CAMERA_a610) || defined(CAMERA_a620) || defined(CAMERA_a630) || defined(CAMERA_a640) || defined(CAMERA_ixus800_sd700) 63 64 #if defined(CAMERA_a610) || defined(CAMERA_a620) || defined(CAMERA_a630) || defined(CAMERA_a640) || defined(CAMERA_ixus800_sd700) 65 65 x = (long)*mmio1; 66 66 #endif … … 69 69 x = (long)*mmio0; 70 70 #endif 71 72 return x; 73 } 74 75 #if defined(CAMERA_a530) || defined(CAMERA_a540) || defined(CAMERA_a610) || defined(CAMERA_a620) || defined(CAMERA_a630) || defined(CAMERA_a640) || defined(CAMERA_a700)|| defined(CAMERA_a710) || defined (CAMERA_ixus800_sd700) 71 72 return x; 73 } 74 75 #if defined(CAMERA_a530) || defined(CAMERA_a540) || defined(CAMERA_a610) || defined(CAMERA_a620) || defined(CAMERA_a630) || defined(CAMERA_a640) || defined(CAMERA_a700)|| defined(CAMERA_a710) || defined (CAMERA_ixus800_sd700) 76 76 void wait_until_remote_button_is_released(void) 77 77 { … … 118 118 nSW = 0; 119 119 do 120 { 120 { 121 121 x=get_mmio(); 122 122 cur_usb_power = x&USB_MASK; … … 137 137 { 138 138 tick3 = (int)get_tick_count()-tick2; 139 if(nSW==10) 139 if(nSW==10) 140 140 { 141 141 if(tick3>50) shutter_int=1; 142 142 nSW=20; 143 143 } 144 if(nSW==0 && tick3>0) 144 if(nSW==0 && tick3>0) 145 145 { 146 if(tick3<50) 146 if(tick3<50) 147 147 { 148 148 nSW=10; … … 165 165 166 166 } //continuous-shooting mode 167 167 168 168 else{ // normal mode 169 169 shoot_counter=0; … … 176 176 177 177 // while((x&USB_MASK) && ((int)get_tick_count()-tick < DELAY_TIMEOUT)); 178 178 179 179 // ------ modif by Masuji SUTO (start) -------------- 180 180 while(((!(x&USB_MASK) && (nMode==0)) || ((x&USB_MASK) && (nMode==1))) && ((int)get_tick_count()-tick < DELAY_TIMEOUT)); … … 317 317 remote_key = (kbd_new_state[USB_REG] & USB_MASK)==USB_MASK; 318 318 319 if (remote_key) 319 if (remote_key) 320 320 remote_count += 1; 321 321 else if (remote_count) { -
trunk/platform/generic/shooting.c
r1059 r1060 34 34 static short sv96_base_tmp=0; 35 35 //static short override_iso=0; 36 static const double sqrt2=1.4142135623731;//square root from 2 36 static const double sqrt2=1.4142135623731;//square root from 2 37 37 static const double log_2=0.6931471805599;//natural logarithm of 2 38 static const double k=12.5;//K is the reflected-light meter calibration constant 38 static const double k=12.5;//K is the reflected-light meter calibration constant 39 39 static const short koef[] = {0, 1,10,100,1000}; 40 40 static const float shutter_koef[] = {0, 0.00001, 0.0001,0.001,0.01,0.1,1,10,100,1000}; … … 103 103 int shooting_get_user_tv_id() 104 104 { 105 #if CAM_HAS_USER_TV_MODES 105 #if CAM_HAS_USER_TV_MODES 106 106 short tvv; 107 107 long i; … … 111 111 return shutter_speeds_table[i].id; 112 112 } 113 #endif 113 #endif 114 114 return 0; 115 115 } … … 151 151 } 152 152 } 153 #endif 153 #endif 154 154 } 155 155 void shooting_set_prop(int id, int v) … … 194 194 shooting_set_user_tv_by_id(cv+v); 195 195 } 196 #endif 196 #endif 197 197 } 198 198 … … 207 207 return aperture_sizes_table[i].id; 208 208 } 209 #endif 209 #endif 210 210 return 0; 211 211 } … … 241 241 short sv; 242 242 _GetPropertyCase(PROPCASE_SV, &sv, sizeof(sv)); 243 if (sv == 0) { 243 if (sv == 0) { 244 244 return 0; 245 245 } … … 264 264 { 265 265 short dsv,sv; 266 if (shooting_get_canon_iso_mode()<50) { 266 if (shooting_get_canon_iso_mode()<50) { 267 267 _GetPropertyCase(PROPCASE_DELTA_SV, &dsv, sizeof(dsv)); 268 268 _GetPropertyCase(PROPCASE_SV, &sv, sizeof(sv)); … … 274 274 short shooting_get_sv96_from_iso(short iso) 275 275 { 276 if (iso>0) 276 if (iso>0) 277 277 return (short)(log(pow(2.0,(-7.0/4.0))*(double)(iso))*96.0/(log_2)); 278 return 0; 278 return 0; 279 279 } 280 280 … … 282 282 { 283 283 if (iso>0) return (short)(log((double)(iso)*32.0/100.0)*96.0/(log_2)); 284 return 0; 285 } 284 return 0; 285 } 286 286 287 287 short shooting_get_iso_market_from_svm96(short svm96) … … 289 289 if (svm96>0 ) 290 290 return (short)((double)pow(2, (((double)svm96)/96.0))*100.0/32.0); 291 return 0; 291 return 0; 292 292 } 293 293 … … 302 302 else iso_market_base=100; 303 303 } 304 return iso_market_base; 304 return iso_market_base; 305 305 } 306 306 … … 323 323 //double koef; 324 324 short iso_mode=shooting_get_canon_iso_mode(); 325 if ((iso_mode < 50) || (conf.iso_override_koef && conf.iso_override_value) || (conf.iso_bracket_koef && conf.iso_bracket_value)) 325 if ((iso_mode < 50) || (conf.iso_override_koef && conf.iso_override_value) || (conf.iso_bracket_koef && conf.iso_bracket_value)) 326 326 { 327 327 short iso_b=shooting_get_iso_base(); … … 332 332 333 333 void shooting_set_sv96(short sv96, short is_now){ 334 short dsv96=0, iso_mode=shooting_get_canon_iso_mode(); 334 short dsv96=0, iso_mode=shooting_get_canon_iso_mode(); 335 335 if ((mode_get()&MODE_MASK) != MODE_PLAY){ 336 336 if (is_now) { 337 337 if (iso_mode<50) dsv96 =sv96-shooting_get_base_sv96(); 338 338 else if (sv96_base) dsv96=sv96-sv96_base; 339 else if (sv96_base_tmp) dsv96=sv96-sv96_base_tmp; 339 else if (sv96_base_tmp) dsv96=sv96-sv96_base_tmp; 340 340 else 341 { 342 sv96_base_tmp= (short)((shooting_get_svm96_base()*shooting_get_sv96())/shooting_get_svm96()); 341 { 342 sv96_base_tmp= (short)((shooting_get_svm96_base()*shooting_get_sv96())/shooting_get_svm96()); 343 343 dsv96=sv96-sv96_base_tmp; 344 } 344 } 345 345 while ((shooting_is_flash_ready()!=1) || (focus_busy)); 346 346 short svm96_base =shooting_get_svm96_base(); … … 358 358 return; 359 359 int iso=(int)((short)shooting_get_iso_base()+diso); 360 360 361 361 if (iso>0) { 362 362 shooting_set_sv96((short)(shooting_get_sv96_from_iso(iso))); … … 422 422 { 423 423 int av=shooting_get_real_aperture(); 424 int fl=get_focal_length(lens_get_zoom_point()); 424 int fl=get_focal_length(lens_get_zoom_point()); 425 425 if ((av>0) && (fl>0)) return (fl*fl)/(10*circle_of_confusion*av); 426 426 else return (-1); … … 430 430 { 431 431 int h=shooting_get_hyperfocal_distance_(); 432 if ((h>0) && (conf.dof_dist_from_lens)) 432 if ((h>0) && (conf.dof_dist_from_lens)) 433 433 return (h-shooting_get_lens_to_focal_plane_width()); 434 434 else return h; … … 452 452 else { 453 453 int h, v, m; 454 int fl=get_focal_length(lens_get_zoom_point()); 455 int near=shooting_get_canon_subject_distance(); 454 int fl=get_focal_length(lens_get_zoom_point()); 455 int near=shooting_get_canon_subject_distance(); 456 456 int v1=(fl*fl); 457 457 int av_min=shooting_get_min_real_aperture(); … … 462 462 v=(h-near); 463 463 m=h*near; 464 if ((v>0) && (m>0)) return m/v; 464 if ((v>0) && (m>0)) return m/v; 465 465 } 466 466 } … … 472 472 { 473 473 int h=shooting_get_subject_distance_(); 474 if ((h>0) && (conf.dof_dist_from_lens)) 474 if ((h>0) && (conf.dof_dist_from_lens)) 475 475 return (h-shooting_get_lens_to_focal_plane_width()); 476 476 else return h; … … 479 479 int shooting_get_near_limit_of_acceptable_sharpness_() 480 480 { 481 int s=shooting_get_canon_subject_distance(); 481 int s=shooting_get_canon_subject_distance(); 482 482 if (conf.dof_subj_dist_as_near_limit) return s; 483 483 else { 484 int h = shooting_get_hyperfocal_distance_(); 484 int h = shooting_get_hyperfocal_distance_(); 485 485 int m = h*s; 486 486 int v = h+s; … … 493 493 { 494 494 int h=shooting_get_near_limit_of_acceptable_sharpness_(); 495 if ((h>0) && (conf.dof_dist_from_lens)) 495 if ((h>0) && (conf.dof_dist_from_lens)) 496 496 return (h-shooting_get_lens_to_focal_plane_width()); 497 497 else return h; … … 500 500 int shooting_get_near_limit_f(int s, int a, int fl) 501 501 { 502 int h = shooting_get_hyperfocal_distance_f(a, fl); 502 int h = shooting_get_hyperfocal_distance_f(a, fl); 503 503 int m = h*s; 504 504 int v = h+s; … … 509 509 int shooting_get_far_limit_of_acceptable_sharpness_() 510 510 { 511 int s=shooting_get_subject_distance_(), h=shooting_get_hyperfocal_distance_(); 511 int s=shooting_get_subject_distance_(), h=shooting_get_hyperfocal_distance_(); 512 512 int v = h-s; 513 513 int m = h*s; … … 519 519 { 520 520 int h=shooting_get_far_limit_of_acceptable_sharpness_(); 521 if ((h>0) && (conf.dof_dist_from_lens)) 521 if ((h>0) && (conf.dof_dist_from_lens)) 522 522 return (h-shooting_get_lens_to_focal_plane_width()); 523 523 else return h; … … 533 533 short shooting_get_tv96_from_shutter_speed(float t) 534 534 { 535 if (t>0) return (short) (96.0*log(1.0/t)/log_2); 535 if (t>0) return (short) (96.0*log(1.0/t)/log_2); 536 536 else return (-10000); 537 537 } … … 539 539 float shooting_get_shutter_speed_from_tv96(short tv) 540 540 { 541 return pow(2,(float)((-1)*tv)/96.0 ); 541 return pow(2,(float)((-1)*tv)/96.0 ); 542 542 } 543 543 … … 555 555 _GetPropertyCase(PROPCASE_USER_TV, &tv, sizeof(tv)); 556 556 return tv; 557 #else 557 #else 558 558 return 0; 559 #endif 559 #endif 560 560 } 561 561 … … 575 575 } 576 576 } 577 #endif 577 #endif 578 578 } 579 579 … … 599 599 _SetPropertyCase(PROPCASE_TV, &v, sizeof(v)); 600 600 } 601 else photo_param_put_off.tv96=v; 601 else photo_param_put_off.tv96=v; 602 602 } 603 603 } … … 606 606 void shooting_set_shutter_speed(float t, short is_now) 607 607 { 608 if (t>0) shooting_set_tv96_direct((short) 96.0*log(1/t)/log_2, is_now); 608 if (t>0) shooting_set_tv96_direct((short) 96.0*log(1/t)/log_2, is_now); 609 609 } 610 610 … … 612 612 { 613 613 if ((mode_get()&MODE_MASK) != MODE_PLAY){ 614 if (t>0) shooting_set_tv96_direct((short) (96.0*log(100000.0/(double)t)/log_2), is_now); 614 if (t>0) shooting_set_tv96_direct((short) (96.0*log(100000.0/(double)t)/log_2), is_now); 615 615 } 616 616 } … … 656 656 _GetPropertyCase(PROPCASE_USER_AV, &av, sizeof(av)); 657 657 return av; 658 #else 658 #else 659 659 return 0; 660 660 #endif … … 664 664 void shooting_set_av96(short v, short is_now) 665 665 { 666 #if CAM_HAS_IRIS_DIAPHRAGM 666 #if CAM_HAS_IRIS_DIAPHRAGM 667 667 if ((mode_get()&MODE_MASK) != MODE_PLAY){ 668 668 long i; … … 676 676 } 677 677 } 678 #endif 678 #endif 679 679 } 680 680 … … 689 689 else photo_param_put_off.nd_filter=v; 690 690 } 691 #endif 691 #endif 692 692 } 693 693 … … 695 695 696 696 void shooting_set_av96_direct(short v, short is_now) 697 { 697 { 698 698 #if CAM_HAS_IRIS_DIAPHRAGM 699 699 if ((mode_get()&MODE_MASK) != MODE_PLAY){ … … 723 723 } 724 724 } 725 #endif 725 #endif 726 726 } 727 727 … … 760 760 #if !CAM_CAN_SD_OVER_NOT_IN_MF && CAM_CAN_SD_OVERRIDE 761 761 int m=mode_get()&MODE_SHOOTING_MASK; 762 int mode_video=((m==MODE_VIDEO_STD) || 763 (m==MODE_VIDEO_SPEED) || 762 int mode_video=((m==MODE_VIDEO_STD) || 763 (m==MODE_VIDEO_SPEED) || 764 764 (m==MODE_VIDEO_COMPACT) || 765 (m==MODE_VIDEO_MY_COLORS) || 765 (m==MODE_VIDEO_MY_COLORS) || 766 766 (m==MODE_VIDEO_TIME_LAPSE) || 767 767 (m==MODE_VIDEO_COLOR_ACCENT)); … … 769 769 #elif !CAM_CAN_SD_OVERRIDE 770 770 int m=mode_get()&MODE_SHOOTING_MASK; 771 int mode_video=((m==MODE_VIDEO_STD) || 772 (m==MODE_VIDEO_SPEED) || 771 int mode_video=((m==MODE_VIDEO_STD) || 772 (m==MODE_VIDEO_SPEED) || 773 773 (m==MODE_VIDEO_COMPACT) || 774 (m==MODE_VIDEO_MY_COLORS) || 774 (m==MODE_VIDEO_MY_COLORS) || 775 775 (m==MODE_VIDEO_TIME_LAPSE) || 776 776 (m==MODE_VIDEO_COLOR_ACCENT)); 777 777 return mode_video; 778 #elif defined (CAMERA_ixus800_sd700) 778 #elif defined (CAMERA_ixus800_sd700) 779 779 int m=mode_get()&MODE_SHOOTING_MASK; 780 780 // TODO whats the reason for this ?!? 781 781 return (shooting_get_zoom()<8) && (m!=MODE_AUTO) && (m!=MODE_SCN_UNDERWATER); 782 #else 783 return 1; 784 #endif 782 #else 783 return 1; 784 #endif 785 785 } 786 786 … … 791 791 #elif !CAM_CAN_SD_OVERRIDE 792 792 return 0; 793 #else 793 #else 794 794 return shooting_get_focus_mode(); 795 #endif 795 #endif 796 796 } 797 797 … … 830 830 } 831 831 } 832 #endif 832 #endif 833 833 } 834 834 … … 840 840 shooting_set_user_av_by_id(cv+v); 841 841 } 842 #endif 842 #endif 843 843 } 844 844 … … 879 879 int shooting_is_flash() 880 880 { 881 int t = 0; 881 int t = 0; 882 882 _GetPropertyCase(PROPCASE_IS_FLASH_READY, &t,sizeof(&t)); 883 883 return t; … … 974 974 if ((is_now) && shooting_can_focus()) { 975 975 if (conf.dof_dist_from_lens) s+=shooting_get_lens_to_focal_plane_width(); 976 if ((!conf.dof_subj_dist_as_near_limit) && (s>0)) lens_set_focus_pos((s<MAX_DIST)?s:MAX_DIST); 976 if ((!conf.dof_subj_dist_as_near_limit) && (s>0)) lens_set_focus_pos((s<MAX_DIST)?s:MAX_DIST); 977 977 else { 978 978 int near=shooting_get_near_limit_f(s,shooting_get_min_real_aperture(),get_focal_length(lens_get_zoom_point())); 979 if (near>0) lens_set_focus_pos((near<MAX_DIST)?near:MAX_DIST); 979 if (near>0) lens_set_focus_pos((near<MAX_DIST)?near:MAX_DIST); 980 980 } 981 981 } … … 1001 1001 static const short shutter[]={0, 8, 15, 30, 60, 125, 250, 500, 1000}; 1002 1002 float current_shutter = shooting_get_shutter_speed_from_tv96(shooting_get_tv96()); 1003 1003 1004 1004 short current_iso=shooting_get_iso_real(); 1005 1005 1006 1006 short min_shutter = shutter[conf.autoiso_shutter]; 1007 1007 if (min_shutter == 0) … … 1014 1014 short target_iso = current_iso * min_shutter * current_shutter; 1015 1015 short min_iso = conf.autoiso_min_iso*10; 1016 1016 1017 1017 if (target_iso > max_iso) 1018 1018 { target_iso = max_iso; } 1019 1019 else if (target_iso < min_iso) 1020 1020 { target_iso = min_iso; } 1021 1021 1022 1022 float target_shutter = current_shutter * current_iso / target_iso; 1023 1023 1024 1024 shooting_set_shutter_speed(target_shutter, SET_NOW); 1025 1025 1026 1026 shooting_set_iso_real(target_iso, SET_NOW); 1027 1027 1028 1028 } 1029 1029 … … 1038 1038 float shooting_get_shutter_speed_override_value() 1039 1039 { 1040 return (float)conf.tv_override_value*shutter_koef[conf.tv_override_koef]; 1040 return (float)conf.tv_override_value*shutter_koef[conf.tv_override_koef]; 1041 1041 } 1042 1042 … … 1054 1054 const char * shooting_get_bracket_type() 1055 1055 { 1056 return expo_type[conf.bracket_type]; 1056 return expo_type[conf.bracket_type]; 1057 1057 } 1058 1058 … … 1060 1060 short shooting_get_iso_override_value() 1061 1061 { 1062 return conf.iso_override_value*koef[conf.iso_override_koef]; 1062 return conf.iso_override_value*koef[conf.iso_override_koef]; 1063 1063 } 1064 1064 1065 1065 short shooting_get_iso_bracket_value() 1066 1066 { 1067 return conf.iso_bracket_value*koef[conf.iso_bracket_koef]; 1067 return conf.iso_bracket_value*koef[conf.iso_bracket_koef]; 1068 1068 } 1069 1069 … … 1078 1078 const char * shooting_get_av_bracket_value() 1079 1079 { 1080 return expo_shift[conf.av_bracket_value]; 1080 return expo_shift[conf.av_bracket_value]; 1081 1081 } 1082 1082 … … 1105 1105 bracketing.shoot_counter=1; 1106 1106 // if Tv override is enabled... (this was adapted from function shooting_expo_param_override() ) 1107 if ( ((conf.tv_enum_type) || (conf.tv_override_value)) && (conf.tv_override_koef) && !(conf.override_disable==1) ) { 1107 if ( ((conf.tv_enum_type) || (conf.tv_override_value)) && (conf.tv_override_koef) && !(conf.override_disable==1) ) { 1108 1108 // ...use Tv override value as seed for bracketing: 1109 if (conf.tv_enum_type) 1109 if (conf.tv_enum_type) 1110 1110 bracketing.tv96 = 32*(conf.tv_override_value-tv_override_zero_shift); 1111 else 1111 else 1112 1112 bracketing.tv96 = shooting_get_tv96_from_shutter_speed(shooting_get_shutter_speed_override_value()); 1113 1113 } 1114 1114 // Tv override is disabled, use camera's opinion of Tv for bracketing seed value. 1115 1115 else { 1116 if (!(m==MODE_M || m==MODE_TV || m==MODE_LONG_SHUTTER)) bracketing.tv96=shooting_get_tv96(); 1116 if (!(m==MODE_M || m==MODE_TV || m==MODE_LONG_SHUTTER)) bracketing.tv96=shooting_get_tv96(); 1117 1117 else bracketing.tv96=shooting_get_user_tv96(); 1118 1118 } … … 1120 1120 } 1121 1121 // other shoots 1122 bracketing.shoot_counter++; 1122 bracketing.shoot_counter++; 1123 1123 is_odd=(bracketing.shoot_counter&1); 1124 1124 if ((!is_odd) || (conf.bracket_type>0)) bracketing.dtv96+=bracketing.tv96_step; … … 1135 1135 //short av_override_value=shooting_get_av96_override_value; 1136 1136 //if (av_override_value) bracketing.av96=av_override_value; 1137 if (!(m==MODE_M || m==MODE_AV)) bracketing.av96=shooting_get_av96(); 1137 if (!(m==MODE_M || m==MODE_AV)) bracketing.av96=shooting_get_av96(); 1138 1138 else bracketing.av96=shooting_get_user_av96(); 1139 1139 bracketing.av96_step=32*conf.av_bracket_value; 1140 1140 } 1141 1141 // other shoots 1142 bracketing.shoot_counter++; 1142 bracketing.shoot_counter++; 1143 1143 is_odd=(bracketing.shoot_counter&1); 1144 if (((!is_odd) || (conf.bracket_type>0)) || (((is_odd) && (conf.bracket_type==0)) && ((bracketing.av96-bracketing.dav96)<AV96_MIN))) 1144 if (((!is_odd) || (conf.bracket_type>0)) || (((is_odd) && (conf.bracket_type==0)) && ((bracketing.av96-bracketing.dav96)<AV96_MIN))) 1145 1145 bracketing.dav96+=bracketing.av96_step; 1146 1146 if ((((!is_odd) && (conf.bracket_type==0)) || (conf.bracket_type==1)) && ((bracketing.av96-bracketing.dav96)>=AV96_MIN)) … … 1150 1150 } 1151 1151 else if (((is_odd) && (conf.bracket_type==0)) || (conf.bracket_type==2) || (((!is_odd) && (conf.bracket_type==0)) && ((bracketing.av96-bracketing.dav96)<AV96_MIN))) 1152 { 1152 { 1153 1153 value=bracketing.av96+bracketing.dav96; 1154 1154 shooting_set_av96_direct(value, SET_NOW); … … 1165 1165 } 1166 1166 // other shoots 1167 bracketing.shoot_counter++; 1167 bracketing.shoot_counter++; 1168 1168 is_odd=(bracketing.shoot_counter&1); 1169 1170 if (((!is_odd) || (conf.bracket_type>0)) || (((is_odd) && (conf.bracket_type==0)) && (bracketing.iso<=bracketing.diso))) 1169 1170 if (((!is_odd) || (conf.bracket_type>0)) || (((is_odd) && (conf.bracket_type==0)) && (bracketing.iso<=bracketing.diso))) 1171 1171 { 1172 1172 bracketing.diso+=bracketing.iso_step; … … 1192 1192 } 1193 1193 // other shoots 1194 bracketing.shoot_counter++; 1194 bracketing.shoot_counter++; 1195 1195 is_odd=(bracketing.shoot_counter&1); 1196 1196 if (((!is_odd) || (conf.bracket_type>0)) || (((is_odd) && (conf.bracket_type==0)) && (bracketing.subj_dist<=bracketing.dsubj_dist))) … … 1212 1212 1213 1213 void shooting_bracketing(void){ 1214 1214 1215 1215 short drive_mode=shooting_get_drive_mode(); 1216 1216 if (shooting_get_drive_mode()!=0) { 1217 1217 int m=mode_get()&MODE_SHOOTING_MASK; 1218 1218 if (m!=MODE_STITCH) { 1219 if (state_shooting_progress != SHOOTING_PROGRESS_PROCESSING) { 1219 if (state_shooting_progress != SHOOTING_PROGRESS_PROCESSING) { 1220 1220 bracketing.shoot_counter=0; 1221 1221 bracketing.av96=0; … … 1231 1231 bracketing.type=0; 1232 1232 } 1233 if (conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) shooting_tv_bracketing(); 1234 else if (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) shooting_av_bracketing(); 1233 if (conf.tv_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) shooting_tv_bracketing(); 1234 else if (conf.av_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) shooting_av_bracketing(); 1235 1235 else if ((conf.iso_bracket_value && !(conf.override_disable==1 && conf.override_disable_all)) && (conf.iso_bracket_koef)) { 1236 1236 shooting_iso_bracketing(); … … 1284 1284 //int m=mode_get()&MODE_SHOOTING_MASK; 1285 1285 if ((state_kbd_script_run) && (photo_param_put_off.tv96)) { 1286 shooting_set_tv96_direct(photo_param_put_off.tv96, SET_NOW); 1286 shooting_set_tv96_direct(photo_param_put_off.tv96, SET_NOW); 1287 1287 photo_param_put_off.tv96=0; 1288 1288 } 1289 1289 else if (((conf.tv_enum_type) || (conf.tv_override_value)) && (conf.tv_override_koef) && !(conf.override_disable==1)) 1290 { 1291 if (conf.tv_enum_type) 1290 { 1291 if (conf.tv_enum_type) 1292 1292 shooting_set_tv96_direct(32*(conf.tv_override_value-(tv_override_zero_shift)),SET_NOW); 1293 else 1294 shooting_set_tv96_direct(shooting_get_tv96_from_shutter_speed(shooting_get_shutter_speed_override_value()), SET_NOW); 1293 else 1294 shooting_set_tv96_direct(shooting_get_tv96_from_shutter_speed(shooting_get_shutter_speed_override_value()), SET_NOW); 1295 1295 } 1296 1296 if ((state_kbd_script_run) && (photo_param_put_off.sv96)) { 1297 1297 shooting_set_sv96(photo_param_put_off.sv96, SET_NOW); 1298 photo_param_put_off.sv96=0; 1298 photo_param_put_off.sv96=0; 1299 1299 } 1300 1300 else if ((conf.iso_override_value) && (conf.iso_override_koef) && !(conf.override_disable==1)) … … 1310 1310 if ((state_kbd_script_run) && (photo_param_put_off.subj_dist)) { 1311 1311 shooting_set_focus(photo_param_put_off.subj_dist, SET_NOW); 1312 photo_param_put_off.subj_dist=0; 1312 photo_param_put_off.subj_dist=0; 1313 1313 } 1314 1314 else if ((conf.subj_dist_override_value) && (conf.subj_dist_override_koef) && !(conf.override_disable==1)) … … 1317 1317 if ((state_kbd_script_run) && (photo_param_put_off.nd_filter)) { 1318 1318 shooting_set_nd_filter_state(photo_param_put_off.nd_filter, SET_NOW); 1319 photo_param_put_off.nd_filter=0; 1320 } 1321 else if (conf.nd_filter_state && !(conf.override_disable==1)) 1319 photo_param_put_off.nd_filter=0; 1320 } 1321 else if (conf.nd_filter_state && !(conf.override_disable==1)) 1322 1322 shooting_set_nd_filter_state(conf.nd_filter_state, SET_NOW); 1323 #endif 1323 #endif 1324 1324 1325 1325 #if CAM_REAR_CURTAIN … … 1330 1330 shooting_set_flash_video_override(conf.flash_manual_override,conf.flash_video_override_power); 1331 1331 #if CAM_QUALITY_OVERRIDE 1332 // this doesn't really need to be set in the override hook. 1332 // this doesn't really need to be set in the override hook. 1333 1333 // should only need to be set once if the users doesn't change back, but doing it here ensures it is set 1334 1334 shooting_set_image_quality(conf.fast_image_quality); … … 1394 1394 int i; 1395 1395 for (i=0; i < MODESCNT; i++) { 1396 if (modemap[i].canonmode == canonmode) 1396 if (modemap[i].canonmode == canonmode) 1397 1397 return modemap[i].hackmode; 1398 1398 } … … 1403 1403 int i; 1404 1404 for (i=0; i < MODESCNT; i++) { 1405 if (modemap[i].hackmode == hackmode) 1405 if (modemap[i].hackmode == hackmode) 1406 1406 return modemap[i].canonmode; 1407 1407 } -
trunk/platform/generic/wrappers.c
r1059 r1060 39 39 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ 40 40 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ 41 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ 41 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ 42 42 #endif 43 43 … … 189 189 0x2004, //self-timer sound 190 190 0xC211, //short beep 191 50000, // AF confirmation 191 50000, // AF confirmation 192 192 0xC507, // error beep imo 193 193 0x400D, // LONG ERROR BEEP CONTINIUOUS- warning, cannot be stopped (yet) … … 416 416 } 417 417 418 // strerror exists on vxworks cams, 418 // strerror exists on vxworks cams, 419 419 // but it does about the same thing as this 420 420 const char *strerror(int en) { … … 478 478 // for DRYOS cameras do something with this! - sizeof(x[]) must be >= sizeof(struct tm) : 'static int x[9];' 479 479 static int x[9]; 480 return _LocalTime(_tod, &x); 480 return _LocalTime(_tod, &x); 481 481 #endif 482 482 } … … 659 659 //#else 660 660 _SetAutoShutdownTime(1); // 1 sec 661 for (i=0;i<200;i++) _UnlockMainPower(); // set power unlock counter to 200 or more, because every keyboard function call try to lock power again ( if "Disable LCD off" menu is "alt" or "script"). 661 for (i=0;i<200;i++) _UnlockMainPower(); // set power unlock counter to 200 or more, because every keyboard function call try to lock power again ( if "Disable LCD off" menu is "alt" or "script"). 662 662 //#endif 663 663 } … … 776 776 // return value: 1 - success, 0 - fail 777 777 // called only in VxWorks 778 778 779 779 int offset=0x10; // points to partition #2 780 780 int valid; 781 782 if ((mbr_sector[0x1FE]!=0x55) || (mbr_sector[0x1FF]!=0xAA)) return 0; // signature check 781 782 if ((mbr_sector[0x1FE]!=0x55) || (mbr_sector[0x1FF]!=0xAA)) return 0; // signature check 783 783 784 784 mbr_buf=_AllocateUncacheableMemory(SECTOR_SIZE); … … 787 787 788 788 while(offset>=0) { 789 790 *part_start_sector=(*(unsigned short*)(mbr_sector+offset+0x1C8)<<16) | *(unsigned short*)(mbr_sector+offset+0x1C6); 791 *part_length=(*(unsigned short*)(mbr_sector+offset+0x1CC)<<16) | *(unsigned short*)(mbr_sector+offset+0x1CA); 789 790 *part_start_sector=(*(unsigned short*)(mbr_sector+offset+0x1C8)<<16) | *(unsigned short*)(mbr_sector+offset+0x1C6); 791 *part_length=(*(unsigned short*)(mbr_sector+offset+0x1CC)<<16) | *(unsigned short*)(mbr_sector+offset+0x1CA); 792 792 793 793 valid= (*part_start_sector) && (*part_length) && 794 (*part_start_sector<=drive_total_sectors) && 794 (*part_start_sector<=drive_total_sectors) && 795 795 (*part_start_sector+*part_length<=drive_total_sectors) && 796 796 ((mbr_sector[offset+0x1BE]==0) || (mbr_sector[offset+0x1BE]==0x80)); // status: 0x80 (active) or 0 (non-active) … … 825 825 { 826 826 for (i=0; i<=1;i++){ 827 part_start_sector=(*(unsigned short*)(mbr_buf+i*16+0x1C8)<<16) | *(unsigned short*)(mbr_buf+i*16+0x1C6); 828 part_length=(*(unsigned short*)(mbr_buf+i*16+0x1CC)<<16) | *(unsigned short*)(mbr_buf+i*16+0x1CA); 827 part_start_sector=(*(unsigned short*)(mbr_buf+i*16+0x1C8)<<16) | *(unsigned short*)(mbr_buf+i*16+0x1C6); 828 part_length=(*(unsigned short*)(mbr_buf+i*16+0x1CC)<<16) | *(unsigned short*)(mbr_buf+i*16+0x1CA); 829 829 part_status=mbr_buf[i*16+0x1BE]; 830 830 part_type=mbr_buf[0x1C2+i*16]; … … 856 856 857 857 _memset(mbr_buf,0,SECTOR_SIZE); 858 858 859 859 start=1; length=2*1024*1024/SECTOR_SIZE; //2 Mb 860 860 type=1; // FAT primary … … 863 863 mbr_buf[0x1BE + 12]=length; mbr_buf[0x1BE + 13]=length>>8; mbr_buf[0x1BE + 14]=length>>16; mbr_buf[0x1BE + 15]=length>>24; 864 864 865 start=start+length; length=drive_sectors-start-1; 865 start=start+length; length=drive_sectors-start-1; 866 866 type=0x0B; //FAT32 primary; 867 867 mbr_buf[0x1CE + 4]=type; … … 928 928 extern char* second_ext_for_dng; // camera variable! 929 929 930 p_some_f default_some_f; 931 char * default_second_ext; 930 p_some_f default_some_f; 931 char * default_second_ext; 932 932 933 933 char *_strstr (const char *s1, const char *s2) … … 959 959 void change_ext_to_dng(void){ 960 960 some_f_for_dng=my_some_f; 961 second_ext_for_dng=DNG_EXT_TO; 961 second_ext_for_dng=DNG_EXT_TO; 962 962 } 963 963 … … 981 981 #if !CAM_DRYOS 982 982 long drvnum; 983 983 984 984 drvnum = _iosDrvInstall(dh_err,dh_err,dh_err,dh_err,dh_err,dh_err,dh_err); 985 985 if (drvnum >= 0) … … 1068 1068 1069 1069 // for cameras with two (or more?) RAW buffers this can be used to speed up DNG creation by 1070 // calling reverse_bytes_order only once. Override in platform/sub/lib.c 1070 // calling reverse_bytes_order only once. Override in platform/sub/lib.c 1071 1071 char __attribute__((weak)) *hook_alt_raw_image_addr() { 1072 1072 return hook_raw_image_addr(); … … 1116 1116 #endif 1117 1117 1118 // TODO mode switch function should detect if USB is connected or not, 1118 // TODO mode switch function should detect if USB is connected or not, 1119 1119 // and do regular or special switch as needed 1120 1120 #ifdef CAM_DRYOS
Note: See TracChangeset
for help on using the changeset viewer.