source: branches/release-1_0/include/conf.h @ 1721

Revision 1721, 10.8 KB checked in by philmoz, 15 months ago (diff)

Minor changes:

  • Property svn:eol-style set to native
Line 
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
23typedef struct {
24    unsigned short  x, y;
25} OSD_pos;
26
27typedef struct {
28    int isNumb, isStr, isPInt, isPos;
29    int numb;
30    char* str;
31    int* pInt;
32    OSD_pos pos;
33} tConfigVal;
34
35typedef 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;     // save gps_track_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
356extern 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
374extern void user_menu_restore();
375
376extern int state_kbd_script_run;
377extern int state_shooting_progress;
378extern int state_save_raw_nth_only;
379extern int state_expos_recalculated;
380extern int state_expos_under;
381extern int state_expos_over;
382
383extern void script_autostart();     // remote autostart
384extern void conf_save();
385extern void conf_restore();
386extern void conf_load_defaults();
387extern int shutter_int;
388extern void conf_change_dng(void);
389extern void conf_update_prevent_shutdown(void);
390extern int conf_getValue(unsigned short id, tConfigVal* configVal);
391extern 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)
397extern const char* img_prefixes[NUM_IMG_PREFIXES];
398extern const char* img_exts[NUM_IMG_EXTS];
399// ugh, but various things need it
400#define VIDEO_BITRATE_STEPS 10
401extern const char *video_bitrate_strings[VIDEO_BITRATE_STEPS];
402
403extern int is_raw_enabled();
404
405#endif
Note: See TracBrowser for help on using the repository browser.