@blackmagic-controller/core
Version:
An npm module for interfacing with the Blackmagic usb/bluetooth controllers
96 lines • 6.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AtemMicroPanelFactory = AtemMicroPanelFactory;
const base_js_1 = require("./base.js");
const id_js_1 = require("../id.js");
const controlsGenerator_js_1 = require("../controlsGenerator.js");
const callback_hook_js_1 = require("../services/callback-hook.js");
const default_js_1 = require("../services/properties/default.js");
const default_js_2 = require("../services/input/default.js");
const default_js_3 = require("../services/led/default.js");
const microPanelControls = [
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 5, 'macro', 0x01, 16),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 6, 'key1-on', 0x02, 19),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 7, 'key2-on', 0x03, 22),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 8, 'key3-on', 0x04, 25),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 9, 'key4-on', 0x05, 28),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 5, 'next-background', 0x06, 31),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 6, 'next-key1', 0x07, 34),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 7, 'next-key2', 0x08, 37),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 8, 'next-key3', 0x09, 40),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 9, 'next-key4', 0x0a, 43),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 0, 'program1', 0x0b, 46),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 1, 'program2', 0x0c, 49),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 2, 'program3', 0x0d, 52),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 3, 'program4', 0x0e, 55),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 4, 'program5', 0x0f, 58),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 5, 'program6', 0x10, 61),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 6, 'program7', 0x11, 64),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 7, 'program8', 0x12, 67),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 8, 'program9', 0x13, 70),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 9, 'program10', 0x14, 73),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 0, 'preview1', 0x15, 76),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 1, 'preview2', 0x16, 79),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 2, 'preview3', 0x17, 82),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 3, 'preview4', 0x18, 85),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 4, 'preview5', 0x19, 88),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 5, 'preview6', 0x1a, 91),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 6, 'preview7', 0x1b, 94),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 7, 'preview8', 0x1c, 97),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 8, 'preview9', 0x1d, 100),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 9, 'preview10', 0x1e, 103),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 10, 'mixeffect1', 0x1f, 106),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 11, 'mixeffect2', 0x20, 109),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 12, 'mixeffect3', 0x21, 112),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(0, 13, 'mixeffect4', 0x22, 115),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 11, 'transition-dip', 0x23, 118),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 12, 'transition-dve', 0x24, 121),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 13, 'transition-sting', 0x25, 124),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 11, 'transition-mix', 0x27, 130),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 12, 'transition-wipe', 0x28, 133),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 13, 'transition-arm', 0x29, 136),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 10, 'shift', 0x26, 127),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 10, 'preview-transition', 0x2a, 139),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 11, 'cut', 0x2b, 142),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 13, 'auto', 0x2c, 145),
{
type: 'tbar',
id: 0,
row: 0,
column: 14,
columnSpan: 1,
rowSpan: 4,
ledSegments: 16,
ledBitIndex: 0,
},
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 15, 'dsk1-tie', 0x2d, 148),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(1, 16, 'dsk2-tie', 0x2e, 151),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 15, 'dsk1-cut', 0x2f, 154),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(2, 16, 'dsk2-cut', 0x30, 157),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 15, 'dsk1-auto', 0x31, 160),
(0, controlsGenerator_js_1.createRgbButtonDefinition)(3, 16, 'dsk2-auto', 0x32, 163),
];
const atemMicroPanelProperties = {
MODEL: id_js_1.DeviceModelId.AtemMicroPanel,
PRODUCT_NAME: 'Atem Micro Panel',
CONTROLS: (0, controlsGenerator_js_1.freezeDefinitions)(microPanelControls),
};
function AtemMicroPanelFactory(device, options) {
const events = new callback_hook_js_1.CallbackHook();
return new base_js_1.BlackmagicControllerBase(device, options, {
deviceProperties: atemMicroPanelProperties,
events,
properties: new default_js_1.DefaultPropertiesService(device, {
batteryReportId: 6,
firmwareReportId: 1,
serialReportId: 7,
}),
inputService: new default_js_2.DefaultInputService(atemMicroPanelProperties, events, {
buttonReportId: 0x03,
tbarReportId: 0x08,
batteryReportId: 0x06,
}),
led: new default_js_3.DefaultLedService(device, 0x02, 32),
});
}
//# sourceMappingURL=atem-micro-panel.js.map