static void store_save_settings(GtkamSave *save) { gchar *savedir,*t; gchar buf[5]; /* Directory */ savedir = g_strdup (gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER_DIALOG (save))); if (savedir) { if (strlen (savedir) > 255) savedir[255] = '\0'; if (!g_file_test (savedir, G_FILE_TEST_IS_DIR)) { t = g_path_get_dirname (savedir); g_free (savedir); savedir = t; } gp_setting_set ("gtkam", "save-dir", savedir); g_free (savedir); } /* toggle buttons */ #define STORE_TOGGLE(NAME) \ snprintf(buf,sizeof(buf), "%d", gtk_toggle_button_get_active( \ save->priv->toggle_ ## NAME)); \ gp_setting_set("gtkam","save-" #NAME,buf) STORE_TOGGLE(preview); STORE_TOGGLE(normal); STORE_TOGGLE(raw); STORE_TOGGLE(audio); STORE_TOGGLE(exif); STORE_TOGGLE(filename_camera); /* prefix entry */ if (g_slist_length (save->priv->data) > 1) { /* only when saving several files */ gp_setting_set("gtkam", "save-prefix", (gchar *) gtk_entry_get_text (GTK_ENTRY (save->priv->prefix_entry))); } }
static int camera_exit (Camera *camera, GPContext *context) { char buf[2]; if (camera->pl != NULL) { buf[0] = '0' + camera->pl->syncdatetime; buf[1] = 0; gp_setting_set ("st2205", "syncdatetime", buf); gp_setting_set ("st2205", "orientation", orientation_to_string (camera->pl->orientation)); #ifdef HAVE_ICONV if (camera->pl->cd != (iconv_t) -1) iconv_close (camera->pl->cd); #endif st2205_close (camera); free (camera->pl); camera->pl = NULL; } return GP_OK; }
static int camera_set_config (Camera *camera, CameraWidget *window, GPContext *context) { CameraWidget *w; char *wvalue; int val; char str[16]; GP_DEBUG ("camera_set_config()"); gp_widget_get_child_by_label (window, _("Exposure level on preview"), &w); if (gp_widget_changed (w)) { gp_widget_get_value (w, &wvalue); camera->pl->exposure = MAX(MIN_EXPOSURE,MIN(MAX_EXPOSURE,atoi(wvalue))); gp_setting_set ("dimera3500", "exposure", wvalue); GP_DEBUG ("set exposure"); } gp_widget_get_child_by_label (window, _("Automatic exposure adjustment on preview"), &w); if (gp_widget_changed (w)) { gp_widget_get_value (w, &val); camera->pl->auto_exposure = val; sprintf(str, "%d", val); gp_setting_set ("dimera3500", "auto_exposure", str); GP_DEBUG ("set auto_exposure"); } gp_widget_get_child_by_label (window, _("Automatic flash on capture"), &w); if (gp_widget_changed (w)) { gp_widget_get_value (w, &val); camera->pl->auto_flash = val; sprintf(str, "%d", val); gp_setting_set ("dimera3500", "auto_flash", str); GP_DEBUG ("set auto_flash"); } GP_DEBUG ("done configuring driver."); return GP_OK; }
static int camera_exit (Camera *camera, GPContext *context) { char buf[2]; if (camera->pl != NULL) { buf[0] = '0' + camera->pl->syncdatetime; buf[1] = 0; gp_setting_set("tp6801", "syncdatetime", buf); tp6801_close (camera); free (camera->pl); camera->pl = NULL; } return GP_OK; }
/** * ptp_nikon_getwifiguid: * * This command gets the GUID of this machine. If it does not exists, it creates * one. * * params: PTPParams* * * Return values: Some PTP_RC_* code. * **/ void ptp_nikon_getptpipguid (unsigned char* guid) { char buffer[1024]; int i; long val; int valid; char* endptr; char* pos; gp_setting_get("ptp2_ip","guid",buffer); if (strlen(buffer) == 47) { /* 47 = 16*2 (numbers) + 15 (semi-colons) */ pos = buffer; valid = 1; for (i = 0; i < 16; i++) { val = strtol(pos, &endptr, 16); if (((*endptr != ':') && (*endptr != 0)) || (endptr != pos+2)) { valid = 0; break; } guid[i] = (unsigned char)val; pos += 3; } /*printf("GUID "); for (i = 0; i < 16; i++) { printf("%02x:", guid[i]); } printf("\n");*/ if (valid) return; } /*fprintf(stderr, "Invalid GUID\n");*/ /* Generate an ID */ srand(time(NULL)); buffer[0] = 0; pos = buffer; for (i = 0; i < 16; i++) { guid[i] = (unsigned char) ((256.0 * rand()) / RAND_MAX); pos += sprintf(pos, "%02x:", guid[i]); } buffer[47] = 0; /*printf("New GUID: %s\n", buffer);*/ gp_setting_set("ptp2_ip","guid",buffer); }
static int camera_config_set (Camera *camera, CameraWidget *window, GPContext *context) { int ret; CameraWidget *turbo; ret = gp_widget_get_child_by_name (window, "turbo", &turbo); if (ret != GP_OK) { gp_log (GP_LOG_ERROR, "camera_config_set", "did not find turbo menu entry?\n"); return GP_OK; } if (gp_widget_changed (turbo)) { const char* val; int ival; ret = gp_widget_get_value (turbo, &val); if (ret == GP_OK) { ival = !strcmp (val, _("On")); gp_log (GP_LOG_DEBUG, "camera_config_set", "val %s, ival %d\n", val, ival); gp_setting_set ("topfield", "turbo", ival?"yes":"no"); } } return GP_OK; }