CHDK_DE Vorschauversion  Trunk Rev. 5232
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
modules.c-Dateireferenz
#include "camera_info.h"
#include "console.h"
#include "conf.h"
#include "modules.h"
#include "module_load.h"
#include "shooting.h"
+ Include-Abhängigkeitsdiagramm für modules.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define MODULE_NAME_EDGEOVR   "edgeovr.flt"
 
#define MODULE_NAME_MDETECT   "mdetect.flt"
 
#define MODULE_NAME_UNK   "unknown"
 
#define MODULE_NAME_LUA   "lua.flt"
 
#define MODULE_NAME_UBASIC   "ubasic.flt"
 
#define SCRIPT_LANG_NONE   0
 
#define SCRIPT_LANG_UBASIC   1
 
#define SCRIPT_LANG_LUA   2
 
#define MODULE_NAME_ZEBRA   "zebra.flt"
 
#define MODULE_NAME_HISTO   "histo.flt"
 
#define MODULE_NAME_CURVES   "curves.flt"
 
#define MODULE_NAME_GRIDS   "grids.flt"
 
#define MODULE_NAME_PALETTE   "palette.flt"
 
#define MODULE_NAME_MPOPUP   "mpopup.flt"
 
#define MODULE_NAME_FSELECT   "fselect.flt"
 
#define MODULE_NAME_DNG   "_dng.flt"
 
#define MODULE_NAME_TBOX   "_tbox.flt"
 
#define MODULE_NAME_HEXBOX   "_hexbox.flt"
 
#define MODULE_NAME_TXTREAD   "txtread.flt"
 
#define MODULE_NAME_SHOTHIST   "shothist.flt"
 

Funktionen

static void dummy_void ()
 
static int dummy_int ()
 
static char * dummy_pchar ()
 
static unsigned char * dummy_puchar ()
 
static int module_load_rawop ()
 
static int default_raw_merge_start (int action)
 
static int default_raw_subtract (const char *fromName, const char *fromDir, const char *subName, const char *subDir)
 
void module_restore_edge (void **buf, int *state)
 
void module_save_edge (void *buf, int state)
 
static int module_edgeovr_load ()
 
static void default_edge_overlay ()
 
static void default_load_edge_overlay (const char *fn)
 
static int default_md_init_motion_detector (int columns, int rows, int pixel_measure_mode, int detection_timeout, int measure_interval, int threshold, int draw_grid, int clipping_region_mode, int clipping_region_column1, int clipping_region_row1, int clipping_region_column2, int clipping_region_row2, int parameters, int pixels_step, int msecs_before_trigger)
 
static int script_lang_id (const char *script_file)
 
void module_set_script_lang (const char *script_file)
 
static int default_script_start (char const *script, int is_ptp)
 
static int default_script_start_file (char const *filename)
 
static int default_gui_osd_draw_zebra (int show)
 
static void default_histogram_process ()
 
static void default_gui_osd_draw_histo (int is_osd_edit)
 
static int module_curves_load ()
 
static void default_curve_init_mode ()
 
static void default_curve_set_mode ()
 
static void default_curve_set_file ()
 
static void default_gui_grid_draw_osd (int force)
 
static void default_grid_lines_load (const char *fn)
 
static void default_show_palette (int mode, chdkColor st_color, void(*on_select)(chdkColor clr))
 
static void default_show_popup (struct mpopup_item *popup_actions, const unsigned int flags, void(*on_select)(unsigned int actn))
 
static void default_file_select (int title, const char *prev_dir, const char *default_dir, void(*on_select)(const char *fn))
 
static void default_create_badpixel_bin ()
 
static void default_capture_data_for_exif ()
 
static void default_load_bad_pixels_list_b (char *filename)
 
static int default_convert_dng_to_chdk_raw (char *fn)
 
static void default_load_dng_to_rawbuffer (char *fn, char *rawadr)
 
static int default_textbox_init (int title, int msg, const char *defaultstr, unsigned int maxsize, void(*on_select)(const char *newstr), char *input_buffer)
 
static int default_hexbox_init (int *num, char *title, int flags)
 
static int default_read_file (const char *fn)
 
