summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2017-04-08 15:26:37 +0200
committerMarcus Meissner <marcus@jet.franken.de>2017-04-08 15:26:37 +0200
commit0baea37addf5c6870cb5c601839addc51a346ea9 (patch)
treec2371c409dd2f7b2caf1b9557f6deee3a4faff91
parent11bcec4f8a8d1b5135c14b0272c03729fb89581b (diff)
downloadlibgphoto2-pentax.tar.gz
Use the correct shootingmode enumeration.pentax
https://github.com/gphoto/libgphoto2/issues/31
-rw-r--r--camlibs/pentax/library.c49
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);