summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2019-06-29 09:01:10 +0200
committerMarcus Meissner <marcus@jet.franken.de>2019-06-29 09:01:10 +0200
commit8f929c5bdc2f8243e54b738f722dd23bd36da837 (patch)
treefcb8cb5b7352244b140a21f4cec9f34c799d8e98
parentd96088e00ff039650c25d5deec9cf7ca1057b56a (diff)
downloadlibgphoto2-8f929c5bdc2f8243e54b738f722dd23bd36da837.tar.gz
map speed and aperture back from display values to camera values
-rw-r--r--camlibs/lumix/lumix.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/camlibs/lumix/lumix.c b/camlibs/lumix/lumix.c
index 4b5e751f3..36606f0f4 100644
--- a/camlibs/lumix/lumix.c
+++ b/camlibs/lumix/lumix.c
@@ -1243,10 +1243,10 @@ camera_config_set (Camera *camera, CameraWidget *window, GPContext *context)
{
CameraWidget *widget;
char *val;
- int ret;
+ char buf[50];
+ int i, ret;
if ((GP_OK == gp_widget_get_child_by_name(window, "zoom", &widget)) && gp_widget_changed (widget)) {
- char buf[30];
if (GP_OK != (ret = gp_widget_get_value (widget, &val)))
return ret;
@@ -1267,18 +1267,33 @@ camera_config_set (Camera *camera, CameraWidget *window, GPContext *context)
}
if ((GP_OK == gp_widget_get_child_by_name(window, "shutterspeed", &widget)) && gp_widget_changed (widget)) {
+ char *cameraspeed = NULL;
if (GP_OK != (ret = gp_widget_get_value (widget, &val)))
return ret;
- Set_ShutterSpeed(camera,val);
+ for (i=0;i<sizeof(shutterspeeds)/sizeof(shutterspeeds[0]);i++) {
+ if (!strcmp(val, shutterspeeds[i].speed)) {
+ cameraspeed = shutterspeeds[i].cameraspeed;
+ break;
+ }
+ }
+ if (!cameraspeed) cameraspeed = val;
+ Set_ShutterSpeed (camera, cameraspeed);
}
if ((GP_OK == gp_widget_get_child_by_name(window, "aperture", &widget)) && gp_widget_changed (widget)) {
- char buf[50];
+ char *cameraaperture = NULL;
if (GP_OK != (ret = gp_widget_get_value (widget, &val)))
return ret;
- sprintf(buf,"cam.cgi?mode=setsetting&type=focal&value=%s", val);
+ for (i=0;i<sizeof(apertures)/sizeof(apertures[0]);i++) {
+ if (!strcmp(val, apertures[i].aperture)) {
+ cameraaperture = apertures[i].cameraaperture;
+ break;
+ }
+ }
+ if (!cameraaperture) cameraaperture = val;
+ sprintf(buf,"cam.cgi?mode=setsetting&type=focal&value=%s", cameraaperture);
loadCmd(camera,buf);
}
if ((GP_OK == gp_widget_get_child_by_name(window, "iso", &widget)) && gp_widget_changed (widget)) {