@atem-connection/camera-control
Version:
Library for ATEM Camera control using atem-connection.
96 lines • 4.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyColorCorrectionCommand = 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 applyColorCorrectionCommand(changes, command, state) {
const parameter = command.parameter;
switch (parameter) {
case ids_1.AtemCameraControlColorCorrectionParameter.LiftAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 4))
return;
state.colorCorrection.liftAdjust = {
red: command.properties.numberData[0],
green: command.properties.numberData[1],
blue: command.properties.numberData[2],
luma: command.properties.numberData[3],
};
changes.addChange(command.source, 'colorCorrection.liftAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.GammaAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 4))
return;
state.colorCorrection.gammaAdjust = {
red: command.properties.numberData[0],
green: command.properties.numberData[1],
blue: command.properties.numberData[2],
luma: command.properties.numberData[3],
};
changes.addChange(command.source, 'colorCorrection.gammaAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.GainAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 4))
return;
state.colorCorrection.gainAdjust = {
red: command.properties.numberData[0],
green: command.properties.numberData[1],
blue: command.properties.numberData[2],
luma: command.properties.numberData[3],
};
changes.addChange(command.source, 'colorCorrection.gainAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.OffsetAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 4))
return;
state.colorCorrection.offsetAdjust = {
red: command.properties.numberData[0],
green: command.properties.numberData[1],
blue: command.properties.numberData[2],
luma: command.properties.numberData[3],
};
changes.addChange(command.source, 'colorCorrection.offsetAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.ContrastAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 2))
return;
state.colorCorrection.contrastAdjust = {
pivot: command.properties.numberData[0],
adj: command.properties.numberData[1],
};
changes.addChange(command.source, 'colorCorrection.contrastAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.LumaMix: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 1))
return;
state.colorCorrection.lumaMix = command.properties.numberData[0];
changes.addChange(command.source, 'colorCorrection.lumaMix');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.ColorAdjust: {
if (!changes.checkMessageParameters(command, atem_connection_1.Commands.CameraControlDataType.FLOAT, 2))
return;
state.colorCorrection.colorAdjust = {
hue: command.properties.numberData[0],
saturation: command.properties.numberData[1],
};
changes.addChange(command.source, 'colorCorrection.colorAdjust');
return;
}
case ids_1.AtemCameraControlColorCorrectionParameter.ResetToDefaults:
changes.addEvent(command.source, changes_1.AtemCameraControlEvents.ColorResetToDefault);
return;
default:
(0, changesTracker_1.assertNever)(parameter);
changes.addUnhandledMessage(command);
return;
}
}
exports.applyColorCorrectionCommand = applyColorCorrectionCommand;
//# sourceMappingURL=colorCorrection.js.map