diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2017-04-08 15:26:37 +0200 |
---|---|---|
committer | Marcus Meissner <marcus@jet.franken.de> | 2017-04-08 15:26:37 +0200 |
commit | 0baea37addf5c6870cb5c601839addc51a346ea9 (patch) | |
tree | c2371c409dd2f7b2caf1b9557f6deee3a4faff91 | |
parent | 11bcec4f8a8d1b5135c14b0272c03729fb89581b (diff) | |
download | libgphoto2-pentax.tar.gz |
Use the correct shootingmode enumeration.pentax
https://github.com/gphoto/libgphoto2/issues/31
-rw-r--r-- | camlibs/pentax/library.c | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/camlibs/pentax/library.c b/camlibs/pentax/library.c index 30218b915..926306fb5 100644 --- a/camlibs/pentax/library.c +++ b/camlibs/pentax/library.c @@ -733,15 +733,15 @@ camera_get_config (Camera *camera, CameraWidget **window, GPContext *context) gp_widget_add_choice (t, _("B")); gp_widget_add_choice (t, _("X")); switch (status.exposure_mode) { - case PSLR_EXPOSURE_MODE_GREEN: gp_widget_set_value (t, _("GREEN"));break; - case PSLR_EXPOSURE_MODE_M: gp_widget_set_value (t, _("M"));break; - case PSLR_EXPOSURE_MODE_P: gp_widget_set_value (t, _("P"));break; - case PSLR_EXPOSURE_MODE_AV: gp_widget_set_value (t, _("AV"));break; - case PSLR_EXPOSURE_MODE_TV: gp_widget_set_value (t, _("TV"));break; - case PSLR_EXPOSURE_MODE_SV: gp_widget_set_value (t, _("SV"));break; - case PSLR_EXPOSURE_MODE_TAV: gp_widget_set_value (t, _("TAV"));break; - case PSLR_EXPOSURE_MODE_X: gp_widget_set_value (t, _("X"));break; - case PSLR_EXPOSURE_MODE_B: gp_widget_set_value (t, _("B"));break; + case PSLR_GUI_EXPOSURE_MODE_GREEN: gp_widget_set_value (t, _("GREEN"));break; + case PSLR_GUI_EXPOSURE_MODE_M: gp_widget_set_value (t, _("M"));break; + case PSLR_GUI_EXPOSURE_MODE_P: gp_widget_set_value (t, _("P"));break; + case PSLR_GUI_EXPOSURE_MODE_AV: gp_widget_set_value (t, _("AV"));break; + case PSLR_GUI_EXPOSURE_MODE_TV: gp_widget_set_value (t, _("TV"));break; + case PSLR_GUI_EXPOSURE_MODE_SV: gp_widget_set_value (t, _("SV"));break; + case PSLR_GUI_EXPOSURE_MODE_TAV: gp_widget_set_value (t, _("TAV"));break; + case PSLR_GUI_EXPOSURE_MODE_X: gp_widget_set_value (t, _("X"));break; + case PSLR_GUI_EXPOSURE_MODE_B: gp_widget_set_value (t, _("B"));break; default: sprintf(buf, _("Unknown mode %d"), status.exposure_mode); gp_widget_set_value (t, buf); @@ -797,27 +797,27 @@ camera_set_config (Camera *camera, CameraWidget *window, GPContext *context) ret = gp_widget_get_child_by_label (window, _("Shooting Mode"), &w); if ((ret == GP_OK) && gp_widget_changed (w)) { - pslr_exposure_mode_t exposuremode; + pslr_gui_exposure_mode_t exposuremode; gp_widget_set_changed (w, 0); gp_widget_get_value (w, &sval); - exposuremode = PSLR_EXPOSURE_MODE_MAX; - if (!strcmp(sval,_("GREEN"))) exposuremode = PSLR_EXPOSURE_MODE_GREEN; - if (!strcmp(sval,_("M"))) exposuremode = PSLR_EXPOSURE_MODE_M; - if (!strcmp(sval,_("B"))) exposuremode = PSLR_EXPOSURE_MODE_B; - if (!strcmp(sval,_("P"))) exposuremode = PSLR_EXPOSURE_MODE_P; - if (!strcmp(sval,_("SV"))) exposuremode = PSLR_EXPOSURE_MODE_SV; - if (!strcmp(sval,_("TV"))) exposuremode = PSLR_EXPOSURE_MODE_TV; - if (!strcmp(sval,_("AV"))) exposuremode = PSLR_EXPOSURE_MODE_AV; - if (!strcmp(sval,_("TAV"))) exposuremode = PSLR_EXPOSURE_MODE_TAV; - if (!strcmp(sval,_("X"))) exposuremode = PSLR_EXPOSURE_MODE_TAV; - if (exposuremode != PSLR_EXPOSURE_MODE_MAX) { + exposuremode = PSLR_GUI_EXPOSURE_MODE_MAX; + if (!strcmp(sval,_("GREEN"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_GREEN; + if (!strcmp(sval,_("M"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_M; + if (!strcmp(sval,_("B"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_B; + if (!strcmp(sval,_("P"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_P; + if (!strcmp(sval,_("SV"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_SV; + if (!strcmp(sval,_("TV"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_TV; + if (!strcmp(sval,_("AV"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_AV; + if (!strcmp(sval,_("TAV"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_TAV; + if (!strcmp(sval,_("X"))) exposuremode = PSLR_GUI_EXPOSURE_MODE_TAV; + if (exposuremode != PSLR_GUI_EXPOSURE_MODE_MAX) { pslr_set_exposure_mode(&camera->pl->pslr, exposuremode); pslr_get_status(&camera->pl->pslr, &status); } else { - } gp_log (GP_LOG_ERROR, "pentax", "Could not decode exposuremode %s", sval); + } } ret = gp_widget_get_child_by_label (window, _("ISO"), &w); @@ -923,6 +923,11 @@ camera_set_config (Camera *camera, CameraWidget *window, GPContext *context) if ((ret == GP_OK) && gp_widget_changed (w)) { int bulb; + if (status.exposure_mode != PSLR_GUI_EXPOSURE_MODE_B) { + gp_context_error (context, _("You need to switch the shooting mode or the camera to 'B' for bulb exposure.")); + return GP_ERROR; + } + gp_widget_set_changed (w, 0); gp_widget_get_value (w, &bulb); pslr_bulb (&camera->pl->pslr, bulb); |