| 1 | #ifndef CONF_H |
|---|
| 2 | #define CONF_H |
|---|
| 3 | |
|---|
| 4 | #include "gui.h" |
|---|
| 5 | #include "script.h" |
|---|
| 6 | |
|---|
| 7 | #define USER_MENU_ITEMS 14 |
|---|
| 8 | #define CONF_STR_LEN 100 |
|---|
| 9 | |
|---|
| 10 | #define CONF_EMPTY 0 |
|---|
| 11 | // regular char-int-short value |
|---|
| 12 | #define CONF_VALUE 1 |
|---|
| 13 | #define CONF_DEF_VALUE 1 |
|---|
| 14 | // pointer to value |
|---|
| 15 | #define CONF_VALUE_PTR 2 |
|---|
| 16 | // pointer to array of int |
|---|
| 17 | #define CONF_INT_PTR 3 |
|---|
| 18 | // pointer to the string |
|---|
| 19 | #define CONF_CHAR_PTR 4 |
|---|
| 20 | // pointer to the OSD_pos |
|---|
| 21 | #define CONF_OSD_POS_PTR 5 |
|---|
| 22 | |
|---|
| 23 | typedef struct { |
|---|
| 24 | unsigned short x, y; |
|---|
| 25 | } OSD_pos; |
|---|
| 26 | |
|---|
| 27 | typedef struct { |
|---|
| 28 | int isNumb, isStr, isPInt, isPos; |
|---|
| 29 | int numb; |
|---|
| 30 | char* str; |
|---|
| 31 | int* pInt; |
|---|
| 32 | OSD_pos pos; |
|---|
| 33 | } tConfigVal; |
|---|
| 34 | |
|---|
| 35 | typedef struct { |
|---|
| 36 | int save_raw; |
|---|
| 37 | int save_raw_in_video; |
|---|
| 38 | int save_raw_in_sports; |
|---|
| 39 | int save_raw_in_burst; |
|---|
| 40 | int save_raw_in_edgeoverlay; |
|---|
| 41 | int save_raw_in_auto; |
|---|
| 42 | int save_raw_in_ev_bracketing; |
|---|
| 43 | int save_raw_in_timer; |
|---|
| 44 | int raw_exceptions_warn; |
|---|
| 45 | int raw_in_dir; |
|---|
| 46 | int raw_prefix; |
|---|
| 47 | int raw_ext; |
|---|
| 48 | int raw_save_first_only; //for series shooting |
|---|
| 49 | int raw_nr; |
|---|
| 50 | int sub_batch_prefix; // output of batch subtracts |
|---|
| 51 | int sub_batch_ext; |
|---|
| 52 | int raw_cache; |
|---|
| 53 | int dng_raw; |
|---|
| 54 | int raw_timer; |
|---|
| 55 | int raw_dng_ext; |
|---|
| 56 | int dng_usb_ext; |
|---|
| 57 | |
|---|
| 58 | int show_osd; |
|---|
| 59 | int hide_osd; |
|---|
| 60 | int show_osd_in_review; |
|---|
| 61 | int script_shoot_delay; |
|---|
| 62 | int show_histo; |
|---|
| 63 | int script_vars[SCRIPT_NUM_PARAMS]; |
|---|
| 64 | char script_file[CONF_STR_LEN]; |
|---|
| 65 | |
|---|
| 66 | int show_dof; |
|---|
| 67 | int batt_volts_max; |
|---|
| 68 | int batt_volts_min; |
|---|
| 69 | int batt_step_25; |
|---|
| 70 | int batt_perc_show; |
|---|
| 71 | int batt_volts_show; |
|---|
| 72 | int batt_icon_show; |
|---|
| 73 | int space_bar_show; |
|---|
| 74 | int space_bar_size; |
|---|
| 75 | int space_bar_width; |
|---|
| 76 | int space_icon_show; |
|---|
| 77 | int show_clock; |
|---|
| 78 | int show_temp; |
|---|
| 79 | int temperature_unit; |
|---|
| 80 | int clock_format; |
|---|
| 81 | int clock_indicator; |
|---|
| 82 | int clock_halfpress; |
|---|
| 83 | int space_perc_show; |
|---|
| 84 | int space_mb_show; |
|---|
| 85 | int show_partition_nr; |
|---|
| 86 | int space_perc_warn; |
|---|
| 87 | int space_mb_warn; |
|---|
| 88 | int space_warn_type; |
|---|
| 89 | int show_movie_time; |
|---|
| 90 | int show_movie_refresh; |
|---|
| 91 | |
|---|
| 92 | int zoom_value; |
|---|
| 93 | |
|---|
| 94 | int show_state; |
|---|
| 95 | int show_remaining_raw; |
|---|
| 96 | int remaining_raw_treshold; |
|---|
| 97 | int show_raw_state; |
|---|
| 98 | int show_values; |
|---|
| 99 | int show_values_in_video; |
|---|
| 100 | int show_overexp; |
|---|
| 101 | |
|---|
| 102 | int histo_mode; |
|---|
| 103 | int histo_auto_ajust; |
|---|
| 104 | int histo_ignore_boundary; |
|---|
| 105 | int histo_layout; |
|---|
| 106 | int histo_show_ev_grid; |
|---|
| 107 | |
|---|
| 108 | int zebra_draw; |
|---|
| 109 | int zebra_mode; |
|---|
| 110 | int zebra_restore_screen; |
|---|
| 111 | int zebra_restore_osd; |
|---|
| 112 | int zebra_over; |
|---|
| 113 | int zebra_under; |
|---|
| 114 | int zebra_draw_osd; |
|---|
| 115 | int zebra_multichannel; |
|---|
| 116 | |
|---|
| 117 | OSD_pos histo_pos; |
|---|
| 118 | OSD_pos dof_pos; |
|---|
| 119 | OSD_pos batt_icon_pos; |
|---|
| 120 | OSD_pos space_icon_pos; |
|---|
| 121 | OSD_pos space_hor_pos; |
|---|
| 122 | OSD_pos space_ver_pos; |
|---|
| 123 | OSD_pos batt_txt_pos; |
|---|
| 124 | OSD_pos space_txt_pos; |
|---|
| 125 | OSD_pos mode_state_pos; |
|---|
| 126 | OSD_pos mode_raw_pos; |
|---|
| 127 | OSD_pos values_pos; |
|---|
| 128 | OSD_pos clock_pos; |
|---|
| 129 | OSD_pos mode_video_pos; |
|---|
| 130 | OSD_pos mode_ev_pos; |
|---|
| 131 | OSD_pos temp_pos; |
|---|
| 132 | OSD_pos ev_video_pos; |
|---|
| 133 | OSD_pos usb_info_pos; |
|---|
| 134 | |
|---|
| 135 | color histo_color; |
|---|
| 136 | color histo_color2; // markers/border |
|---|
| 137 | color osd_color; |
|---|
| 138 | color osd_color_warn; |
|---|
| 139 | // color batt_icon_color; |
|---|
| 140 | color space_color; |
|---|
| 141 | color menu_color; |
|---|
| 142 | color menu_title_color; |
|---|
| 143 | color menu_cursor_color; |
|---|
| 144 | color menu_symbol_color; |
|---|
| 145 | int menu_center; |
|---|
| 146 | int menu_select_first_entry; |
|---|
| 147 | int menu_symbol_enable; |
|---|
| 148 | color reader_color; |
|---|
| 149 | color zebra_color; // under/over |
|---|
| 150 | color grid_color; |
|---|
| 151 | color osd_color_override; |
|---|
| 152 | |
|---|
| 153 | int font_cp; |
|---|
| 154 | char menu_rbf_file[CONF_STR_LEN]; |
|---|
| 155 | char menu_symbol_rbf_file[CONF_STR_LEN]; |
|---|
| 156 | |
|---|
| 157 | char lang_file[CONF_STR_LEN]; |
|---|
| 158 | |
|---|
| 159 | char reader_file[CONF_STR_LEN]; |
|---|
| 160 | int reader_pos; |
|---|
| 161 | int reader_autoscroll; |
|---|
| 162 | int reader_autoscroll_delay; |
|---|
| 163 | char reader_rbf_file[CONF_STR_LEN]; |
|---|
| 164 | int reader_codepage; |
|---|
| 165 | int reader_wrap_by_words; |
|---|
| 166 | |
|---|
| 167 | int sokoban_level; |
|---|
| 168 | |
|---|
| 169 | int flashlight; |
|---|
| 170 | int fast_ev; |
|---|
| 171 | int fast_ev_step; |
|---|
| 172 | int fast_image_quality; |
|---|
| 173 | int fast_movie_control; |
|---|
| 174 | int fast_movie_quality_control; |
|---|
| 175 | int splash_show; |
|---|
| 176 | int start_sound; |
|---|
| 177 | int platformid; |
|---|
| 178 | |
|---|
| 179 | int use_zoom_mf; |
|---|
| 180 | long alt_mode_button; //for S-series |
|---|
| 181 | int alt_prevent_shutdown; |
|---|
| 182 | |
|---|
| 183 | int show_grid_lines; |
|---|
| 184 | char grid_lines_file[CONF_STR_LEN]; |
|---|
| 185 | int grid_force_color; |
|---|
| 186 | |
|---|
| 187 | int video_mode; |
|---|
| 188 | int video_quality; |
|---|
| 189 | int video_bitrate; |
|---|
| 190 | |
|---|
| 191 | int tv_bracket_value; |
|---|
| 192 | int av_bracket_value; |
|---|
| 193 | int iso_bracket_value; |
|---|
| 194 | int iso_bracket_koef; |
|---|
| 195 | int subj_dist_bracket_value; |
|---|
| 196 | int subj_dist_bracket_koef; |
|---|
| 197 | int bracket_type; |
|---|
| 198 | int bracketing_add_raw_suffix; |
|---|
| 199 | int clear_bracket; |
|---|
| 200 | int clear_video; |
|---|
| 201 | int override_disable; |
|---|
| 202 | int override_disable_all; |
|---|
| 203 | |
|---|
| 204 | int tv_override_value; |
|---|
| 205 | int tv_override_koef; |
|---|
| 206 | int tv_enum_type; |
|---|
| 207 | int av_override_value; |
|---|
| 208 | |
|---|
| 209 | int nd_filter_state; |
|---|
| 210 | |
|---|
| 211 | int iso_override_value; |
|---|
| 212 | int iso_override_koef; |
|---|
| 213 | // int zoom_override_value; |
|---|
| 214 | // int zoom_override; |
|---|
| 215 | int subj_dist_override_value; |
|---|
| 216 | int subj_dist_override_koef; |
|---|
| 217 | int clear_override; |
|---|
| 218 | // int clear_zoom_override; |
|---|
| 219 | |
|---|
| 220 | int autoiso_enable; |
|---|
| 221 | // int autoiso_shutter; |
|---|
| 222 | int autoiso_shutter_enum; |
|---|
| 223 | int autoiso_user_factor; |
|---|
| 224 | int autoiso_is_factor; |
|---|
| 225 | int autoiso_max_iso_hi; |
|---|
| 226 | int autoiso_max_iso_auto; |
|---|
| 227 | int autoiso_min_iso; |
|---|
| 228 | int autoiso2_shutter_enum; |
|---|
| 229 | int autoiso2_max_iso_auto; |
|---|
| 230 | //AutoISO2 precalced values |
|---|
| 231 | float autoiso2_coef; // C2=( iso2_max_auto_real - iso_max_auto_real) / ( tv_num[autoiso_shutter] - tv_numerator[autoiso2_shutter]) |
|---|
| 232 | int autoiso_max_iso_hi_real; // converted from GUI (possible marketing) to real iso value |
|---|
| 233 | int autoiso_max_iso_auto_real; |
|---|
| 234 | int autoiso_min_iso_real; |
|---|
| 235 | int autoiso2_max_iso_auto_real; |
|---|
| 236 | int autoiso_min_shutter_numerator; // converted from enum to numerator |
|---|
| 237 | int autoiso2_min_shutter_numerator; |
|---|
| 238 | |
|---|
| 239 | int overexp_threshold; |
|---|
| 240 | int overexp_ev_enum; // 0-off, 1=-1/3, .. |
|---|
| 241 | |
|---|
| 242 | int dof_subj_dist_as_near_limit; |
|---|
| 243 | int dof_use_exif_subj_dist; |
|---|
| 244 | int dof_subj_dist_in_misc; |
|---|
| 245 | int dof_near_limit_in_misc; |
|---|
| 246 | int dof_far_limit_in_misc; |
|---|
| 247 | int dof_hyperfocal_in_misc; |
|---|
| 248 | int dof_depth_in_misc; |
|---|
| 249 | // int dof_dist_from_lens; |
|---|
| 250 | |
|---|
| 251 | int values_show_in_review; |
|---|
| 252 | int values_show_zoom; |
|---|
| 253 | int values_show_real_aperture; |
|---|
| 254 | int values_show_real_iso; |
|---|
| 255 | int values_show_market_iso; |
|---|
| 256 | int values_show_iso_only_in_autoiso_mode; |
|---|
| 257 | int values_show_ev_seted; |
|---|
| 258 | int values_show_ev_measured; |
|---|
| 259 | int values_show_bv_measured; |
|---|
| 260 | int values_show_bv_seted; |
|---|
| 261 | int values_show_overexposure; |
|---|
| 262 | int values_show_canon_overexposure; |
|---|
| 263 | int values_show_luminance; |
|---|
| 264 | |
|---|
| 265 | int debug_shortcut_action; // 0=none, 1=dump, 2=page display |
|---|
| 266 | int debug_display; // 0=none, 1=props, 2=flash param, 3=tasks |
|---|
| 267 | int debug_propcase_page; // save propcase page |
|---|
| 268 | int debug_lua_restart_on_error; // 0=no, 1=yes |
|---|
| 269 | int debug_misc_vals_show; // 0=no, 1=yes |
|---|
| 270 | |
|---|
| 271 | int script_startup; // remote autostart |
|---|
| 272 | int remote_enable; // remote enable |
|---|
| 273 | int user_menu_enable; |
|---|
| 274 | int user_menu_vars[USER_MENU_ITEMS]; |
|---|
| 275 | int user_menu_as_root; |
|---|
| 276 | int zoom_scale; |
|---|
| 277 | int unlock_optical_zoom_for_video; |
|---|
| 278 | int mute_on_zoom; |
|---|
| 279 | int bad_pixel_removal; |
|---|
| 280 | int video_af_key; |
|---|
| 281 | |
|---|
| 282 | char curve_file[CONF_STR_LEN]; |
|---|
| 283 | int curve_enable; |
|---|
| 284 | |
|---|
| 285 | int edge_overlay_enable; |
|---|
| 286 | int edge_overlay_filter; |
|---|
| 287 | int edge_overlay_thresh; |
|---|
| 288 | int edge_overlay_zoom; // shall zoom be set when *edg file is loaded? |
|---|
| 289 | int edge_overlay_pano; // whether a full press changes back to live mode |
|---|
| 290 | int edge_overlay_pano_overlap; // overlap in % in pano mode |
|---|
| 291 | int edge_overlay_show; // whether to show overlay even when no button is pressed |
|---|
| 292 | int edge_overlay_play; // whether edge overlay is switched on also for play mode |
|---|
| 293 | color edge_overlay_color; |
|---|
| 294 | |
|---|
| 295 | int synch_enable; |
|---|
| 296 | int ricoh_ca1_mode; |
|---|
| 297 | int synch_delay_enable; |
|---|
| 298 | int synch_delay_value; |
|---|
| 299 | int synch_delay_coarse_value; |
|---|
| 300 | int remote_zoom_enable; |
|---|
| 301 | int zoom_timeout; |
|---|
| 302 | |
|---|
| 303 | int script_param_set; |
|---|
| 304 | int script_param_save; |
|---|
| 305 | |
|---|
| 306 | long mem_view_addr_init; |
|---|
| 307 | int flash_sync_curtain; |
|---|
| 308 | int flash_video_override; |
|---|
| 309 | int flash_manual_override; |
|---|
| 310 | int flash_video_override_power; |
|---|
| 311 | |
|---|
| 312 | // Overrides to disable touchscreen U/I components (IXUS 310) |
|---|
| 313 | int touchscreen_disable_video_controls; |
|---|
| 314 | int touchscreen_disable_shortcut_controls; |
|---|
| 315 | |
|---|
| 316 | // Enable USB icon |
|---|
| 317 | int usb_info_enable; |
|---|
| 318 | int ext_video_time; |
|---|
| 319 | #ifdef CAM_HAS_GPS |
|---|
| 320 | int gps_record; |
|---|
| 321 | int gps_navi_show; |
|---|
| 322 | int gps_navi_hide; |
|---|
| 323 | int gps_kompass_show; |
|---|
| 324 | int gps_kompass_hide; |
|---|
| 325 | int gps_coordinates_show; |
|---|
| 326 | int gps_height_show; |
|---|
| 327 | int gps_waypoint_save; |
|---|
| 328 | int gps_track_time; |
|---|
| 329 | int gps_wait_for_signal; |
|---|
| 330 | int gps_kompass_time; |
|---|
| 331 | int gps_navi_time; |
|---|
| 332 | int gps_wait_for_signal_time; |
|---|
| 333 | int gps_kompass_smooth; |
|---|
| 334 | int gps_batt; |
|---|
| 335 | int gps_countdown; |
|---|
| 336 | int gps_2D_3D_fix; |
|---|
| 337 | int gps_countdown_blink; |
|---|
| 338 | int gps_rec_play_set; |
|---|
| 339 | int gps_play_dark_set; |
|---|
| 340 | int gps_rec_play_time; |
|---|
| 341 | int gps_play_dark_time; |
|---|
| 342 | int gps_rec_play_set_1; |
|---|
| 343 | int gps_play_dark_set_1; |
|---|
| 344 | int gps_rec_play_time_1; |
|---|
| 345 | int gps_play_dark_time_1; |
|---|
| 346 | int gps_show_symbol; |
|---|
| 347 | |
|---|
| 348 | int gps_batt_warn; |
|---|
| 349 | int gps_track_symbol; |
|---|
| 350 | int gps_test_timezone; |
|---|
| 351 | int gps_beep_warn; |
|---|
| 352 | int gps_on_off; |
|---|
| 353 | #endif |
|---|
| 354 | } Conf; |
|---|
| 355 | |
|---|
| 356 | extern Conf conf; |
|---|
| 357 | |
|---|
| 358 | #define ALT_PREVENT_SHUTDOWN_NO 0 |
|---|
| 359 | #define ALT_PREVENT_SHUTDOWN_ALT 1 |
|---|
| 360 | #define ALT_PREVENT_SHUTDOWN_ALT_SCRIPT 2 |
|---|
| 361 | #define ALT_PREVENT_SHUTDOWN_ALWAYS 3 |
|---|
| 362 | |
|---|
| 363 | #define SHOOTING_PROGRESS_NONE 0 |
|---|
| 364 | #define SHOOTING_PROGRESS_STARTED 1 |
|---|
| 365 | #define SHOOTING_PROGRESS_PROCESSING 2 |
|---|
| 366 | #define SHOOTING_PROGRESS_DONE 3 |
|---|
| 367 | |
|---|
| 368 | |
|---|
| 369 | // video quality defaults. Ideally, these should match the camera default settings |
|---|
| 370 | #define VIDEO_DEFAULT_QUALITY 84 // ? where does 84 come from |
|---|
| 371 | #define VIDEO_MAX_QUALITY 99 |
|---|
| 372 | #define VIDEO_DEFAULT_BITRATE 3 // should be 1 for all cams |
|---|
| 373 | |
|---|
| 374 | extern void user_menu_restore(); |
|---|
| 375 | |
|---|
| 376 | extern int state_kbd_script_run; |
|---|
| 377 | extern int state_shooting_progress; |
|---|
| 378 | extern int state_save_raw_nth_only; |
|---|
| 379 | extern int state_expos_recalculated; |
|---|
| 380 | extern int state_expos_under; |
|---|
| 381 | extern int state_expos_over; |
|---|
| 382 | |
|---|
| 383 | extern void script_autostart(); // remote autostart |
|---|
| 384 | extern void conf_save(); |
|---|
| 385 | extern void conf_restore(); |
|---|
| 386 | extern void conf_load_defaults(); |
|---|
| 387 | extern int shutter_int; |
|---|
| 388 | extern void conf_change_dng(void); |
|---|
| 389 | extern void conf_update_prevent_shutdown(void); |
|---|
| 390 | extern int conf_getValue(unsigned short id, tConfigVal* configVal); |
|---|
| 391 | extern int conf_setValue(unsigned short id, tConfigVal configVal); |
|---|
| 392 | |
|---|
| 393 | // reyalp: putting these in conf, since the conf values are lookups for them |
|---|
| 394 | // prefixes and extentions available for raw images (index with conf.raw_prefix etc) |
|---|
| 395 | #define NUM_IMG_PREFIXES 3 // IMG_ CRW_ SND_ (could add ETC_ SDR_ AUT_ MVI_ MRK_) |
|---|
| 396 | #define NUM_IMG_EXTS 5 // .JPG .CRW .CR2 .THM .WAV (could add .AVI .MRK) |
|---|
| 397 | extern const char* img_prefixes[NUM_IMG_PREFIXES]; |
|---|
| 398 | extern const char* img_exts[NUM_IMG_EXTS]; |
|---|
| 399 | // ugh, but various things need it |
|---|
| 400 | #define VIDEO_BITRATE_STEPS 10 |
|---|
| 401 | extern const char *video_bitrate_strings[VIDEO_BITRATE_STEPS]; |
|---|
| 402 | |
|---|
| 403 | extern int is_raw_enabled(); |
|---|
| 404 | |
|---|
| 405 | #endif |
|---|