@atem-connection/camera-control
Version:
Library for ATEM Camera control using atem-connection.
121 lines • 9.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AtemCameraControlCommandGenerator = void 0;
const atem_connection_1 = require("atem-connection");
const ids_1 = require("../ids");
const props_1 = require("./props");
class AtemCameraControlCommandGenerator {
// Lens
lensFocus(cameraId, value, relative = false) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.Focus, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [value], relative));
return this.addCommand(command);
}
lensTriggerAutoFocus(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.AutoFocus, (0, props_1.constructBooleanProps)([]));
return this.addCommand(command);
}
lensIrisFStop(cameraId, value) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.ApertureFStop, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [value]));
return this.addCommand(command);
}
lensIrisNormalised(cameraId, value) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.ApertureNormalised, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [value]));
return this.addCommand(command);
}
lensTriggerAutoIris(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.AutoAperture, (0, props_1.constructBooleanProps)([]));
return this.addCommand(command);
}
lensEnableOpticalImageStabilisation(cameraId, enable) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.OpticalImageStabilisation, (0, props_1.constructBooleanProps)([enable]));
return this.addCommand(command);
}
lensSetContinuousZoomSpeed(cameraId, speed) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Lens, ids_1.AtemCameraControlLensParameter.SetContinuousZoomSpeed, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [speed]));
return this.addCommand(command);
}
// Video
videoManualWhiteBalance(cameraId, colorTemperature, tint) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.ManualWhiteBalance, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT16, [colorTemperature, tint]));
return this.addCommand(command);
}
videoTriggerAutoWhiteBalance(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.SetAutoWhiteBalance, (0, props_1.constructBooleanProps)([]));
return this.addCommand(command);
}
videoExposureUs(cameraId, us) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.ExposureUs, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT32, [us]));
return this.addCommand(command);
}
// This doesn't get reflected in the state, so is rather confusing
// exposureOrdinal(cameraId: number, step: number, ): TRes {
// const command = new Commands.CameraControlCommand(
// cameraId,
// AtemCameraControlCategory.Video,
// AtemCameraControlVideoParameter.ExposureOrdinal,
// constructNumberProps(Commands.CameraControlDataType.SINT16, [step], )
// )
// return this.addCommand(command)
// }
videoSharpeningLevel(cameraId, level) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.VideoSharpeningLevel, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT8, [level]));
return this.addCommand(command);
}
videoGain(cameraId, gain) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.Gain, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT8, [gain]));
return this.addCommand(command);
}
videoNdFilterStop(cameraId, stop) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Video, ids_1.AtemCameraControlVideoParameter.NDFilterStop, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [stop]));
return this.addCommand(command);
}
// Display
displayColorBars(cameraId, enable) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Display, ids_1.AtemCameraControlDisplayParameter.ColorBarEnable, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT8, [enable ? 30 : 0]));
return this.addCommand(command);
}
// Color Correction
colorLiftAdjust(cameraId, red, green, blue, luma) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.LiftAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [red, green, blue, luma]));
return this.addCommand(command);
}
colorGammaAdjust(cameraId, red, green, blue, luma) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.GammaAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [red, green, blue, luma]));
return this.addCommand(command);
}
colorGainAdjust(cameraId, red, green, blue, luma) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.GainAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [red, green, blue, luma]));
return this.addCommand(command);
}
colorOffsetAdjust(cameraId, red, green, blue, luma) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.OffsetAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [red, green, blue, luma]));
return this.addCommand(command);
}
colorContrastAdjust(cameraId, constrast, pivot) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.ContrastAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [pivot, constrast]));
return this.addCommand(command);
}
colorLumaMix(cameraId, lumaMix) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.LumaMix, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [lumaMix]));
return this.addCommand(command);
}
colorHueSaturationAdjust(cameraId, hue, saturation) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.ColorAdjust, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.FLOAT, [hue, saturation]));
return this.addCommand(command);
}
colorResetAllToDefault(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.ColorCorrection, ids_1.AtemCameraControlColorCorrectionParameter.ResetToDefaults, (0, props_1.constructBooleanProps)([]));
return this.addCommand(command);
}
// Media
mediaTriggerSetRecording(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Media, ids_1.AtemCameraControlMediaParameter.TransportMode, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT8, [2, 0, 0, 0, 0], false));
return this.addCommand(command);
}
mediaTriggerSetStopped(cameraId) {
const command = new atem_connection_1.Commands.CameraControlCommand(cameraId, ids_1.AtemCameraControlCategory.Media, ids_1.AtemCameraControlMediaParameter.TransportMode, (0, props_1.constructNumberProps)(atem_connection_1.Commands.CameraControlDataType.SINT8, [0, 0, 0, 0, 0], false));
return this.addCommand(command);
}
}
exports.AtemCameraControlCommandGenerator = AtemCameraControlCommandGenerator;
//# sourceMappingURL=baseGenerator.js.map