static int default_shot_histogram_set (int enable)
 
static int default_shot_histogram_get_range ()
 

Variablen

librawop_sym default_librawop
 
module_handler_t h_rawop
 
librawop_symlibrawop = &default_librawop
 
static void * saved_edgebuf = 0
 
static int saved_edgestate = 0
 
libedgeovr_sym default_libedgeovr
 
module_handler_t h_edgeovr
 
libedgeovr_symlibedgeovr = &default_libedgeovr
 
libmotiondetect_sym default_libmotiondetect
 
module_handler_t h_motiondetect
 
libmotiondetect_symlibmotiondetect = &default_libmotiondetect
 
libscriptapi_sym default_libscriptapi
 
module_handler_t h_script
 
static int current_lang_id = SCRIPT_LANG_NONE
 
libscriptapi_symlibscriptapi = &default_libscriptapi
 
libzebra_sym default_libzebra
 
module_handler_t h_zebra
 
libzebra_symlibzebra = &default_libzebra
 
libhisto_sym default_libhisto
 
module_handler_t h_histo
 
libhisto_symlibhisto = &default_libhisto
 
libcurves_sym default_libcurves
 
module_handler_t h_curves
 
libcurves_symlibcurves = &default_libcurves
 
libgrids_sym default_libgrids
 
module_handler_t h_grids
 
libgrids_symlibgrids = &default_libgrids
 
libpalette_sym default_libpalette
 
module_handler_t h_palette
 
libpalette_symlibpalette = &default_libpalette
 
libmpopup_sym default_libmpopup
 
module_handler_t h_mpopup
 
libmpopup_symlibmpopup = &default_libmpopup
 
libfselect_sym default_libfselect
 
module_handler_t h_fselect
 
libfselect_symlibfselect = &default_libfselect
 
libdng_sym default_libdng
 
module_handler_t h_dng
 
libdng_symlibdng = &default_libdng
 
libtextbox_sym default_libtextbox
 
module_handler_t h_textbox
 
libtextbox_symlibtextbox = &default_libtextbox
 
libhexbox_sym default_libhexbox
 
module_handler_t h_hexbox
 
libhexbox_symlibhexbox = &default_libhexbox
 
libtxtread_sym default_libtxtread
 
module_handler_t h_txtread
 
libtxtread_symlibtxtread = &default_libtxtread
 
libshothisto_sym default_libshothisto
 
module_handler_t h_shothisto
 
libshothisto_symlibshothisto = &default_libshothisto
 

Makro-Dokumentation

#define MODULE_NAME_CURVES   "curves.flt"

Definiert in Zeile 434 der Datei modules.c.

#define MODULE_NAME_DNG   "_dng.flt"

Definiert in Zeile 631 der Datei modules.c.

#define MODULE_NAME_EDGEOVR   "edgeovr.flt"

Definiert in Zeile 155 der Datei modules.c.

#define MODULE_NAME_FSELECT   "fselect.flt"

Definiert in Zeile 598 der Datei modules.c.

#define MODULE_NAME_GRIDS   "grids.flt"

Definiert in Zeile 490 der Datei modules.c.

#define MODULE_NAME_HEXBOX   "_hexbox.flt"

Definiert in Zeile 736 der Datei modules.c.

#define MODULE_NAME_HISTO   "histo.flt"

Definiert in Zeile 381 der Datei modules.c.

#define MODULE_NAME_LUA   "lua.flt"

Definiert in Zeile 258 der Datei modules.c.

#define MODULE_NAME_MDETECT   "mdetect.flt"

Definiert in Zeile 211 der Datei modules.c.

#define MODULE_NAME_MPOPUP   "mpopup.flt"

Definiert in Zeile 565 der Datei modules.c.

#define MODULE_NAME_PALETTE   "palette.flt"

Definiert in Zeile 532 der Datei modules.c.

#define MODULE_NAME_SHOTHIST   "shothist.flt"

Definiert in Zeile 808 der Datei modules.c.

#define MODULE_NAME_TBOX   "_tbox.flt"

Definiert in Zeile 700 der Datei modules.c.

