@companion-module/base 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +14 -0
- package/dist/common/osc.d.ts +17 -0
- package/dist/common/osc.d.ts.map +1 -0
- package/dist/common/osc.js +7 -0
- package/dist/common/osc.js.map +1 -0
- package/dist/entrypoint.d.ts +12 -0
- package/dist/entrypoint.d.ts.map +1 -0
- package/dist/entrypoint.js +131 -0
- package/dist/entrypoint.js.map +1 -0
- package/dist/host-api/api.d.ts +212 -0
- package/dist/host-api/api.d.ts.map +1 -0
- package/dist/host-api/api.js +9 -0
- package/dist/host-api/api.js.map +1 -0
- package/dist/host-api/versions.d.ts +7 -0
- package/dist/host-api/versions.d.ts.map +1 -0
- package/dist/host-api/versions.js +5 -0
- package/dist/host-api/versions.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/instance-base.d.ts +12 -0
- package/dist/instance-base.d.ts.map +1 -0
- package/dist/instance-base.js +3 -0
- package/dist/instance-base.js.map +1 -0
- package/dist/internal/base.d.ts +24 -0
- package/dist/internal/base.d.ts.map +1 -0
- package/dist/internal/base.js +57 -0
- package/dist/internal/base.js.map +1 -0
- package/dist/internal/feedback.d.ts +5 -0
- package/dist/internal/feedback.d.ts.map +1 -0
- package/dist/internal/feedback.js +34 -0
- package/dist/internal/feedback.js.map +1 -0
- package/dist/internal/upgrade.d.ts +18 -0
- package/dist/internal/upgrade.d.ts.map +1 -0
- package/dist/internal/upgrade.js +126 -0
- package/dist/internal/upgrade.js.map +1 -0
- package/dist/manifest.d.ts +42 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +9 -0
- package/dist/manifest.js.map +1 -0
- package/dist/module-api/action.d.ts +59 -0
- package/dist/module-api/action.d.ts.map +1 -0
- package/dist/module-api/action.js +3 -0
- package/dist/module-api/action.js.map +1 -0
- package/dist/module-api/base.d.ts +137 -0
- package/dist/module-api/base.d.ts.map +1 -0
- package/dist/module-api/base.js +613 -0
- package/dist/module-api/base.js.map +1 -0
- package/dist/module-api/config.d.ts +12 -0
- package/dist/module-api/config.d.ts.map +1 -0
- package/dist/module-api/config.js +3 -0
- package/dist/module-api/config.js.map +1 -0
- package/dist/module-api/enums.d.ts +21 -0
- package/dist/module-api/enums.d.ts.map +1 -0
- package/dist/module-api/enums.js +20 -0
- package/dist/module-api/enums.js.map +1 -0
- package/dist/module-api/feedback.d.ts +106 -0
- package/dist/module-api/feedback.d.ts.map +1 -0
- package/dist/module-api/feedback.js +3 -0
- package/dist/module-api/feedback.js.map +1 -0
- package/dist/module-api/http.d.ts +17 -0
- package/dist/module-api/http.d.ts.map +1 -0
- package/dist/module-api/http.js +3 -0
- package/dist/module-api/http.js.map +1 -0
- package/dist/module-api/index.d.ts +10 -0
- package/dist/module-api/index.d.ts.map +1 -0
- package/dist/module-api/index.js +13 -0
- package/dist/module-api/index.js.map +1 -0
- package/dist/module-api/input.d.ts +136 -0
- package/dist/module-api/input.d.ts.map +1 -0
- package/dist/module-api/input.js +3 -0
- package/dist/module-api/input.js.map +1 -0
- package/dist/module-api/preset.d.ts +102 -0
- package/dist/module-api/preset.d.ts.map +1 -0
- package/dist/module-api/preset.js +3 -0
- package/dist/module-api/preset.js.map +1 -0
- package/dist/module-api/style.d.ts +20 -0
- package/dist/module-api/style.d.ts.map +1 -0
- package/dist/module-api/style.js +3 -0
- package/dist/module-api/style.js.map +1 -0
- package/dist/module-api/upgrade.d.ts +95 -0
- package/dist/module-api/upgrade.d.ts.map +1 -0
- package/dist/module-api/upgrade.js +56 -0
- package/dist/module-api/upgrade.js.map +1 -0
- package/dist/module-api/variable.d.ts +18 -0
- package/dist/module-api/variable.d.ts.map +1 -0
- package/dist/module-api/variable.js +3 -0
- package/dist/module-api/variable.js.map +1 -0
- package/dist/util.d.ts +12 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +37 -0
- package/dist/util.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,613 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _InstanceBase_socket, _InstanceBase_upgradeScripts, _InstanceBase_lifecycleQueue, _InstanceBase_initialized, _InstanceBase_actionDefinitions, _InstanceBase_feedbackDefinitions, _InstanceBase_variableDefinitions, _InstanceBase_feedbackInstances, _InstanceBase_actionInstances, _InstanceBase_variableValues;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InstanceBase = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const util_js_1 = require("../util.js");
|
|
7
|
+
const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
|
|
8
|
+
const base_js_1 = require("../internal/base.js");
|
|
9
|
+
const upgrade_js_1 = require("../internal/upgrade.js");
|
|
10
|
+
const feedback_js_1 = require("../internal/feedback.js");
|
|
11
|
+
class InstanceBase {
|
|
12
|
+
/**
|
|
13
|
+
* Create an instance of the module.
|
|
14
|
+
*/
|
|
15
|
+
constructor(internal) {
|
|
16
|
+
_InstanceBase_socket.set(this, void 0);
|
|
17
|
+
_InstanceBase_upgradeScripts.set(this, void 0);
|
|
18
|
+
_InstanceBase_lifecycleQueue.set(this, new p_queue_1.default({ concurrency: 1 }));
|
|
19
|
+
_InstanceBase_initialized.set(this, false);
|
|
20
|
+
_InstanceBase_actionDefinitions.set(this, new Map());
|
|
21
|
+
_InstanceBase_feedbackDefinitions.set(this, new Map());
|
|
22
|
+
_InstanceBase_variableDefinitions.set(this, new Map());
|
|
23
|
+
_InstanceBase_feedbackInstances.set(this, new Map());
|
|
24
|
+
_InstanceBase_actionInstances.set(this, new Map());
|
|
25
|
+
_InstanceBase_variableValues.set(this, new Map()
|
|
26
|
+
/**
|
|
27
|
+
* Create an instance of the module.
|
|
28
|
+
*/
|
|
29
|
+
);
|
|
30
|
+
if (!(0, base_js_1.isInstanceBaseProps)(internal) || !internal.socket.connected)
|
|
31
|
+
throw new Error(`Module instance is being constructed incorrectly. Make sure you aren't trying to do this manually`);
|
|
32
|
+
tslib_1.__classPrivateFieldSet(this, _InstanceBase_socket, internal.socket, "f");
|
|
33
|
+
tslib_1.__classPrivateFieldSet(this, _InstanceBase_upgradeScripts, internal.upgradeScripts, "f");
|
|
34
|
+
this.id = internal.id;
|
|
35
|
+
// subscribe to socket events from host
|
|
36
|
+
(0, base_js_1.listenToEvents)(tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f"), {
|
|
37
|
+
init: this._handleInit.bind(this),
|
|
38
|
+
destroy: this._handleDestroy.bind(this),
|
|
39
|
+
updateConfig: this._handleConfigUpdate.bind(this),
|
|
40
|
+
executeAction: this._handleExecuteAction.bind(this),
|
|
41
|
+
updateFeedbacks: this._handleUpdateFeedbacks.bind(this),
|
|
42
|
+
updateActions: this._handleUpdateActions.bind(this),
|
|
43
|
+
getConfigFields: this._handleGetConfigFields.bind(this),
|
|
44
|
+
handleHttpRequest: this._handleHttpRequest.bind(this),
|
|
45
|
+
learnAction: this._handleLearnAction.bind(this),
|
|
46
|
+
learnFeedback: this._handleLearnFeedback.bind(this),
|
|
47
|
+
});
|
|
48
|
+
this.log('debug', 'Initializing');
|
|
49
|
+
}
|
|
50
|
+
async _socketEmit(name, msg) {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
const innerCb = (err, res) => {
|
|
53
|
+
if (err)
|
|
54
|
+
reject(err);
|
|
55
|
+
else
|
|
56
|
+
resolve(res);
|
|
57
|
+
};
|
|
58
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_socket, "f").emit(name, msg, innerCb);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async _handleInit(msg) {
|
|
62
|
+
return tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
|
|
63
|
+
if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
|
|
64
|
+
throw new Error('Already initialized');
|
|
65
|
+
const actions = msg.actions;
|
|
66
|
+
const feedbacks = msg.feedbacks;
|
|
67
|
+
/**
|
|
68
|
+
* Performing upgrades during init requires a fair chunk of work.
|
|
69
|
+
* Some actions/feedbacks will be using the upgradeIndex of the instance, but some may have their own upgradeIndex on themselves if they are from an import.
|
|
70
|
+
*/
|
|
71
|
+
const { updatedActions, updatedFeedbacks, updatedConfig } = (0, upgrade_js_1.runThroughUpgradeScripts)(actions, feedbacks, msg.lastUpgradeIndex, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), msg.config);
|
|
72
|
+
const config = (updatedConfig ?? msg.config);
|
|
73
|
+
// Send the upgraded data back to companion now. Just so that if the init crashes, this doesnt have to be repeated
|
|
74
|
+
const pSendUpgrade = this._socketEmit('upgradedItems', {
|
|
75
|
+
updatedActions,
|
|
76
|
+
updatedFeedbacks,
|
|
77
|
+
});
|
|
78
|
+
// Now we can initialise the module
|
|
79
|
+
try {
|
|
80
|
+
await this.init(config);
|
|
81
|
+
tslib_1.__classPrivateFieldSet(this, _InstanceBase_initialized, true, "f");
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
console.trace(`Init failed: ${e}`);
|
|
85
|
+
throw e;
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
// Only now do we need to await the upgrade
|
|
89
|
+
await pSendUpgrade;
|
|
90
|
+
}
|
|
91
|
+
setImmediate(() => {
|
|
92
|
+
// Subscribe all of the actions and feedbacks
|
|
93
|
+
this._handleUpdateActions({ actions }, true);
|
|
94
|
+
this._handleUpdateFeedbacks({ feedbacks }, true);
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
hasHttpHandler: typeof this.handleHttpRequest === 'function',
|
|
98
|
+
newUpgradeIndex: tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f").length,
|
|
99
|
+
updatedConfig: config,
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
async _handleDestroy() {
|
|
104
|
+
await tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
|
|
105
|
+
if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
|
|
106
|
+
throw new Error('Not initialized');
|
|
107
|
+
await this.destroy();
|
|
108
|
+
tslib_1.__classPrivateFieldSet(this, _InstanceBase_initialized, false, "f");
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async _handleConfigUpdate(config) {
|
|
112
|
+
await tslib_1.__classPrivateFieldGet(this, _InstanceBase_lifecycleQueue, "f").add(async () => {
|
|
113
|
+
if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_initialized, "f"))
|
|
114
|
+
throw new Error('Not initialized');
|
|
115
|
+
await this.configUpdated(config);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
async _handleExecuteAction(msg) {
|
|
119
|
+
const actionDefinition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(msg.action.actionId);
|
|
120
|
+
if (!actionDefinition)
|
|
121
|
+
throw new Error(`Unknown action: ${msg.action.actionId}`);
|
|
122
|
+
await actionDefinition.callback({
|
|
123
|
+
id: msg.action.id,
|
|
124
|
+
actionId: msg.action.actionId,
|
|
125
|
+
controlId: msg.action.controlId,
|
|
126
|
+
options: msg.action.options,
|
|
127
|
+
_deviceId: msg.deviceId,
|
|
128
|
+
_page: msg.action.page,
|
|
129
|
+
_bank: msg.action.bank,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async _handleUpdateFeedbacks(msg, skipUpgrades) {
|
|
133
|
+
const newValues = [];
|
|
134
|
+
// Run through upgrade scripts if needed
|
|
135
|
+
if (!skipUpgrades) {
|
|
136
|
+
(0, upgrade_js_1.runThroughUpgradeScripts)({}, msg.feedbacks, null, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), undefined);
|
|
137
|
+
}
|
|
138
|
+
for (const [id, feedback] of Object.entries(msg.feedbacks)) {
|
|
139
|
+
const existing = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").get(id);
|
|
140
|
+
const feedbackId = existing?.feedbackId ?? feedback?.feedbackId;
|
|
141
|
+
const definition = feedbackId ? tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedbackId) : null;
|
|
142
|
+
if (existing) {
|
|
143
|
+
// Call unsubscribe
|
|
144
|
+
if (definition?.unsubscribe) {
|
|
145
|
+
try {
|
|
146
|
+
definition.unsubscribe((0, feedback_js_1.convertFeedbackInstanceToEvent)(definition.type, existing));
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
console.error(`Feedback unsubscribe failed: ${JSON.stringify(existing)} - ${e?.message ?? e} ${e?.stack}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (!feedback) {
|
|
154
|
+
// Deleted
|
|
155
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").delete(id);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// TODO module-lib - deep freeze the feedback to avoid mutation?
|
|
159
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").set(id, feedback);
|
|
160
|
+
// Inserted or updated
|
|
161
|
+
if (definition?.subscribe) {
|
|
162
|
+
try {
|
|
163
|
+
definition.subscribe((0, feedback_js_1.convertFeedbackInstanceToEvent)(definition.type, feedback));
|
|
164
|
+
}
|
|
165
|
+
catch (e) {
|
|
166
|
+
console.error(`Feedback subscribe failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Calculate the new value for the feedback
|
|
170
|
+
if (definition) {
|
|
171
|
+
let value;
|
|
172
|
+
try {
|
|
173
|
+
value = (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback);
|
|
174
|
+
}
|
|
175
|
+
catch (e) {
|
|
176
|
+
console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
|
|
177
|
+
}
|
|
178
|
+
newValues.push({
|
|
179
|
+
id: id,
|
|
180
|
+
controlId: feedback.controlId,
|
|
181
|
+
value: value,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Send the new values back
|
|
187
|
+
if (Object.keys(newValues).length > 0) {
|
|
188
|
+
await this._socketEmit('updateFeedbackValues', {
|
|
189
|
+
values: newValues,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
async _handleUpdateActions(msg, skipUpgrades) {
|
|
194
|
+
// Run through upgrade scripts if needed
|
|
195
|
+
if (!skipUpgrades) {
|
|
196
|
+
// const pendingUpgrades = Object.values(msg.actions).filter((act) => typeof act?.upgradeIndex === 'number')
|
|
197
|
+
// if (pendingUpgrades.length > 0) {
|
|
198
|
+
// //
|
|
199
|
+
// }
|
|
200
|
+
(0, upgrade_js_1.runThroughUpgradeScripts)(msg.actions, {}, null, tslib_1.__classPrivateFieldGet(this, _InstanceBase_upgradeScripts, "f"), undefined);
|
|
201
|
+
}
|
|
202
|
+
for (const [id, action] of Object.entries(msg.actions)) {
|
|
203
|
+
const existing = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").get(id);
|
|
204
|
+
const definition = existing && tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(existing.actionId);
|
|
205
|
+
if (existing) {
|
|
206
|
+
// Call unsubscribe
|
|
207
|
+
if (definition?.unsubscribe) {
|
|
208
|
+
try {
|
|
209
|
+
definition.unsubscribe(existing);
|
|
210
|
+
}
|
|
211
|
+
catch (e) {
|
|
212
|
+
console.error(`Action unsubscribe failed: ${JSON.stringify(existing)} - ${e?.message ?? e} ${e?.stack}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (!action) {
|
|
217
|
+
// Deleted
|
|
218
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").delete(id);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
// TODO module-lib - deep freeze the action to avoid mutation?
|
|
222
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").set(id, action);
|
|
223
|
+
// Inserted or updated
|
|
224
|
+
if (definition?.subscribe) {
|
|
225
|
+
try {
|
|
226
|
+
definition.subscribe(action);
|
|
227
|
+
}
|
|
228
|
+
catch (e) {
|
|
229
|
+
console.error(`Action subscribe failed: ${JSON.stringify(action)} - ${e?.message ?? e} ${e?.stack}`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
async _handleGetConfigFields(_msg) {
|
|
236
|
+
return {
|
|
237
|
+
fields: (0, base_js_1.serializeIsVisibleFn)(this.getConfigFields()),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
async _handleHttpRequest(msg) {
|
|
241
|
+
if (!this.handleHttpRequest)
|
|
242
|
+
throw new Error(`handleHttpRequest is not supported!`);
|
|
243
|
+
const res = await this.handleHttpRequest(msg.request);
|
|
244
|
+
return { response: res };
|
|
245
|
+
}
|
|
246
|
+
async _handleLearnAction(msg) {
|
|
247
|
+
const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(msg.action.actionId);
|
|
248
|
+
if (definition && definition.learn) {
|
|
249
|
+
const newOptions = await definition.learn({
|
|
250
|
+
id: msg.action.id,
|
|
251
|
+
actionId: msg.action.actionId,
|
|
252
|
+
controlId: msg.action.controlId,
|
|
253
|
+
options: msg.action.options,
|
|
254
|
+
_deviceId: undefined,
|
|
255
|
+
_page: msg.action.page,
|
|
256
|
+
_bank: msg.action.bank,
|
|
257
|
+
});
|
|
258
|
+
return {
|
|
259
|
+
options: newOptions,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
// Not supported
|
|
264
|
+
return {
|
|
265
|
+
options: undefined,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
async _handleLearnFeedback(msg) {
|
|
270
|
+
const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(msg.feedback.feedbackId);
|
|
271
|
+
if (definition && definition.learn) {
|
|
272
|
+
const newOptions = await definition.learn({
|
|
273
|
+
id: msg.feedback.id,
|
|
274
|
+
feedbackId: msg.feedback.feedbackId,
|
|
275
|
+
controlId: msg.feedback.controlId,
|
|
276
|
+
options: msg.feedback.options,
|
|
277
|
+
type: definition.type,
|
|
278
|
+
});
|
|
279
|
+
return {
|
|
280
|
+
options: newOptions,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
// Not supported
|
|
285
|
+
return {
|
|
286
|
+
options: undefined,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Save an updated configuration object
|
|
292
|
+
* @param newConfig The new config object
|
|
293
|
+
*/
|
|
294
|
+
async saveConfig(newConfig) {
|
|
295
|
+
return this._socketEmit('saveConfig', { config: newConfig });
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Set the action definitions for this instance
|
|
299
|
+
* @param actions The action definitions
|
|
300
|
+
*/
|
|
301
|
+
setActionDefinitions(actions) {
|
|
302
|
+
const hostActions = [];
|
|
303
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").clear();
|
|
304
|
+
for (const [actionId, action] of Object.entries(actions)) {
|
|
305
|
+
if (action) {
|
|
306
|
+
hostActions.push({
|
|
307
|
+
id: actionId,
|
|
308
|
+
name: action.name,
|
|
309
|
+
description: action.description,
|
|
310
|
+
options: (0, base_js_1.serializeIsVisibleFn)(action.options),
|
|
311
|
+
hasLearn: !!action.learn,
|
|
312
|
+
});
|
|
313
|
+
// Remember the definition locally
|
|
314
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").set(actionId, action);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return this._socketEmit('setActionDefinitions', { actions: hostActions });
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Set the feedback definitions for this instance
|
|
321
|
+
* @param feedbacks The feedback definitions
|
|
322
|
+
*/
|
|
323
|
+
setFeedbackDefinitions(feedbacks) {
|
|
324
|
+
const hostFeedbacks = [];
|
|
325
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").clear();
|
|
326
|
+
for (const [feedbackId, feedback] of Object.entries(feedbacks)) {
|
|
327
|
+
if (feedback) {
|
|
328
|
+
hostFeedbacks.push({
|
|
329
|
+
id: feedbackId,
|
|
330
|
+
name: feedback.name,
|
|
331
|
+
description: feedback.description,
|
|
332
|
+
options: (0, base_js_1.serializeIsVisibleFn)(feedback.options),
|
|
333
|
+
type: feedback.type,
|
|
334
|
+
defaultStyle: 'defaultStyle' in feedback ? feedback.defaultStyle : undefined,
|
|
335
|
+
hasLearn: !!feedback.learn,
|
|
336
|
+
});
|
|
337
|
+
// Remember the definition locally
|
|
338
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").set(feedbackId, feedback);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return this._socketEmit('setFeedbackDefinitions', { feedbacks: hostFeedbacks });
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Set the peset definitions for this instance
|
|
345
|
+
* @param presets The preset definitions
|
|
346
|
+
*/
|
|
347
|
+
setPresetDefinitions(presets) {
|
|
348
|
+
const hostPresets = [];
|
|
349
|
+
for (const [id, preset] of Object.entries(presets)) {
|
|
350
|
+
if (preset) {
|
|
351
|
+
hostPresets.push({
|
|
352
|
+
...preset,
|
|
353
|
+
id,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return this._socketEmit('setPresetDefinitions', { presets: hostPresets });
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Set the variable definitions for this instance
|
|
361
|
+
* @param variables The variable definitions
|
|
362
|
+
*/
|
|
363
|
+
setVariableDefinitions(variables) {
|
|
364
|
+
const hostVariables = [];
|
|
365
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").clear();
|
|
366
|
+
for (const variable of variables) {
|
|
367
|
+
hostVariables.push({
|
|
368
|
+
id: variable.variableId,
|
|
369
|
+
name: variable.name,
|
|
370
|
+
});
|
|
371
|
+
// Remember the definition locally
|
|
372
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").set(variable.variableId, variable);
|
|
373
|
+
if (!tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").has(variable.variableId)) {
|
|
374
|
+
// Give us a local cached value of something
|
|
375
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").set(variable.variableId, '');
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
const validIds = new Set(tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").keys());
|
|
379
|
+
for (const id of tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").keys()) {
|
|
380
|
+
if (!validIds.has(id)) {
|
|
381
|
+
// Delete any local cached value
|
|
382
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").delete(id);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return this._socketEmit('setVariableDefinitions', { variables: hostVariables });
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Set the values of some variables
|
|
389
|
+
* @param values The new values for the variables
|
|
390
|
+
*/
|
|
391
|
+
setVariableValues(values) {
|
|
392
|
+
const hostValues = [];
|
|
393
|
+
for (const [variableId, value] of Object.entries(values)) {
|
|
394
|
+
if (tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableDefinitions, "f").has(variableId)) {
|
|
395
|
+
// update the cached value
|
|
396
|
+
tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").set(variableId, value ?? '');
|
|
397
|
+
hostValues.push({
|
|
398
|
+
id: variableId,
|
|
399
|
+
value: value ?? '',
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
// tell companion to delete the value
|
|
404
|
+
hostValues.push({
|
|
405
|
+
id: variableId,
|
|
406
|
+
value: undefined,
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return this._socketEmit('setVariableValues', { newValues: hostValues });
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Get the last set value of a variable from this connection
|
|
414
|
+
* @param variableId id of the variable
|
|
415
|
+
* @returns The value
|
|
416
|
+
*/
|
|
417
|
+
getVariableValue(variableId) {
|
|
418
|
+
return tslib_1.__classPrivateFieldGet(this, _InstanceBase_variableValues, "f").get(variableId);
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Parse and replace all the variables in a string
|
|
422
|
+
* @param text The text to parse
|
|
423
|
+
* @returns The string with variables replaced with their values
|
|
424
|
+
*/
|
|
425
|
+
async parseVariablesInString(text) {
|
|
426
|
+
const res = await this._socketEmit('parseVariablesInString', { text: text });
|
|
427
|
+
return res.text;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Request all feedbacks of the specified types to be checked for changes
|
|
431
|
+
* @param feedbackTypes The feedback types to check
|
|
432
|
+
*/
|
|
433
|
+
async checkFeedbacks(...feedbackTypes) {
|
|
434
|
+
const newValues = [];
|
|
435
|
+
const types = new Set(feedbackTypes);
|
|
436
|
+
for (const [id, feedback] of tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").entries()) {
|
|
437
|
+
const definition = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedback.feedbackId);
|
|
438
|
+
if (definition) {
|
|
439
|
+
if (types.size > 0 && !types.has(feedback.feedbackId)) {
|
|
440
|
+
// Not to be considered
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
443
|
+
try {
|
|
444
|
+
// Calculate the new value for the feedback
|
|
445
|
+
newValues.push({
|
|
446
|
+
id: id,
|
|
447
|
+
controlId: feedback.controlId,
|
|
448
|
+
value: (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback),
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
catch (e) {
|
|
452
|
+
console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
// Send the new values back
|
|
457
|
+
if (Object.keys(newValues).length > 0) {
|
|
458
|
+
await this._socketEmit('updateFeedbackValues', {
|
|
459
|
+
values: newValues,
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Request the specified feedback instances to be checked for changes
|
|
465
|
+
* @param feedbackIds The ids of the feedback instances to check
|
|
466
|
+
*/
|
|
467
|
+
async checkFeedbacksById(...feedbackIds) {
|
|
468
|
+
const newValues = [];
|
|
469
|
+
for (const id of feedbackIds) {
|
|
470
|
+
const feedback = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").get(id);
|
|
471
|
+
const definition = feedback && tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(feedback.feedbackId);
|
|
472
|
+
if (feedback && definition) {
|
|
473
|
+
try {
|
|
474
|
+
// Calculate the new value for the feedback
|
|
475
|
+
newValues.push({
|
|
476
|
+
id: id,
|
|
477
|
+
controlId: feedback.controlId,
|
|
478
|
+
value: (0, feedback_js_1.callFeedbackOnDefinition)(definition, feedback),
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
catch (e) {
|
|
482
|
+
console.error(`Feedback check failed: ${JSON.stringify(feedback)} - ${e?.message ?? e} ${e?.stack}`);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
// Send the new values back
|
|
487
|
+
if (Object.keys(newValues).length > 0) {
|
|
488
|
+
await this._socketEmit('updateFeedbackValues', {
|
|
489
|
+
values: newValues,
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
/** @deprecated ? */
|
|
494
|
+
_getAllActions() {
|
|
495
|
+
return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionInstances, "f").values());
|
|
496
|
+
}
|
|
497
|
+
/** @deprecated ? */
|
|
498
|
+
_subscribeActions(actionId) {
|
|
499
|
+
let actions = this._getAllActions();
|
|
500
|
+
if (actionId)
|
|
501
|
+
actions = actions.filter((fb) => fb.actionId === actionId);
|
|
502
|
+
for (const act of actions) {
|
|
503
|
+
const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
|
|
504
|
+
if (def && def.subscribe) {
|
|
505
|
+
def.subscribe({
|
|
506
|
+
id: act.id,
|
|
507
|
+
actionId: act.actionId,
|
|
508
|
+
controlId: act.controlId,
|
|
509
|
+
options: act.options,
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
/** @deprecated ? */
|
|
515
|
+
_unsubscribeActions(actionId) {
|
|
516
|
+
let actions = this._getAllActions();
|
|
517
|
+
if (actionId)
|
|
518
|
+
actions = actions.filter((fb) => fb.actionId === actionId);
|
|
519
|
+
for (const act of actions) {
|
|
520
|
+
const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_actionDefinitions, "f").get(act.actionId);
|
|
521
|
+
if (def && def.unsubscribe) {
|
|
522
|
+
def.unsubscribe({
|
|
523
|
+
id: act.id,
|
|
524
|
+
actionId: act.actionId,
|
|
525
|
+
controlId: act.controlId,
|
|
526
|
+
options: act.options,
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/** @deprecated ? */
|
|
532
|
+
_getAllFeedbacks() {
|
|
533
|
+
return Array.from(tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackInstances, "f").values());
|
|
534
|
+
}
|
|
535
|
+
/** @deprecated ? */
|
|
536
|
+
_subscribeFeedbacks(feedbackId) {
|
|
537
|
+
let feedbacks = this._getAllFeedbacks();
|
|
538
|
+
if (feedbackId)
|
|
539
|
+
feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
|
|
540
|
+
for (const fb of feedbacks) {
|
|
541
|
+
const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
|
|
542
|
+
if (def && def.subscribe) {
|
|
543
|
+
def.subscribe({
|
|
544
|
+
type: def.type,
|
|
545
|
+
id: fb.id,
|
|
546
|
+
feedbackId: fb.feedbackId,
|
|
547
|
+
controlId: fb.controlId,
|
|
548
|
+
options: fb.options,
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
/** @deprecated ? */
|
|
554
|
+
_unsubscribeFeedbacks(feedbackId) {
|
|
555
|
+
let feedbacks = this._getAllFeedbacks();
|
|
556
|
+
if (feedbackId)
|
|
557
|
+
feedbacks = feedbacks.filter((fb) => fb.feedbackId === feedbackId);
|
|
558
|
+
for (const fb of feedbacks) {
|
|
559
|
+
const def = tslib_1.__classPrivateFieldGet(this, _InstanceBase_feedbackDefinitions, "f").get(fb.feedbackId);
|
|
560
|
+
if (def && def.unsubscribe) {
|
|
561
|
+
def.unsubscribe({
|
|
562
|
+
type: def.type,
|
|
563
|
+
id: fb.id,
|
|
564
|
+
feedbackId: fb.feedbackId,
|
|
565
|
+
controlId: fb.controlId,
|
|
566
|
+
options: fb.options,
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Send an osc message from the system osc sender
|
|
573
|
+
* @param host destination ip address
|
|
574
|
+
* @param port destination port number
|
|
575
|
+
* @param path message path
|
|
576
|
+
* @param args mesage arguments
|
|
577
|
+
*/
|
|
578
|
+
async oscSend(host, port, path, args) {
|
|
579
|
+
return this._socketEmit('send-osc', (0, util_js_1.literal)({
|
|
580
|
+
host,
|
|
581
|
+
port,
|
|
582
|
+
path,
|
|
583
|
+
args,
|
|
584
|
+
}));
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Update the status of this connection
|
|
588
|
+
* @param status The status level
|
|
589
|
+
* @param message Additional information about the status
|
|
590
|
+
*/
|
|
591
|
+
async updateStatus(status, message) {
|
|
592
|
+
this._socketEmit('set-status', (0, util_js_1.literal)({
|
|
593
|
+
status,
|
|
594
|
+
message: message ?? null,
|
|
595
|
+
}));
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Write a line to the log
|
|
599
|
+
* @param level The level of the message
|
|
600
|
+
* @param message The message text to write
|
|
601
|
+
*/
|
|
602
|
+
log(level, message) {
|
|
603
|
+
this._socketEmit('log-message', (0, util_js_1.literal)({
|
|
604
|
+
level,
|
|
605
|
+
message,
|
|
606
|
+
})).catch((e) => {
|
|
607
|
+
console.error(`log failed: ${e}`);
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
exports.InstanceBase = InstanceBase;
|
|
612
|
+
_InstanceBase_socket = new WeakMap(), _InstanceBase_upgradeScripts = new WeakMap(), _InstanceBase_lifecycleQueue = new WeakMap(), _InstanceBase_initialized = new WeakMap(), _InstanceBase_actionDefinitions = new WeakMap(), _InstanceBase_feedbackDefinitions = new WeakMap(), _InstanceBase_variableDefinitions = new WeakMap(), _InstanceBase_feedbackInstances = new WeakMap(), _InstanceBase_actionInstances = new WeakMap(), _InstanceBase_variableValues = new WeakMap();
|
|
613
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/module-api/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CompanionInputFieldBase, SomeCompanionInputField } from './input.js';
|
|
2
|
+
/**
|
|
3
|
+
* A configuration input field
|
|
4
|
+
*/
|
|
5
|
+
export interface CompanionConfigField extends CompanionInputFieldBase {
|
|
6
|
+
width: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Some configuration input field
|
|
10
|
+
*/
|
|
11
|
+
export declare type SomeCompanionConfigField = SomeCompanionInputField & CompanionConfigField;
|
|
12
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/module-api/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE7E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACpE,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,oBAAY,wBAAwB,GAAG,uBAAuB,GAAG,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/module-api/config.ts"],"names":[],"mappings":""}
|