Files
2023-08-29 20:20:38 +02:00

75 lines
2.9 KiB
JavaScript

Object.defineProperty(exports, "__esModule", { value: true });
module.exports = function (ActionAPI) {
ActionAPI.onExecute(function (properties, status, deck) {
var connectionID = properties.connectionID != undefined &&
properties.connectionID.length > 0
? properties.connectionID
: 'none';
var state = properties.state != undefined && properties.state.length > 0
? properties.state
: 'offline';
if (connectionID != 'none') {
var connection = ActionAPI.getConnection('wirecast-bridge', connectionID);
if (connection && connection.instance) {
connection.instance
.setBroadcasting(state == 'live')
.then(function () {
return status("Broadcasting state has been set to ".concat(state));
})
.catch(function (error) { return status(error, 'error'); });
}
}
else
status('No connection specfied', 'error');
});
ActionAPI.onOpenEditor(function (EditorAPI, properties) {
var connectionID = properties.connectionID != undefined &&
properties.connectionID.length > 0
? properties.connectionID
: 'none';
var state = properties.state != undefined && properties.state.length > 0
? properties.state
: 'offline';
var connectionField = {
id: 'connectionID',
name: 'Connection',
value: connectionID,
type: 'connection',
connectionType: 'wirecast-bridge',
};
var stateField = {
id: 'state',
name: 'State',
type: 'select',
value: state,
values: [],
};
if (connectionID != 'none')
stateField.values = [
{ id: 'live', text: 'Live' },
{ id: 'offline', text: 'Offline' },
];
EditorAPI.setFields([connectionField, stateField]);
EditorAPI.onFieldChanges(function (fields) {
var fieldObject = EditorAPI.tools.objectifyFieldsValues(fields);
connectionField.value = fieldObject.connectionID;
stateField.value = fieldObject.state;
if (connectionID != fieldObject.connectionID) {
connectionID = fieldObject.connectionID;
stateField.values =
connectionID != 'none'
? [
{ id: 'live', text: 'Live' },
{ id: 'offline', text: 'Offline' },
]
: [];
EditorAPI.setFields([connectionField, stateField]);
}
EditorAPI.saveProperties({
connectionID: fieldObject.connectionID,
state: fieldObject.state,
});
});
});
};
//# sourceMappingURL=setBroadcasting.js.map