76 lines
3.1 KiB
JavaScript
76 lines
3.1 KiB
JavaScript
exports.__esModule = true;
|
|
var Atem = require('atem-connection').Atem;
|
|
module.exports = function (ActionAPI) {
|
|
ActionAPI.onExecute(function (properties, status) {
|
|
var connectionID = properties.connectionID != undefined ? properties.connectionID : "none";
|
|
var input = properties.input != undefined ? properties.input : "none";
|
|
if (connectionID != 'none') {
|
|
if (input != 'none') {
|
|
var connection = ActionAPI.getConnection('bm_atem', connectionID);
|
|
if (connection && connection.instance) {
|
|
var atem = connection.instance;
|
|
try {
|
|
atem.changeProgramInput(input);
|
|
status("Atem program was set to ".concat(input), 'info');
|
|
}
|
|
catch (error) {
|
|
status("Error whilst setting atem input: ".concat(error), 'error');
|
|
}
|
|
}
|
|
else
|
|
status('Atem is not online', 'error');
|
|
}
|
|
else
|
|
status('No input specified', 'error');
|
|
}
|
|
else
|
|
status('No connection specified', 'error');
|
|
});
|
|
ActionAPI.onOpenEditor(function (EditorAPI, properties) {
|
|
var connectionID = properties.connectionID != undefined ? properties.connectionID : "none";
|
|
var input = properties.input != undefined ? properties.input : "none";
|
|
var connectionField = {
|
|
id: 'connectionID',
|
|
name: "Connection",
|
|
type: "connection",
|
|
connectionType: "bm_atem",
|
|
value: connectionID
|
|
};
|
|
var inputField = {
|
|
id: "input",
|
|
name: "Input",
|
|
type: "select",
|
|
value: input,
|
|
values: [{ id: 'none', text: "None" }]
|
|
};
|
|
var validate = function () {
|
|
if (connectionID != 'none') {
|
|
var connection = ActionAPI.getConnection('bm_atem', connectionID);
|
|
if (connection && connection.instance) {
|
|
var atem = connection.instance;
|
|
var inputs = atem.state.channels;
|
|
var values = [{ id: 'none', text: 'None' }];
|
|
for (var key in inputs)
|
|
values.push({ id: key, text: inputs[key].name });
|
|
inputField.values = values;
|
|
}
|
|
else
|
|
inputField.values = [{ id: 'none', text: 'none' }];
|
|
}
|
|
else
|
|
inputField.values = [{ id: 'none', text: 'none' }];
|
|
EditorAPI.setFields([connectionField, inputField]);
|
|
};
|
|
EditorAPI.onFieldChanges(function (fields) {
|
|
var fieldObject = EditorAPI.tools.objectifyFieldsValues(fields);
|
|
connectionID = fieldObject.connectionID;
|
|
input = fieldObject.input;
|
|
connectionField.value = connectionID;
|
|
inputField.value = input;
|
|
EditorAPI.saveProperties({ connectionID: connectionID, input: input });
|
|
validate();
|
|
});
|
|
validate();
|
|
});
|
|
};
|
|
//# sourceMappingURL=setProgram%20copy.js.map
|