#define MODULE_NAME_TXTREAD   "txtread.flt"

Definiert in Zeile 772 der Datei modules.c.

#define MODULE_NAME_UBASIC   "ubasic.flt"

Definiert in Zeile 259 der Datei modules.c.

#define MODULE_NAME_UNK   "unknown"

Definiert in Zeile 257 der Datei modules.c.

#define MODULE_NAME_ZEBRA   "zebra.flt"

Definiert in Zeile 345 der Datei modules.c.

#define SCRIPT_LANG_LUA   2

Definiert in Zeile 275 der Datei modules.c.

#define SCRIPT_LANG_NONE   0

Definiert in Zeile 273 der Datei modules.c.

#define SCRIPT_LANG_UBASIC   1

Definiert in Zeile 274 der Datei modules.c.

Dokumentation der Funktionen

static void default_capture_data_for_exif ( )
static

Definiert in Zeile 651 der Datei modules.c.

652 {
653  // If load succeeded call module version of function
654  if (module_load(&h_dng))
656 }
static int default_convert_dng_to_chdk_raw ( char *  fn)
static

Definiert in Zeile 663 der Datei modules.c.

664 {
665  // If load succeeded call module version of function
666  if (module_load(&h_dng))
668 
669  // Failure
670  return 0;
671 }
static void default_create_badpixel_bin ( )
static

Definiert in Zeile 645 der Datei modules.c.

646 {
647  // If load succeeded call module version of function
648  if (module_load(&h_dng))
650 }
static void default_curve_init_mode ( )
static

Definiert in Zeile 456 der Datei modules.c.

457 {
458  // If load succeeded call module version of function
459  if (module_curves_load())
461 }
static void default_curve_set_file ( )
static

Definiert in Zeile 468 der Datei modules.c.

469 {
470  // If load succeeded call module version of function
471  if (module_curves_load())
473 }
static void default_curve_set_mode ( )
static

Definiert in Zeile 462 der Datei modules.c.

463 {
464  // If load succeeded call module version of function
465  if (module_curves_load())
467 }
static void default_edge_overlay ( )
static

Definiert in Zeile 184 der Datei modules.c.

185 {
186  // If load succeeded call module version of function
187  if (module_edgeovr_load())
189 }
static void default_file_select ( int  title,
const char *  prev_dir,
const char *  default_dir,
void(*)(const char *fn on_select 
)
static

Definiert in Zeile 612 der Datei modules.c.

613 {
614  // If load succeeded call module version of function
615  if (module_load(&h_fselect))
616  libfselect->file_select(title, prev_dir, default_dir, on_select);
617 }
static void default_grid_lines_load ( const char *  fn)
static

Definiert in Zeile 511 der Datei modules.c.

512 {
513  // If load succeeded call module version of function
514  if (module_load(&h_grids))
516 }
static void default_gui_grid_draw_osd ( int  force)
static

Definiert in Zeile 504 der Datei modules.c.

505 {
506  // If load succeeded call module version of function
507  if (conf.show_grid_lines)
508  if (module_load(&h_grids))
509  libgrids->gui_grid_draw_osd(force);
510 }
static void default_gui_osd_draw_histo ( int  is_osd_edit)
static

Definiert in Zeile 403 der Datei modules.c.

404 {
405  if (is_osd_edit ||
407  (
409  ((conf.show_histo==SHOW_HISTO_REC) && camera_info.state.mode_rec && (recreview_hold==0)) ||
410  ((conf.show_histo==SHOW_HISTO_ALWAYS) && (recreview_hold==0))
411  )
412  )
413  )
414  {
415  // If load succeeded call module version of function
416  if (module_load(&h_histo))
417  libhisto->gui_osd_draw_histo(is_osd_edit);
418  }
419 }
static int default_gui_osd_draw_zebra ( int  show)
static

Definiert in Zeile 359 der Datei modules.c.

360 {
361  // If load succeeded call module version of function
362  if (module_load(&h_zebra))
363  return libzebra->gui_osd_draw_zebra(show);
364 
365  // Failure
366  return 0;
367 }
static int default_hexbox_init ( int *  num,
char *  title,
int  flags 
)
static

