📄 properties.c
字号:
return ptp_device_properties[i].dpc; /* XXX*/ for (i=0; ptp_device_properties_NIKON[i].txt!=NULL; i++) if (!strncasecmp(ptp_device_properties_NIKON[i].txt,name, strlen(name))) return ptp_device_properties_NIKON[i].dpc; return 0;}/* properties interpretation */static const char*ptp_prop_NIKON_d100(PTPParams* params, PTPDevicePropDesc *dpd, char* strval){ static char strvalret[SVALLEN]; uint32_t val= (uint32_t) strtol (strval, NULL, 10); uint16_t numerator=(uint16_t) (val >> 16); uint16_t denominator=(uint16_t) val; int n; n=snprintf(strvalret,SVALLEN,"%i/%i",numerator, denominator); SVALRET(strvalret);}static const char*ptp_prop_getdescscale10000(PTPParams* params, PTPDevicePropDesc *dpd, char* strval){ long long int value=strtoll(strval, NULL, 10); double floatvalue=(double) value/(double )10000.0; static char strvalret[SVALLEN]; int i,n; static struct { uint16_t dpc; const char *units; } prop_units[] = { {PTP_DPC_ExposureTime, N_("s")}, {0, NULL} }; switch (params->deviceinfo.VendorExtensionID) { case PTP_VENDOR_NIKON: //RETPROPDESC(pd_NIKONN); break; } //RETPROPDESC(pd); for (i=0; prop_units[i].dpc!=0; i++) { if (prop_units[i].dpc==dpd->DevicePropertyCode) { n=snprintf(strvalret,SVALLEN,"%.4f%s",floatvalue,prop_units[i].units); SVALRET(strvalret); } } return NULL;}static const char*ptp_prop_getdescscale1000(PTPParams* params, PTPDevicePropDesc *dpd, char* strval){ long long int value=strtoll(strval, NULL, 10); double floatvalue=(double) value/(double )1000.0; static char strvalret[SVALLEN]; int i,n; static struct { uint16_t dpc; const char *units; int prec; } prop_units[] = { {PTP_DPC_ExposureBiasCompensation, N_(""),1}, {0, NULL} }; static struct { uint16_t dpc; const char *units; int prec; } prop_units_NIKON[] = { {0, NULL} }; switch (params->deviceinfo.VendorExtensionID) { case PTP_VENDOR_NIKON: for (i=0; prop_units_NIKON[i].dpc!=0; i++) { if (prop_units_NIKON[i].dpc==dpd->DevicePropertyCode){ n=snprintf(strvalret,SVALLEN,"%.*f%s", prop_units_NIKON[i].prec,floatvalue, prop_units_NIKON[i].units); SVALRET(strvalret); } } break; } for (i=0; prop_units[i].dpc!=0; i++) { if (prop_units[i].dpc==dpd->DevicePropertyCode) { n=snprintf(strvalret,SVALLEN,"%.*f%s", prop_units[i].prec,floatvalue, prop_units[i].units); SVALRET(strvalret); } } return NULL;}static const char*ptp_prop_getdescscale100(PTPParams* params, PTPDevicePropDesc *dpd, char* strval){ long long int value=strtoll(strval, NULL, 10); double floatvalue=(double) value/(double )100.0; static char strvalret[SVALLEN]; int i,n; static struct { uint16_t dpc; const char *units; int prec; } prop_units[] = { {PTP_DPC_FNumber, N_(""),1}, {PTP_DPC_FocalLength, N_("mm"),0}, {0, NULL} }; static struct { uint16_t dpc; const char *units; int prec; } prop_units_NIKON[] = { {PTP_DPC_NIKON_FocalLengthMin, N_(""),0}, {PTP_DPC_NIKON_FocalLengthMax, N_(""),0}, {PTP_DPC_NIKON_MaxApAtMinFocalLength, N_(""),1}, {PTP_DPC_NIKON_MaxApAtMaxFocalLength, N_(""),1}, {0, NULL} }; switch (params->deviceinfo.VendorExtensionID) { case PTP_VENDOR_NIKON: for (i=0; prop_units_NIKON[i].dpc!=0; i++) { if (prop_units_NIKON[i].dpc==dpd->DevicePropertyCode){ n=snprintf(strvalret,SVALLEN,"%.*f%s", prop_units_NIKON[i].prec,floatvalue, prop_units_NIKON[i].units); SVALRET(strvalret); } } break; } for (i=0; prop_units[i].dpc!=0; i++) { if (prop_units[i].dpc==dpd->DevicePropertyCode) { n=snprintf(strvalret,SVALLEN,"%.*f%s", prop_units[i].prec,floatvalue, prop_units[i].units); SVALRET(strvalret); } } return NULL;}static struct { uint16_t dpc; char *val; const char *txt;} ptp_property_meaning[] = { {PTP_DPC_WhiteBalance, "1", N_("Manual")}, {PTP_DPC_WhiteBalance, "2", N_("Automatic")}, {PTP_DPC_WhiteBalance, "3", N_("One-push Automatic")}, {PTP_DPC_WhiteBalance, "4", N_("Daylight")}, {PTP_DPC_WhiteBalance, "5", N_("Fluorescent")}, {PTP_DPC_WhiteBalance, "6", N_("Tungsten")}, {PTP_DPC_WhiteBalance, "7", N_("Flash")}, {PTP_DPC_FocusMode, "1", N_("Manual")}, {PTP_DPC_FocusMode, "2", N_("Automatic")}, {PTP_DPC_FocusMode, "3", N_("Automatic Macro")}, {PTP_DPC_ExposureMeteringMode, "1", N_("Manual")}, {PTP_DPC_ExposureMeteringMode, "2", N_("Center-weighted")}, {PTP_DPC_ExposureMeteringMode, "3", N_("Multi-spot")}, {PTP_DPC_ExposureMeteringMode, "4", N_("Center-spot")}, {PTP_DPC_FlashMode, "1", N_("Auto flash")}, {PTP_DPC_FlashMode, "2", N_("Flash off")}, {PTP_DPC_FlashMode, "3", N_("Fill flash")}, {PTP_DPC_FlashMode, "4", N_("Red eye auto")}, {PTP_DPC_FlashMode, "5", N_("Red eye fill")}, {PTP_DPC_FlashMode, "6", N_("External flash")}, {PTP_DPC_ExposureProgramMode, "1", N_("Manual")}, {PTP_DPC_ExposureProgramMode, "2", N_("Automatic (P)")}, {PTP_DPC_ExposureProgramMode, "3", N_("Aperture Priority")}, {PTP_DPC_ExposureProgramMode, "4", N_("Shutter Priority")}, {PTP_DPC_ExposureProgramMode, "5", N_("Program Creative")}, {PTP_DPC_ExposureProgramMode, "6", N_("Program Action")}, {PTP_DPC_ExposureProgramMode, "7", N_("Portrait")}, {PTP_DPC_StillCaptureMode, "1", N_("Normal")}, {PTP_DPC_StillCaptureMode, "2", N_("Burst")}, {PTP_DPC_StillCaptureMode, "3", N_("Timelapse")}, {PTP_DPC_FocusMeteringMode, "1", N_("Center-spot")}, {PTP_DPC_FocusMeteringMode, "2", N_("Multi-spot")}, /* returned by function call */ {PTP_DPC_FNumber, (char*) ptp_prop_getdescscale100, NULL}, {PTP_DPC_FocalLength, (char*) ptp_prop_getdescscale100, NULL}, {PTP_DPC_ExposureTime, (char*) ptp_prop_getdescscale10000, NULL}, {PTP_DPC_ExposureBiasCompensation,(char*) ptp_prop_getdescscale1000,NULL}, {0, NULL, NULL}};static struct { uint16_t dpc; char *val; const char *txt;} ptp_property_meaning_NIKON[] = { {PTP_DPC_CompressionSetting, "0", N_("JPEG Basic")}, {PTP_DPC_CompressionSetting, "1", N_("JPEG Normal")}, {PTP_DPC_CompressionSetting, "2", N_("JPEG Fine")}, {PTP_DPC_CompressionSetting, "4", N_("NEF RAW")}, {PTP_DPC_CompressionSetting, "5", N_("NEF+JPEG Basic")}, {PTP_DPC_WhiteBalance, "2", N_("Automatic")}, {PTP_DPC_WhiteBalance, "4", N_("Direct Sunlight")}, {PTP_DPC_WhiteBalance, "5", N_("Fluorescent")}, {PTP_DPC_WhiteBalance, "6", N_("Incadescent")}, {PTP_DPC_WhiteBalance, "7", N_("Flash")}, {PTP_DPC_WhiteBalance, "32784", N_("Cloudy")}, {PTP_DPC_WhiteBalance, "32785", N_("Shade")}, {PTP_DPC_WhiteBalance, "32786", N_("Color Temperature")}, {PTP_DPC_WhiteBalance, "32787", N_("Preset")}, {PTP_DPC_FocusMode, "32784", N_("AF-S (single-servo)")}, {PTP_DPC_FocusMode, "32785", N_("AF-C (continuous-servo)")}, {PTP_DPC_FlashMode, "4", N_("Red-eye reduction")}, {PTP_DPC_FlashMode, "32784", N_("Front-courtain")}, {PTP_DPC_FlashMode, "32785", N_("Slow Sync")}, {PTP_DPC_FlashMode, "32786", N_("(Slow) Rear-curtain")}, {PTP_DPC_FlashMode, "32787", N_("Slow Sync with Red-eye")}, {PTP_DPC_ExposureProgramMode, "32784", N_("Camera Auto")}, {PTP_DPC_ExposureProgramMode, "32785", N_("Portrait")}, {PTP_DPC_ExposureProgramMode, "32786", N_("Landscape")}, {PTP_DPC_ExposureProgramMode, "32787", N_("Close Up")}, {PTP_DPC_ExposureProgramMode, "32788", N_("Sports")}, {PTP_DPC_ExposureProgramMode, "32789", N_("Night Portrait")}, {PTP_DPC_ExposureProgramMode, "32790", N_("Night Landscape")}, {PTP_DPC_StillCaptureMode, "1", N_("Single Frame")}, {PTP_DPC_StillCaptureMode, "2", N_("Continuous")}, {PTP_DPC_StillCaptureMode, "32784", N_("Continuous Low Speed")}, {PTP_DPC_StillCaptureMode, "32785", N_("Self-timer")}, {PTP_DPC_StillCaptureMode, "32787", N_("Remote")}, {PTP_DPC_StillCaptureMode, "32786", N_("Mirror Up")}, {PTP_DPC_StillCaptureMode, "32788", N_("Delayed Remote")}, {PTP_DPC_FocusMeteringMode, "2", N_("Dynamic Area")}, {PTP_DPC_FocusMeteringMode, "32784", N_("Single Area")}, {PTP_DPC_FocusMeteringMode, "32785", N_("Closest Subject")}, {PTP_DPC_FocusMeteringMode, "32786", N_("Group Dynamic")}, {PTP_DPC_NIKON_ImageSharpening, "0", N_("Auto")}, {PTP_DPC_NIKON_ImageSharpening, "1", N_("Normal")}, {PTP_DPC_NIKON_ImageSharpening, "2", N_("-2 Low")}, {PTP_DPC_NIKON_ImageSharpening, "3", N_("-1 Medium Low")}, {PTP_DPC_NIKON_ImageSharpening, "4", N_("+1 Medium High")}, {PTP_DPC_NIKON_ImageSharpening, "5", N_("+2 High")}, {PTP_DPC_NIKON_ImageSharpening, "6", N_("None")}, {PTP_DPC_NIKON_ToneCompensation, "0", N_("Auto")}, {PTP_DPC_NIKON_ToneCompensation, "1", N_("Normal")}, {PTP_DPC_NIKON_ToneCompensation, "2", N_("-2 Low Contrast")}, {PTP_DPC_NIKON_ToneCompensation, "3", N_("-1 Medium Low")}, {PTP_DPC_NIKON_ToneCompensation, "4", N_("+1 Medium High")}, {PTP_DPC_NIKON_ToneCompensation, "5", N_("+2 High Contrast")}, {PTP_DPC_NIKON_ToneCompensation, "6", N_("Custom")}, {PTP_DPC_NIKON_ColorMode, "0", N_("Ia (sRGB)")}, {PTP_DPC_NIKON_ColorMode, "1", N_("II (Adobe RGB)")}, {PTP_DPC_NIKON_ColorMode, "2", N_("IIIa (sRGB)")}, {PTP_DPC_NIKON_Saturation, "0", N_("Normal")}, {PTP_DPC_NIKON_Saturation, "1", N_("Moderate")}, {PTP_DPC_NIKON_Saturation, "2", N_("Enhanced")}, {PTP_DPC_NIKON_OptimizeImage, "0", N_("Normal")}, {PTP_DPC_NIKON_OptimizeImage, "1", N_("Vivid")}, {PTP_DPC_NIKON_OptimizeImage, "2", N_("Sharp")}, {PTP_DPC_NIKON_OptimizeImage, "3", N_("Soft")}, {PTP_DPC_NIKON_OptimizeImage, "4", N_("Direct Print")}, {PTP_DPC_NIKON_OptimizeImage, "5", N_("Portrait")}, {PTP_DPC_NIKON_OptimizeImage, "6", N_("Landscape")}, {PTP_DPC_NIKON_OptimizeImage, "7", N_("Custom")}, {PTP_DPC_NIKON_FocusAreaWrap, "1", N_("Wrap")}, {PTP_DPC_NIKON_FocusAreaWrap, "0", N_("No Wrap")}, {PTP_DPC_NIKON_ISOAuto, "0", N_("Off")}, {PTP_DPC_NIKON_ISOAuto, "1", N_("On")}, {PTP_DPC_NIKON_ExposureCompensation, "0", N_("Off")}, {PTP_DPC_NIKON_ExposureCompensation, "1", N_("On")}, {PTP_DPC_NIKON_CenterWeightArea, "0", N_("6mm")}, {PTP_DPC_NIKON_CenterWeightArea, "1", N_("8mm")}, {PTP_DPC_NIKON_CenterWeightArea, "2", N_("10mm")}, {PTP_DPC_NIKON_CenterWeightArea, "3", N_("12mm")}, {PTP_DPC_NIKON_AELockMode, "0", N_("AE-L Button")}, {PTP_DPC_NIKON_AELockMode, "1", N_("Release Button")}, {PTP_DPC_NIKON_AELAFLMode, "0", N_("Exposure and Focus Lock")}, {PTP_DPC_NIKON_AELAFLMode, "1", N_("Exposure Lock Only")}, {PTP_DPC_NIKON_AELAFLMode, "2", N_("Focus Lock Only")}, {PTP_DPC_NIKON_AELAFLMode, "3", N_("Exposure Lock Hold")}, {PTP_DPC_NIKON_AELAFLMode, "4", N_("AF-ON")}, {PTP_DPC_NIKON_AELAFLMode, "5", N_("FV Lock")}, {PTP_DPC_NIKON_MeterOff, "0", N_("4s")}, {PTP_DPC_NIKON_MeterOff, "1", N_("6s")},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -