timeline-state-resolver
Version:
Have timeline, control stuff
101 lines • 3.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ViscaValueConverter = void 0;
const timeline_state_resolver_types_1 = require("timeline-state-resolver-types");
const ConnectionEnums = require("../enums");
class ViscaValueConverter {
// -- to --
mapPanTiltSpeedToVisca(panTiltSpeed) {
return Math.round(Math.abs(panTiltSpeed) * 24);
}
mapPanTiltSpeedToViscaDirection(panSpeed, tiltSpeed) {
let horizontalDirection;
let verticalDirection;
if (panSpeed < 0) {
horizontalDirection = 'left';
}
else if (panSpeed > 0) {
horizontalDirection = 'right';
}
if (tiltSpeed < 0) {
verticalDirection = 'down';
}
else if (tiltSpeed > 0) {
verticalDirection = 'up';
}
switch (horizontalDirection) {
case 'left':
switch (verticalDirection) {
case 'up':
return ConnectionEnums.PanTiltDirection.UpLeft;
case 'down':
return ConnectionEnums.PanTiltDirection.DownLeft;
default:
return ConnectionEnums.PanTiltDirection.Left;
}
case 'right':
switch (verticalDirection) {
case 'up':
return ConnectionEnums.PanTiltDirection.UpRight;
case 'down':
return ConnectionEnums.PanTiltDirection.DownRight;
default:
return ConnectionEnums.PanTiltDirection.Right;
}
default:
switch (verticalDirection) {
case 'up':
return ConnectionEnums.PanTiltDirection.Up;
case 'down':
return ConnectionEnums.PanTiltDirection.Down;
default:
return ConnectionEnums.PanTiltDirection.Stop;
}
}
}
mapZoomSpeedToVisca(zoomSpeed) {
return Math.round(Math.abs(zoomSpeed) * 7);
}
mapZoomSpeedToViscaDirection(zoomSpeed) {
if (zoomSpeed > 0)
return ConnectionEnums.ZoomDirection.TeleVariable;
if (zoomSpeed < 0)
return ConnectionEnums.ZoomDirection.WideVariable;
return ConnectionEnums.ZoomDirection.Stop;
}
mapFocusSpeedToVisca(focusSpeed) {
return Math.round(Math.abs(focusSpeed) * 7);
}
mapFocusModeToVisca(focusMode) {
if (focusMode === timeline_state_resolver_types_1.FocusMode.AUTO)
return ConnectionEnums.FocusMode.Auto;
return ConnectionEnums.FocusMode.Manual;
}
// -- from --
mapFocusSpeedToViscaDirection(focusSpeed) {
if (focusSpeed > 0)
return ConnectionEnums.FocusDirection.FarVariable;
if (focusSpeed < 0)
return ConnectionEnums.FocusDirection.NearVariable;
return ConnectionEnums.FocusDirection.Stop;
}
mapFocusPositionFromVisca(focusPosition) {
return focusPosition / 0xffff;
}
mapZoomPositionFromVisca(zoomPosition) {
return zoomPosition / 0x6000;
}
mapPanTiltPositionFromVisca(position) {
return {
panPosition: position.panPosition / 0x14bbc,
tiltPosition: position.tiltPosition / 0x14bbc,
};
}
mapFocusModeFromVisca(focusMode) {
if (focusMode === ConnectionEnums.FocusMode.Auto)
return timeline_state_resolver_types_1.FocusMode.AUTO;
return timeline_state_resolver_types_1.FocusMode.MANUAL;
}
}
exports.ViscaValueConverter = ViscaValueConverter;
//# sourceMappingURL=ViscaValueConverter.js.map