UNPKG

@atem-connection/camera-control

Version:
74 lines 3.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applyLensCommand = void 0; const atem_connection_1 = require("atem-connection"); const changesTracker_1 = require("./changesTracker"); const ids_1 = require("../ids"); const changes_1 = require("../changes"); function applyLensCommand(changes, command, state) { const parameter = command.parameter; switch (parameter) { case ids_1.AtemCameraControlLensParameter.Focus: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 1)) return; state.lens.focus = command.properties.numberData[0]; changes.addChange(command.source, 'lens.focus'); return; } case ids_1.AtemCameraControlLensParameter.AutoFocus: { changes.addEvent(command.source, changes_1.AtemCameraControlEvents.LensAutoFocus); return; } case ids_1.AtemCameraControlLensParameter.ApertureFStop: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 1)) return; // TODO - verify range state.lens.iris = command.properties.numberData[0]; changes.addChange(command.source, 'lens.iris'); return; } case ids_1.AtemCameraControlLensParameter.AutoAperture: { changes.addEvent(command.source, changes_1.AtemCameraControlEvents.LensAutoIris); return; } case ids_1.AtemCameraControlLensParameter.OpticalImageStabilisation: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.BOOL, 1)) return; state.lens.opticalImageStabilisation = command.properties.boolData[0]; changes.addChange(command.source, 'lens.opticalImageStabilisation'); return; } case ids_1.AtemCameraControlLensParameter.SetContinuousZoomSpeed: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 1)) return; state.lens.zoomSpeed = command.properties.numberData[0]; changes.addChange(command.source, 'lens.zoomSpeed'); return; } case ids_1.AtemCameraControlLensParameter.ApertureNormalised: case ids_1.AtemCameraControlLensParameter.ApertureOrdinal: case ids_1.AtemCameraControlLensParameter.SetAbsoluteZoomMM: case ids_1.AtemCameraControlLensParameter.SetAbsoluteZoomNormalised: // Not implemented changes.addUnhandledMessage(command); return; // case 8: { // //Zoom position // changed['zoomPosition'] = rawCommand.readUInt16BE(16) / 2048 // changed['command'] = 'zoom' // break // } // case 9: { // //Zoom speed // changed['zoomSpeed'] = rawCommand.readInt16BE(16) / 2048 // changed['command'] = 'zoom' // break // } default: (0, changesTracker_1.assertNever)(parameter); changes.addUnhandledMessage(command); return; } } exports.applyLensCommand = applyLensCommand; //# sourceMappingURL=lens.js.map