⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 properties.c

📁 Linux平台。一个好用的ptp传输工具。用来从相机向pc传输照片
💻 C
📖 第 1 页 / 共 3 页
字号:
			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 + -