Definiert in Zeile 750 der Datei modules.c.

751 {
752  // If load succeeded call module version of function
753  if (module_load(&h_hexbox))
754  return libhexbox->hexbox_init(num, title, flags);
755 
756  // Failure
757  return 0;
758 }
static void default_histogram_process ( )
static

Definiert in Zeile 395 der Datei modules.c.

396 {
397  // If load succeeded call module version of function
398  if (module_load(&h_histo))
400 }
static void default_load_bad_pixels_list_b ( char *  filename)
static

Definiert in Zeile 657 der Datei modules.c.

658 {
659  // If load succeeded call module version of function
660  if (module_load(&h_dng))
661  libdng->load_bad_pixels_list_b(filename);
662 }
static void default_load_dng_to_rawbuffer ( char *  fn,
char *  rawadr 
)
static

Definiert in Zeile 672 der Datei modules.c.

673 {
674  // If load succeeded call module version of function
675  if (module_load(&h_dng))
677 }
static void default_load_edge_overlay ( const char *  fn)
static

Definiert in Zeile 190 der Datei modules.c.

191 {
192  // If load succeeded call module version of function
193  if (module_edgeovr_load())
195 }
static int default_md_init_motion_detector ( int  columns,
int  rows,
int  pixel_measure_mode,
int  detection_timeout,
int  measure_interval,
int  threshold,
int  draw_grid,
int  clipping_region_mode,
int  clipping_region_column1,
int  clipping_region_row1,
int  clipping_region_column2,
int  clipping_region_row2,
int  parameters,
int  pixels_step,
int  msecs_before_trigger 
)
static

Definiert in Zeile 225 der Datei modules.c.

229 {
230  // If load succeeded call module version of function
233  columns, rows, pixel_measure_mode, detection_timeout, measure_interval, threshold, draw_grid,
234  clipping_region_mode, clipping_region_column1, clipping_region_row1, clipping_region_column2, clipping_region_row2,
235  parameters, pixels_step, msecs_before_trigger);
236 
237  // Failure
238  return 0;
239 }
static int default_raw_merge_start ( int  action)
static

Definiert in Zeile 112 der Datei modules.c.

113 {
114  // If load succeeded call module version of function
115  if (module_load_rawop())
116  return librawop->raw_merge_start(action);
117 
118  // Failure
119  return 0;
120 }
static int default_raw_subtract ( const char *  fromName,
const char *  fromDir,
const char *  subName,
const char *  subDir 
)
static

Definiert in Zeile 121 der Datei modules.c.

122 {
123  // If load succeeded call module version of function
124  if (module_load_rawop())
125  return librawop->raw_subtract(fromName, fromDir, subName, subDir);
126 
127  // Failure
128  return 0;
129 }
static int default_read_file ( const char *  fn)
static

Definiert in Zeile 786 der Datei modules.c.

787 {
788  // If load succeeded call module version of function
789  if (module_load(&h_txtread))
790  return libtxtread->read_file(fn);
791 
792  // Failure
793  return 0;
794 }
static int default_script_start ( char const script,
int  is_ptp 
)
static

Definiert in Zeile 307 der Datei modules.c.

308 {
309  // If load succeeded call module version of function
310  if (module_load(&h_script))
311  return libscriptapi->script_start(script, is_ptp);
312 
313  // Failure
314  return 0;
315 }
static int default_script_start_file ( char const filename)
static

Definiert in Zeile 316 der Datei modules.c.

317 {
318  // If load succeeded call module version of function
319  if (module_load(&h_script))
320  return libscriptapi->script_start_file(filename);
321 
322  // Failure
323  return 0;
324 }
static int default_shot_histogram_get_range ( )
static

Definiert in Zeile 829 der Datei modules.c.

830 {
831  return -1; // Module not loaded
832 }
static int default_shot_histogram_set ( int  enable)
static

Definiert in Zeile 821 der Datei modules.c.

822 {
823  // If enabling shot histogram, then load module, otherwise nothing to do
824  if (enable)
825  if (module_load(&h_shothisto))
826  return libshothisto->shot_histogram_set(enable);
827  return 1;
828 }
static void default_show_palette ( int  mode,
chdkColor  st_color,
void(*)(chdkColor clr)  on_select 
)
static

