From: Stuart Bennett <engineer@users.sf.net>

https://sourceforge.net/p/gphoto/patches/165/


git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@15392 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
Marcus Meissner
2015-03-17 08:29:43 +00:00
parent 0af169c75b
commit c8bb3ab35a
2 changed files with 45 additions and 0 deletions

View File

@@ -2337,6 +2337,43 @@ _put_ISO(CONFIG_PUT_ARGS)
return GP_ERROR;
}
static int
_get_ISO32(CONFIG_GET_ARGS) {
int i;
if (!(dpd->FormFlag & PTP_DPFF_Enumeration))
return GP_ERROR;
if (dpd->DataType != PTP_DTC_UINT32)
return GP_ERROR;
gp_widget_new (GP_WIDGET_RADIO, _(menu->label), widget);
gp_widget_set_name (*widget, menu->name);
for (i=0;i<dpd->FORM.Enum.NumberOfValues; i++) {
char buf[20];
sprintf(buf,"%d",dpd->FORM.Enum.SupportedValue[i].u32);
gp_widget_add_choice (*widget,buf);
if (dpd->FORM.Enum.SupportedValue[i].u32 == dpd->CurrentValue.u32)
gp_widget_set_value (*widget,buf);
}
return GP_OK;
}
static int
_put_ISO32(CONFIG_PUT_ARGS)
{
char *value;
unsigned int u;
CR (gp_widget_get_value(widget, &value));
if (sscanf(value, "%ud", &u)) {
propval->u32 = u;
return GP_OK;
}
return GP_ERROR;
}
static int
_get_Sony_ISO(CONFIG_GET_ARGS) {
int i,isset=0;
@@ -6351,6 +6388,7 @@ static struct submenu image_settings_menu[] = {
{ N_("Image Size"), "imagesize", PTP_DPC_CANON_ImageSize, PTP_VENDOR_CANON, PTP_DTC_UINT8, _get_Canon_Size, _put_Canon_Size },
{ N_("ISO Speed"), "iso", PTP_DPC_CANON_ISOSpeed, PTP_VENDOR_CANON, PTP_DTC_UINT16, _get_Canon_ISO, _put_Canon_ISO },
{ N_("ISO Speed"), "iso", PTP_DPC_ExposureIndex, 0, PTP_DTC_UINT16, _get_ISO, _put_ISO },
{ N_("Movie ISO Speed"), "movieiso", PTP_DPC_NIKON_MovieISO, PTP_VENDOR_NIKON, PTP_DTC_UINT32, _get_ISO32, _put_ISO32 },
{ N_("ISO Speed"), "iso", PTP_DPC_CANON_EOS_ISOSpeed, PTP_VENDOR_CANON, PTP_DTC_UINT16, _get_Canon_ISO, _put_Canon_ISO },
{ N_("ISO Speed"), "iso", PTP_DPC_SONY_ISO, PTP_VENDOR_SONY, PTP_DTC_UINT32, _get_Sony_ISO, _put_Sony_ISO },
{ N_("ISO Speed"), "iso", PTP_DPC_NIKON_1_ISO, PTP_VENDOR_NIKON, PTP_DTC_UINT8, _get_Nikon_1_ISO, _put_Nikon_1_ISO },
@@ -6409,6 +6447,7 @@ static struct submenu capture_settings_menu[] = {
{ N_("AF Beep Mode"), "afbeep", PTP_DPC_NIKON_BeepOff, PTP_VENDOR_NIKON, PTP_DTC_UINT8, _get_Nikon_OffOn_UINT8, _put_Nikon_OffOn_UINT8 },
{ N_("F-Number"), "f-number", PTP_DPC_FNumber, PTP_VENDOR_SONY, PTP_DTC_UINT16, _get_FNumber, _put_Sony_FNumber },
{ N_("F-Number"), "f-number", PTP_DPC_FNumber, 0, PTP_DTC_UINT16, _get_FNumber, _put_FNumber },
{ N_("Movie F-Number"), "movief-number", PTP_DPC_NIKON_MovieFNumber, PTP_VENDOR_NIKON, PTP_DTC_UINT16, _get_FNumber, _put_FNumber },
{ N_("Flexible Program"), "flexibleprogram", PTP_DPC_NIKON_FlexibleProgram, PTP_VENDOR_NIKON, PTP_DTC_INT8, _get_Range_INT8, _put_Range_INT8 },
{ N_("Image Quality"), "imagequality", PTP_DPC_CompressionSetting, 0, PTP_DTC_UINT8, _get_CompressionSetting, _put_CompressionSetting },
{ N_("Focus Distance"), "focusdistance", PTP_DPC_FocusDistance, 0, PTP_DTC_UINT16, _get_FocusDistance, _put_FocusDistance },
@@ -6447,6 +6486,7 @@ static struct submenu capture_settings_menu[] = {
{ N_("Shutter Speed"), "shutterspeed", PTP_DPC_CANON_ShutterSpeed, PTP_VENDOR_CANON, PTP_DTC_UINT16, _get_Canon_ShutterSpeed, _put_Canon_ShutterSpeed },
/* these cameras also have PTP_DPC_ExposureTime, avoid overlap */
{ N_("Shutter Speed 2"), "shutterspeed2", PTP_DPC_NIKON_ExposureTime, PTP_VENDOR_NIKON, PTP_DTC_UINT32, _get_Nikon_ShutterSpeed, _put_Nikon_ShutterSpeed },
{ N_("Movie Shutter Speed 2"), "movieshutterspeed", PTP_DPC_NIKON_MovieShutterSpeed, PTP_VENDOR_NIKON, PTP_DTC_UINT32, _get_Nikon_ShutterSpeed, _put_Nikon_ShutterSpeed },
{ N_("Shutter Speed"), "shutterspeed", PTP_DPC_CANON_EOS_ShutterSpeed, PTP_VENDOR_CANON, PTP_DTC_UINT16, _get_Canon_ShutterSpeed, _put_Canon_ShutterSpeed },
{ N_("Shutter Speed"), "shutterspeed", PTP_DPC_FUJI_ShutterSpeed, PTP_VENDOR_FUJI, PTP_DTC_INT16, _get_Fuji_ShutterSpeed, _put_Fuji_ShutterSpeed },
{ N_("Shutter Speed"), "shutterspeed", PTP_DPC_SONY_ShutterSpeed, PTP_VENDOR_SONY, PTP_DTC_INT32, _get_Sony_ShutterSpeed, _put_Sony_ShutterSpeed },
@@ -6616,6 +6656,7 @@ static struct submenu nikon_generic_capture_settings[] = {
{ N_("ISO Auto Hi Limit"), "isoautohilimit", PTP_DPC_NIKON_ISOAutoHiLimit, PTP_VENDOR_NIKON, PTP_DTC_INT8, _get_Nikon_D90_ISOAutoHiLimit, _put_Nikon_D90_ISOAutoHiLimit },
{ N_("Active D-Lighting"), "dlighting", PTP_DPC_NIKON_ActiveDLighting, PTP_VENDOR_NIKON, PTP_DTC_INT8, _get_Nikon_D90_ActiveDLighting, _put_Nikon_D90_ActiveDLighting },
{ N_("High ISO Noise Reduction"), "highisonr", PTP_DPC_NIKON_NrHighISO, PTP_VENDOR_NIKON, PTP_DTC_INT8, _get_Nikon_D90_HighISONR, _put_Nikon_D90_HighISONR },
{ N_("Movie High ISO Noise Reduction"), "moviehighisonr", PTP_DPC_NIKON_MovieNrHighISO, PTP_VENDOR_NIKON, PTP_DTC_INT8, _get_Nikon_D90_HighISONR, _put_Nikon_D90_HighISONR },
{ N_("Continuous Shooting Speed Slow"), "shootingspeed", PTP_DPC_NIKON_D1ShootingSpeed, PTP_VENDOR_NIKON, PTP_DTC_UINT8, _get_Nikon_D90_ShootingSpeed, _put_Nikon_D90_ShootingSpeed },
{ N_("Maximum continuous release"), "maximumcontinousrelease", PTP_DPC_NIKON_D2MaximumShots, PTP_VENDOR_NIKON, PTP_DTC_UINT8, _get_Range_UINT8, _put_Range_UINT8 },
{ N_("Movie Quality"), "moviequality", PTP_DPC_NIKON_MovScreenSize, PTP_VENDOR_NIKON, PTP_DTC_UINT8, _get_Nikon_MovieQuality, _put_Nikon_MovieQuality },

View File

@@ -1884,6 +1884,9 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_NIKON_LiveViewStatus 0xD1A2
#define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3
#define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4
#define PTP_DPC_NIKON_MovieShutterSpeed 0xD1A8
#define PTP_DPC_NIKON_MovieFNumber 0xD1A9
#define PTP_DPC_NIKON_MovieISO 0xD1AA
#define PTP_DPC_NIKON_LiveViewMovieMode 0xD1AC /* ? */
#define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0
#define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1
@@ -1908,6 +1911,7 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_NIKON_ActiveSlot 0xD1F2
#define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200
#define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201
#define PTP_DPC_NIKON_MovieNrHighISO 0xD236
/* Nikon V1 (or WU adapter?) Trace */