UNPKG

@atem-connection/camera-control

Version:
78 lines 4.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applyVideoCommand = 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 applyVideoCommand(changes, command, state) { const parameter = command.parameter; switch (parameter) { case ids_1.AtemCameraControlVideoParameter.GainCamera4_9: { // Gain (up to Camera 4.9) return; } case ids_1.AtemCameraControlVideoParameter.ManualWhiteBalance: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.SINT16, 2)) return; state.video.whiteBalance = [command.properties.numberData[0], command.properties.numberData[1]]; changes.addChange(command.source, 'video.whiteBalance'); return; } case ids_1.AtemCameraControlVideoParameter.SetAutoWhiteBalance: { changes.addEvent(command.source, changes_1.AtemCameraControlEvents.VideoAutoWhiteBalance); return; } case ids_1.AtemCameraControlVideoParameter.ExposureUs: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.SINT32, 1)) return; const shutterSpeedRaw = 1000000 / command.properties.numberData[0]; const shutterSpeedRounded = shutterSpeedRaw > 1000 ? 10 * Math.round(shutterSpeedRaw / 10) : Math.round(shutterSpeedRaw); state.video.exposure = command.properties.numberData[0]; state.video.shutterSpeed = shutterSpeedRounded; changes.addChange(command.source, 'video.exposure'); changes.addChange(command.source, 'video.shutterSpeed'); return; } case ids_1.AtemCameraControlVideoParameter.VideoSharpeningLevel: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.SINT8, 1)) return; state.video.videoSharpeningLevel = command.properties.numberData[0]; changes.addChange(command.source, 'video.videoSharpeningLevel'); return; } case ids_1.AtemCameraControlVideoParameter.Gain: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.SINT8, 1)) return; state.video.gain = command.properties.numberData[0]; changes.addChange(command.source, 'video.gain'); return; } case ids_1.AtemCameraControlVideoParameter.NDFilterStop: { if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 1)) return; state.video.ndFilterStop = command.properties.numberData[0]; changes.addChange(command.source, 'video.ndFilterStop'); return; } case ids_1.AtemCameraControlVideoParameter.VideoMode: case ids_1.AtemCameraControlVideoParameter.RestoreAutoWhiteBalance: case ids_1.AtemCameraControlVideoParameter.ExposureOrdinal: case ids_1.AtemCameraControlVideoParameter.DynamicRangeMode: case ids_1.AtemCameraControlVideoParameter.RecordingFormat: case ids_1.AtemCameraControlVideoParameter.SetAutoExpsureMode: case ids_1.AtemCameraControlVideoParameter.ShutterAngle: case ids_1.AtemCameraControlVideoParameter.ShutterSpeed: case ids_1.AtemCameraControlVideoParameter.ISO: case ids_1.AtemCameraControlVideoParameter.DisplayLUT: // Not implemented changes.addUnhandledMessage(command); return; default: (0, changesTracker_1.assertNever)(parameter); changes.addUnhandledMessage(command); return; } } exports.applyVideoCommand = applyVideoCommand; //# sourceMappingURL=video.js.map