Definiert in Zeile 546 der Datei modules.c.

547 {
548  // If load succeeded call module version of function
549  if (module_load(&h_palette))
550  libpalette->show_palette(mode, st_color, on_select);
551 }
static void default_show_popup ( struct mpopup_item popup_actions,
const unsigned int  flags,
void(*)(unsigned int actn)  on_select 
)
static

Definiert in Zeile 579 der Datei modules.c.

580 {
581  // If load succeeded call module version of function
582  if (module_load(&h_mpopup))
583  libmpopup->show_popup(popup_actions, flags, on_select);
584 }
static int default_textbox_init ( int  title,
int  msg,
const char *  defaultstr,
unsigned int  maxsize,
void(*)(const char *newstr)  on_select,
char *  input_buffer 
)
static

Definiert in Zeile 714 der Datei modules.c.

715 {
716  // If load succeeded call module version of function
717  if (module_load(&h_textbox))
718  return libtextbox->textbox_init(title,msg,defaultstr,maxsize,on_select,input_buffer);
719 
720  // Failure
721  return 0;
722 }
static int dummy_int ( )
static

Definiert in Zeile 89 der Datei modules.c.

89 { return 0; }
static char* dummy_pchar ( )
static

Definiert in Zeile 90 der Datei modules.c.

90 { return (char*)0; }
static unsigned char* dummy_puchar ( )
static

Definiert in Zeile 91 der Datei modules.c.

91 { return (unsigned char*)0; }
static void dummy_void ( )
static

Definiert in Zeile 88 der Datei modules.c.

88 {}
static int module_curves_load ( )
static

Definiert in Zeile 448 der Datei modules.c.

449 {
450  if (camera_sensor.bits_per_pixel == 10)
451  return module_load(&h_curves);
452  return 0;
453 }
static int module_edgeovr_load ( )
static

Definiert in Zeile 169 der Datei modules.c.

170 {
171  // This flag is because edgeovr called each tick
172  // If module loading failed, then do not try to load it until reboot
173  // (otherwise we will try to load module each tick)
174  static int flag_load_fail = 0;
175 
176  if ( flag_load_fail==0 )
177  if (!module_load(&h_edgeovr))
178  flag_load_fail = 1;
179 
180  return flag_load_fail == 0;
181 }
static int module_load_rawop ( )
static

Definiert in Zeile 106 der Datei modules.c.

107 {
108  return module_load(&h_rawop);
109 }
void module_restore_edge ( void **  buf,
int *  state 
)

Definiert in Zeile 152 der Datei modules.c.

152 { *buf = saved_edgebuf; *state = saved_edgestate; }
void module_save_edge ( void *  buf,
int  state 
)

Definiert in Zeile 153 der Datei modules.c.

153 { saved_edgebuf = buf; saved_edgestate = state; }
void module_set_script_lang ( const char *  script_file)

Definiert in Zeile 292 der Datei modules.c.

293 {
294  char* lang_names[] = { MODULE_NAME_UNK, MODULE_NAME_UBASIC, MODULE_NAME_LUA };
295 
296  int lang_id = script_lang_id(script_file);
297 
298  if (lang_id != current_lang_id)
299  {
301  current_lang_id = lang_id;
302  h_script.name = lang_names[lang_id];
303  }
304 }
static int script_lang_id ( const char *  script_file)
static

Definiert in Zeile 279 der Datei modules.c.

280 {
281  if ((script_file == 0) || (script_file[0] == 0))
282  return SCRIPT_LANG_LUA; // Default script is Lua
283 
284  char *ext = strrchr(script_file,'.');
285 
286  if (ext && (strlen(ext) == 4) && (toupper(ext[1]) == 'L') && (toupper(ext[2]) == 'U') && (toupper(ext[3]) == 'A'))
287  return SCRIPT_LANG_LUA;
288 
289  return SCRIPT_LANG_UBASIC;
290 }

Variablen-Dokumentation

int current_lang_id = SCRIPT_LANG_NONE
static

