timeline-state-resolver
Version:
Have timeline, control stuff
36 lines • 1.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ViscaDevice = void 0;
const events_1 = require("events");
const socket_1 = require("./lib/socket");
class ViscaDevice extends events_1.EventEmitter {
constructor(address, port, debug, log) {
super();
this.log = log;
this._address = address;
this._socket = new socket_1.ViscaUdpSocket({ address, port, debug, log });
this._socket.on('connected', () => this.emit('connected'));
this._socket.on('disconnected', () => this.emit('disconnected'));
}
connect() {
this._socket.connect(this._address);
}
disconnect() {
this._socket.disconnect().catch((reason) => this.log?.(reason));
}
get address() {
return this._address;
}
set address(address) {
if (address !== this._address) {
this._socket.disconnect().catch((reason) => this.log?.(reason));
this._address = address;
this._socket.connect(address);
}
}
async sendCommand(command) {
return this._socket.sendCommand(command);
}
}
exports.ViscaDevice = ViscaDevice;
//# sourceMappingURL=visca.js.map