forked from node-dmx/dmx
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdmx.js
More file actions
38 lines (28 loc) · 1.01 KB
/
dmx.js
File metadata and controls
38 lines (28 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"use strict"
var util = require('util')
var EventEmitter = require('events').EventEmitter
function DMX() {
this.universes = {}
this.drivers = {}
this.registerDriver('null', require('./drivers/null'))
this.registerDriver('enttec-usb-dmx-pro', require('./drivers/enttec-usb-dmx-pro'))
this.registerDriver('enttec-open-usb-dmx', require('./drivers/enttec-open-usb-dmx'))
}
util.inherits(DMX, EventEmitter)
DMX.devices = require('./devices')
DMX.Animation = require('./anim')
DMX.prototype.registerDriver = function(name, module) {
this.drivers[name] = module
}
DMX.prototype.addUniverse = function(name, driver, device_id) {
return this.universes[name] = new this.drivers[driver](device_id)
}
DMX.prototype.update = function(universe, channels) {
this.universes[universe].update(channels)
this.emit('update', universe, channels)
}
DMX.prototype.updateAll = function(universe, value) {
this.universes[universe].updateAll(value)
this.emit('updateAll', universe, value)
}
module.exports = DMX