tethr
Version:
Controlls USB-connected cameras, webcam, and smartphone camera from browser
83 lines (82 loc) • 4.23 kB
TypeScript
import { BiMap } from 'bim';
import { Aperture, ColorMode, ExposureComp, ExposureMode, ImageAspect, ISO, ManualFocusOption, ShutterSpeed, WhiteBalance } from '../configs';
import { PTPDevice, PTPEvent } from '../PTPDevice';
import { ConfigDesc, OperationResult, TakePhotoOption } from '../Tethr';
import { TethrObject } from '../TethrObject';
import { TethrPTPUSB } from './TethrPTPUSB';
export declare class TethrPanasonic extends TethrPTPUSB {
#private;
constructor(device: PTPDevice);
open(): Promise<void>;
close(): Promise<void>;
setAperture(value: Aperture): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getApertureDesc(): Promise<ConfigDesc<number>>;
setColorMode(value: ColorMode): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getColorModeDesc(): Promise<ConfigDesc<string>>;
getExposureModeDesc(): Promise<ConfigDesc<"video" | "C2" | "C1" | "C3" | `vendor:${string}` | "P" | "A" | "S" | "M" | "creative" | "action" | "portrait">>;
setExposureComp(value: ExposureComp): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getExposureCompDesc(): Promise<ConfigDesc<string>>;
getManualFocusOptionsDesc(): Promise<ConfigDesc<("near:2" | "near:1" | "near:3" | "far:2" | "far:1" | "far:3")[]>>;
getCanTakePhotoDesc(): Promise<ConfigDesc<boolean>>;
getCanRunAutoFocusDesc(): Promise<ConfigDesc<boolean>>;
getCanRunManualFocusDesc(): Promise<ConfigDesc<boolean>>;
getCanStartLiveviewDesc(): Promise<ConfigDesc<boolean>>;
setColorTemperature(value: number): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getColorTemperatureDesc(): Promise<ConfigDesc<number>>;
setImageAspect(value: ImageAspect): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getImageAspectDesc(): Promise<ConfigDesc<`${number}:${number}` | "a size">>;
setImageQuality(value: string): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getImageQualityDesc(): Promise<ConfigDesc<string>>;
setIso(value: ISO): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getIsoDesc(): Promise<ConfigDesc<number | "auto">>;
setWhiteBalance(value: WhiteBalance): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getWhiteBalanceDesc(): Promise<ConfigDesc<"auto" | `vendor:${string}` | "auto cool" | "auto warm" | "auto ambience" | "daylight" | "shade" | "cloud" | "incandescent" | "fluorescent" | "tungsten" | "flash" | "underwater" | "manual" | "custom">>;
private setDevicePropValuePanasonic;
private getDevicePropDescPanasonic;
setShutterSpeed(value: ShutterSpeed): Promise<{
status: import("../Tethr").OperationResultStatus;
message?: string | undefined;
}>;
getShutterSpeedDesc(): Promise<ConfigDesc<`${number}` | "auto" | "bulb" | `1/${number}`>>;
takePhoto({ doDownload }?: TakePhotoOption): Promise<OperationResult<TethrObject[]>>;
startLiveview(): Promise<OperationResult<MediaStream>>;
stopLiveview(): Promise<OperationResult>;
getLiveviewSizeDesc(): Promise<ConfigDesc<string>>;
setLiveviewSize(value: string): Promise<OperationResult>;
private getLiveviewRecommendedSettings;
private getLiveviewSetting;
private setLiveviewSetting;
runManualFocus(option: ManualFocusOption): Promise<OperationResult>;
runAutoFocus(): Promise<OperationResult>;
protected onDevicePropChanged: (ev: PTPEvent) => Promise<void>;
protected getObjectFormat(code: number): string;
protected exposureModeTable: BiMap<number, ExposureMode>;
protected whiteBalanceTable: BiMap<number, WhiteBalance>;
protected colorModeTable: BiMap<number, string>;
protected imageAspectTable: BiMap<number, ImageAspect>;
protected imageQualityTable: BiMap<number, string>;
}