Definiert in Zeile 277 der Datei modules.c.

libcurves_sym default_libcurves
Initialisierung:

Definiert in Zeile 476 der Datei modules.c.

libedgeovr_sym default_libedgeovr
Initialisierung:

Definiert in Zeile 198 der Datei modules.c.

libfselect_sym default_libfselect
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 620 der Datei modules.c.

libgrids_sym default_libgrids
Initialisierung:

Definiert in Zeile 519 der Datei modules.c.

libhexbox_sym default_libhexbox
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 761 der Datei modules.c.

libhisto_sym default_libhisto
Initialisierung:

Definiert in Zeile 422 der Datei modules.c.

libmotiondetect_sym default_libmotiondetect
Initialisierung:

Definiert in Zeile 242 der Datei modules.c.

libmpopup_sym default_libmpopup
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 587 der Datei modules.c.

libpalette_sym default_libpalette
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 554 der Datei modules.c.

librawop_sym default_librawop
Initialisierung:

Definiert in Zeile 132 der Datei modules.c.

libscriptapi_sym default_libscriptapi
Initialisierung:

Definiert in Zeile 327 der Datei modules.c.

libshothisto_sym default_libshothisto
Initialisierung:

Definiert in Zeile 835 der Datei modules.c.

libtextbox_sym default_libtextbox
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 725 der Datei modules.c.

libtxtread_sym default_libtxtread
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 797 der Datei modules.c.

libzebra_sym default_libzebra
Initialisierung:
=
{
{ 0,0,0,0,0 },
}

Definiert in Zeile 370 der Datei modules.c.

module_handler_t h_curves
Initialisierung:

Definiert in Zeile 439 der Datei modules.c.

Initialisierung:

Definiert in Zeile 636 der Datei modules.c.

module_handler_t h_edgeovr
Initialisierung:

Definiert in Zeile 160 der Datei modules.c.

module_handler_t h_fselect
Initialisierung:

Definiert in Zeile 603 der Datei modules.c.

Initialisierung:

Definiert in Zeile 495 der Datei modules.c.

module_handler_t h_hexbox
Initialisierung:

Definiert in Zeile 741 der Datei modules.c.

Initialisierung:

Definiert in Zeile 386 der Datei modules.c.

module_handler_t h_mpopup
Initialisierung:

Definiert in Zeile 570 der Datei modules.c.

module_handler_t h_palette
Initialisierung:

Definiert in Zeile 537 der Datei modules.c.

Initialisierung:

Definiert in Zeile 98 der Datei modules.c.

module_handler_t h_script
Initialisierung:

Definiert in Zeile 264 der Datei modules.c.

module_handler_t h_shothisto
Initialisierung:

Definiert in Zeile 813 der Datei modules.c.

module_handler_t h_textbox
Initialisierung:

Definiert in Zeile 705 der Datei modules.c.

module_handler_t h_txtread
Initialisierung:

Definiert in Zeile 777 der Datei modules.c.

Initialisierung:

Definiert in Zeile 350 der Datei modules.c.

Definiert in Zeile 486 der Datei modules.c.

Definiert in Zeile 696 der Datei modules.c.

Definiert in Zeile 207 der Datei modules.c.

Definiert in Zeile 627 der Datei modules.c.

Definiert in Zeile 527 der Datei modules.c.

Definiert in Zeile 768 der Datei modules.c.

Definiert in Zeile 430 der Datei modules.c.

Definiert in Zeile 253 der Datei modules.c.

Definiert in Zeile 594 der Datei modules.c.

Definiert in Zeile 561 der Datei modules.c.

Definiert in Zeile 142 der Datei modules.c.

Definiert in Zeile 341 der Datei modules.c.

Definiert in Zeile 845 der Datei modules.c.

Definiert in Zeile 732 der Datei modules.c.

Definiert in Zeile 804 der Datei modules.c.

Definiert in Zeile 377 der Datei modules.c.

void* saved_edgebuf = 0
static

Definiert in Zeile 149 der Datei modules.c.

int saved_edgestate = 0
static

Definiert in Zeile 150 der Datei modules.c.